Commit Graph

1201 Commits

Author SHA1 Message Date
Matthew Heon
2724434369 Add 'podman restart' command
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>

Closes: #503
Approved by: rhatdan
2018-03-16 13:55:49 +00:00
Matthew Heon
8840b92da6 Remove ability to specify mount label when mounting
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>

Closes: #506
Approved by: rhatdan
2018-03-16 13:35:23 +00:00
Matthew Heon
cd73a6904d Add signal proxying to podman run, start, and attach
Also removes sig-proxy from 'podman create', where is does not
make sense.

Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
2018-03-15 16:00:20 -04:00
Daniel J Walsh
647fedc2a2 We should not allow a user to mount a container with a different label
We need to get the label from the container and mount with it.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>

Closes: #502
Approved by: mheon
2018-03-15 19:08:54 +00:00
Daniel J Walsh
4bc166446d We should not have a default workdir
Having a default workdir is causing us not to use the
container images workdir.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>

Closes: #501
Approved by: mheon
2018-03-15 18:24:37 +00:00
Matthew Heon
55f2f58145 Add StartAndAttach() API endpoint for containers
This solves our prior problems with attach races by ensuring the
order is correct.

Also contains substantial cleanups to the attach code.

Signed-off-by: Matthew Heon <matthew.heon@gmail.com>

Closes: #482
Approved by: baude
2018-03-15 17:45:11 +00:00
Matthew Heon
4739fc2d98 Add test. Move attach code in start back
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>

Closes: #482
Approved by: baude
2018-03-15 17:45:11 +00:00
Matthew Heon
02a26c2934 Implement container restarting
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>

Closes: #482
Approved by: baude
2018-03-15 17:45:11 +00:00
baude
b85b217f55 Stage3 Image Library
This represents the stage3 implementation for the image library.  At this point, we
are moving the image-centric functions to pkg/image including migration of args and
object-oriented references.  This is a not a one-for-one migration of funcs and some
funcs will need to continue to reside in runtime_img as they are overly specific to
libpod and probably not useful to others.

Signed-off-by: baude <bbaude@redhat.com>

Closes: #484
Approved by: baude
2018-03-14 20:21:31 +00:00
baude
bc358eb396 Include tmpfs in inspect
Other container runtimes include the tmpfs mount points in their inspect
output.  Podman should as well.  It is under hostconfig.

Resolves: #483

Signed-off-by: baude <bbaude@redhat.com>

Closes: #488
Approved by: rhatdan
2018-03-14 17:14:07 +00:00
Valentin Rothberg
9b2f81b07b podman-images: return correct image list
Return and print the correct list of images by adding all specified
RepoTags to one image object, and priting them separately in
repository:repotag pairs.

Signed-off-by: Valentin Rothberg <vrothberg@suse.com>

Closes: #477
Approved by: rhatdan
2018-03-14 14:01:53 +00:00
Matthew Heon
7516dfd8c5 Fix a potential race around container removal in ps
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>

Closes: #467
Approved by: baude
2018-03-09 02:14:12 +00:00
baude
984dfecb2c podman ps command string too long
The default outout for podman ps should limit itself if the command is long. If the command
is more than 20 characters, we truncate the command and add an elipses to it.

Resolves: #464

Signed-off-by: baude <bbaude@redhat.com>

Closes: #466
Approved by: rhatdan
2018-03-09 01:45:51 +00:00
baude
4344639508 podman import, load, and commit are too verbose
The progress should not be show for import, load, and commit.  It makes machine
parsing of the output much more difficult.  Also, each command should output an
image ID or name for the user.

Added a --verbose flag for users that still want to see progress.

Resolves issue #450

Signed-off-by: baude <bbaude@redhat.com>

Closes: #456
Approved by: rhatdan
2018-03-07 20:59:11 +00:00
TomSweeneyRedHat
042139673e Add buildah bud options from common.go
Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>

Closes: #453
Approved by: rhatdan
2018-03-06 23:55:46 +00:00
Matthew Heon
497190db1b Adjust podman logs error message for clarity
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>

Closes: #441
Approved by: rhatdan
2018-03-02 19:58:15 +00:00
baude
0c4a276a04 podman logs -f: does not detect container stop or rm
If a container stops, we should stop the logging capability and
gracefully exit. However, if the container pauses, we should allow
the log to continue.

Resolves issue: #435
Signed-off-by: baude <bbaude@redhat.com>

Closes: #437
Approved by: baude
2018-03-02 15:51:58 +00:00
Matthew Heon
546463964e Fix issue with podman logs on fresh containers
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>

Closes: #434
Approved by: baude
2018-03-01 23:25:41 +00:00
Seth Jennings
afbb2a7f23 remove build alias
Signed-off-by: Seth Jennings <sjenning@redhat.com>

Closes: #413
Approved by: mheon
2018-02-27 22:32:56 +00:00
baude
6cb1c31d3f Restrict top output to container's pids only
Due to the way ps arguments work, it was possible to display pids
that dont below to the container in top output. We now filter pids
that dont belong to the container out of the output.  This also means
the pid column must be present in the output or we throw an error.

This resolves issue #391
Signed-off-by: baude <bbaude@redhat.com>

Closes: #400
Approved by: rhatdan
2018-02-26 23:41:47 +00:00
baude
f47a5be60d ps displays incorrect exit code
The exit code should be derived in the batch operation and pulled
from the batchinfo struct.

Resolves issue #407

Signed-off-by: baude <bbaude@redhat.com>

Closes: #408
Approved by: rhatdan
2018-02-26 23:18:36 +00:00
baude
b351b12e27 Tagging an image alias by shortname
When trying to tag an alias (tag) of an image using only the shortname
and no tag, we were unable to find the image in storage.  This corrects
that issue and adds an integration test to protect against regression. I
also updated the man page per the filed issue.

While writing the integration test, I discovered that inspect could also
not find a tagged image without its :tag.

Resolves Issue #385
Resolves Issue #384

Signed-off-by: baude <bbaude@redhat.com>

Closes: #398
Approved by: mheon
2018-02-26 18:28:54 +00:00
baude
5e7979f016 Address review comments
Review comments to delete WithNoNew function and its append.

Signed-off-by: baude <bbaude@redhat.com>

Closes: #369
Approved by: rhatdan
2018-02-24 09:15:47 +00:00
Daniel J Walsh
831dc48883 Add support for --no-new-privs
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>

Closes: #369
Approved by: rhatdan
2018-02-24 09:15:47 +00:00
baude
e97ca5bd38 podman ps json output use batched ops
The podman ps command for non-json targets has the ability to use a "batched" function
which limits the use of locks needed.  The collection of output for JSON should use
this too.

Signed-off-by: baude <bbaude@redhat.com>

Closes: #380
Approved by: rhatdan
2018-02-23 17:56:51 +00:00
Matthew Heon
89110f682d Add accessors to all container config and state fields
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>

Closes: #381
Approved by: rhatdan
2018-02-22 19:59:54 +00:00
umohnani8
3d395767d8 Implement --image-volumes for create and run
--image-volumes tells podman what to do with the image volumes in the image config
There are 3 options: bind, tmpfs, and ignore
bind puts the volume contents in /var/lib/containers/storage/container-id/volumes/vol-dir
and bind mounts it into the container at /vol-dir
tmpfs mounts /vol-dir as a tmps into the container
ignore doesn't mount the image volumes onto the container

Signed-off-by: umohnani8 <umohnani@redhat.com>

Closes: #377
Approved by: rhatdan
2018-02-22 15:14:00 +00:00
Jhon Honce
b8d1ce03a1 Add tests and cleanup
- Added run_cgroup_parent_test.go
- Cleaned up calls to logrus

Signed-off-by: Jhon Honce <jhonce@redhat.com>

Closes: #370
Approved by: rhatdan
2018-02-22 12:39:08 +00:00
Jhon Honce
a58e9f7cee Push up createConfig.CgroupParent processing to parent
Signed-off-by: Jhon Honce <jhonce@redhat.com>

Closes: #370
Approved by: rhatdan
2018-02-22 12:39:08 +00:00
Jhon Honce
3f004df384 Implement podman run option --cgroup-parent
Example:

sudo /usr/local/bin/podman run --cgroup-parent=/zzz fedora cat /proc/self/cgroup

Signed-off-by: Jhon Honce <jhonce@redhat.com>

Closes: #370
Approved by: rhatdan
2018-02-22 12:39:08 +00:00
baude
f1f0f37dc1 Correct exit code 126 and 127
The exit codes for 126 and 127 were reversed.  For the record, the exit
codes used are as follows:

* 125 if ‘chroot’ itself fails
* 126 if COMMAND is found but cannot be invoked
* 127 if COMMAND cannot be found

This resolves issue #367

Signed-off-by: baude <bbaude@redhat.com>

Closes: #378
Approved by: baude
2018-02-21 16:49:00 +00:00
baude
6ce70a33c5 Inspect output should be in array form
Inspect should be able to inspect one or more containers depending
on the user input.  Therefore, inspect output should be in array
format so the consumer could potentially iterate it.  This PR allows
users to specify one more or containers|images|or a mix for
inspection.  The output, as stated, is therefore in array form.  This
holds true even for a singular image.

In the case that the user enters an invalid container|image "name", we
handle that gracefully.  Podman will output json for the valid names
until it reaches the invalid one.  For example:

In this case, podman will out the json for alpine and then print an
error about 123 being invalid.  It will not continute onto busybox.
This behavior imatates docker.

This addresses issue #360

Signed-off-by: baude <bbaude@redhat.com>

Closes: #371
Approved by: baude
2018-02-21 14:22:36 +00:00
Matthew Heon
4803b5a639 Alias --time to --timeout for 'podman stop'
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>

Closes: #375
Approved by: rhatdan
2018-02-21 13:32:59 +00:00
baude
4929e37507 Performance enhancement for podman images
Previous code was using slow routines to collect some of the information
needed to output images.  Specifically size was being calculated instead
of using the cached, already known size already available.  Also, straight-
lined several of the code paths.  Overall assessment is that these
improvements cut the time for images in half.

Signed-off-by: baude <bbaude@redhat.com>

Closes: #365
Approved by: mheon
2018-02-20 21:54:32 +00:00
umohnani8
8f8fd1d900 Fix podman save when redirecting output
podman save would write the progress bar to the image tar file
when the output was redirected with >.
Fixed the writer to write to stderr for all commands using writer

Signed-off-by: umohnani8 <umohnani@redhat.com>

Closes: #362
Approved by: mheon
2018-02-20 15:16:28 +00:00
baude
586bb86a2a Run podman inside a podman container
We should be able to run nested podman containers in particular
for our testing environment. i.e. eat our own dog food.

Some privileges had to be corrected in order for this to work
correctly.

Added a third papr target that runs podman tests inside podman.  I
marked the test as not required right now as we get more confident
in the results

Signed-off-by: baude <bbaude@redhat.com>

Closes: #340
Approved by: rhatdan
2018-02-16 18:35:54 +00:00
baude
445aaf87fa images --all developer note
podman does not implement --all for images

intermediate images are only generated during the build process.  they are
children to the image once built. until buildah supports caching builds,
it will not generate these intermediate images.

Signed-off-by: baude <bbaude@redhat.com>

Closes: #344
Approved by: rhatdan
2018-02-16 16:08:08 +00:00
Daniel J Walsh
57b910a031 Add podman version
Copy the way cri-o does this by adding a libpod/version
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>

Closes: #343
Approved by: mheon
2018-02-15 20:13:08 +00:00
baude
a67fdeaf0d No registries warning
When no /etc/containers/registries.conf is found, log a warning message.

Signed-off-by: baude <bbaude@redhat.com>

Closes: #338
Approved by: mheon
2018-02-15 19:17:37 +00:00
baude
409ed259c6 Return imageid from podman pull
When using podman to pull an image, print the image id after
the image is pulled.

Resolves issue #329

Signed-off-by: baude <bbaude@redhat.com>

Closes: #342
Approved by: rhatdan
2018-02-15 17:18:08 +00:00
baude
e814936915 No entrpoint, cmd, or command
When an image does not have an ENTRYPOINT nor a CMD and the
user does not provide a command in the CLI, we should fail
gracefully.

This resolves issue #328

Signed-off-by: baude <bbaude@redhat.com>

Closes: #333
Approved by: mheon
2018-02-15 00:48:13 +00:00
baude
be9ed1cfac Privileged containers should inherit host devices
When running a privileged container, it should inherit the same
devices the host has.

Signed-off-by: baude <bbaude@redhat.com>

Closes: #330
Approved by: mheon
2018-02-15 00:20:47 +00:00
baude
4fa341e56a PS performance cleanups
By not getting data that we don't need and adding more locking
functions under the batch, we are able to cut the time for listing
50 containers in half.  More to come.

Signed-off-by: baude <bbaude@redhat.com>

Closes: #325
Approved by: mheon
2018-02-14 15:18:43 +00:00
Matthew Heon
4a39327bc5 Disable default Seccomp profile with privileged containers
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>

Closes: #326
Approved by: baude
2018-02-13 19:42:07 +00:00
Daniel J Walsh
2e96acf300 Change json to match docker inspect
Changing these fields caused the output of podman inspect to more
closely match docker inspect.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>

Closes: #306
Approved by: mheon
2018-02-11 11:50:34 +00:00
baude
d26266659d Honor ENTRYPOINT in image
When an image has an ENTRYPOINT defined, we should be honoring it. The
problem is described in issue #321.

Also, added buildah binary to test runtimes for testing entrypoint and
will also allow us to test podman build as well.

Signed-off-by: baude <bbaude@redhat.com>

Closes: #322
Approved by: rhatdan
2018-02-11 10:21:46 +00:00
baude
a8092a105b Rework port code
Rework port code for generalized clean up and to address
issue #269 where additional portbindings between host
and containers we being introduced by error.

Signed-off-by: baude <bbaude@redhat.com>

Closes: #308
Approved by: mheon
2018-02-09 16:13:20 +00:00
baude
fa9658cbfa podman logs: fix tailing
Fix issues with tailing of container logs as described
in issue #16.  Also add in the ability to use a duration or
known time stamp formats for the --since flag.

Signed-off-by: baude <bbaude@redhat.com>

Closes: #317
Approved by: mheon
2018-02-09 15:27:52 +00:00
TomSweeneyRedHat
9e3a5da69d Add some global options to build
Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>

Closes: #312
Approved by: mheon
2018-02-08 20:17:17 +00:00
Daniel J Walsh
3921f10a72 cleanup network stack as well as storage when container shuts down.
This patch will cleanup the network stack when the container exits

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2018-02-08 06:42:21 -05:00