summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Add support for anonymous volumes to `podman run -v`Matthew Heon2019-10-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, when `podman run` encountered a volume mount without separate source and destination (e.g. `-v /run`) we would assume that both were the same - a bind mount of `/run` on the host to `/run` in the container. However, this does not match Docker's behavior - in Docker, this makes an anonymous named volume that will be mounted at `/run`. We already have (more limited) support for these anonymous volumes in the form of image volumes. Extend this support to allow it to be used with user-created volumes coming in from the `-v` flag. This change also affects how named volumes created by the container but given names are treated by `podman run --rm` and `podman rm -v`. Previously, they would be removed with the container in these cases, but this did not match Docker's behaviour. Docker only removed anonymous volumes. With this patch we move to that model as well; `podman run -v testvol:/test` will not have `testvol` survive the container being removed by `podman rm -v`. The sum total of these changes let us turn on volume removal in `--rm` by default. Fixes: #4276 Signed-off-by: Matthew Heon <matthew.heon@pm.me>
* Merge pull request #4199 from jwhonce/wip/exit_with_errorOpenShift Merge Robot2019-10-17
|\ | | | | Refactor tests when checking for error exit codes
| * Refactor tests when checking for error exit codesJhon Honce2019-10-16
| | | | | | | | | | | | | | Rather than checking for non-zero, we need to check for >0 to distinguish between timeouts and error exit codes. Signed-off-by: Jhon Honce <jhonce@redhat.com>
* | Merge pull request #4279 from giuseppe/rootless-drop-dep-dockerOpenShift Merge Robot2019-10-17
|\ \ | | | | | | rootless: drop dependency on docker
| * | rootless: drop dependency on dockerGiuseppe Scrivano2019-10-16
| | | | | | | | | | | | | | | | | | use the definition from "golang.org/x/sys/unix". Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* | | Merge pull request #4280 from mheon/bump-1.6.2-rc1OpenShift Merge Robot2019-10-16
|\ \ \ | | | | | | | | Bump to v1.6.2-RC1
| * | | Bump gitvalidation epochMatthew Heon2019-10-16
| | | | | | | | | | | | | | | | Signed-off-by: Matthew Heon <mheon@redhat.com>
| * | | Bump to v1.6.2-devMatthew Heon2019-10-16
| | | | | | | | | | | | | | | | Signed-off-by: Matthew Heon <mheon@redhat.com>
| * | | Bump to v1.6.2-rc1v1.6.2-rc1Matthew Heon2019-10-16
|/ / / | | | | | | | | | Signed-off-by: Matthew Heon <mheon@redhat.com>
* | | Merge pull request #4278 from mheon/release_notes_1.6.2OpenShift Merge Robot2019-10-16
|\ \ \ | |_|/ |/| | Add release notes for Podman 1.6.2
| * | Add release notes for Podman 1.6.2Matthew Heon2019-10-16
|/ / | | | | | | Signed-off-by: Matthew Heon <matthew.heon@pm.me>
* | Merge pull request #4270 from dasmfm/podman-start-fixOpenShift Merge Robot2019-10-16
|\ \ | |/ |/| Fix output message for "podman start" command.
| * start: print full container IDbklimenko2019-10-16
| | | | | | | | | | | | | | Now the "podman start" command prints the full ID and has the same behaviour as other commands. Signed-off-by: Boris Klimenko <2@borisklimenko.ru>
* | Merge pull request #4273 from mheon/no_runtimeOpenShift Merge Robot2019-10-16
|\ \ | | | | | | Add a MissingRuntime implementation
| * | Add a MissingRuntime implementationMatthew Heon2019-10-15
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a container is created with a given OCI runtime, but then it is uninstalled or removed from the configuration file, Libpod presently reacts very poorly. The EvictContainer code can potentially remove these containers, but we still can't see them in `podman ps` (aside from the massive logrus.Errorf messages they create). Providing a minimal OCI runtime implementation for missing runtimes allows us to behave better. We'll be able to retrieve containers from the database, though we still pop up an error for each missing runtime. For containers which are stopped, we can remove them as normal. Signed-off-by: Matthew Heon <matthew.heon@pm.me>
* | Merge pull request #4272 from baude/rootlesstatsnetOpenShift Merge Robot2019-10-16
|\ \ | | | | | | rootless v2 cannot collect network stats
| * | rootless v2 cannot collect network statsbaude2019-10-15
| |/ | | | | | | | | | | | | | | | | | | network statistics cannot be collected for rootless network devices with the current implementation. for now, we return nil so that stats will at least for users. Fixes:#4268 Signed-off-by: baude <bbaude@redhat.com>
* | Merge pull request #4256 from mheon/fix_volumesOpenShift Merge Robot2019-10-16
|\ \ | |/ |/| Ensure volumes can be removed when they fail to unmount
| * Ensure volumes can be removed when they fail to unmountMatthew Heon2019-10-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also, ensure that we don't try to mount them without root - it appears that it can somehow not error and report that mount was successful when it clearly did not succeed, which can induce this case. We reuse the `--force` flag to indicate that a volume should be removed even after unmount errors. It seems fairly natural to expect that --force will remove a volume that is otherwise presenting problems. Finally, ignore EINVAL on unmount - if the mount point no longer exists our job is done. Fixes: #4247 Fixes: #4248 Signed-off-by: Matthew Heon <matthew.heon@pm.me>
* | Merge pull request #4195 from vrothberg/fix-4193OpenShift Merge Robot2019-10-15
|\ \ | | | | | | inspect: rename ImageID go field to Image
| * | inspect: rename ImageID go field to ImageValentin Rothberg2019-10-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The json field is called `Image` while the go field is called `ImageID`, tricking users into filtering for `Image` which ultimately results in an error. Hence, rename the field to `Image` to align json and go. To prevent podman users from regressing, rename `Image` to `ImageID` in the specified filters. Add tests to prevent us from regressing. Note that consumers of the go API that are using `ImageID` are regressing; ultimately we consider it to be a bug fix. Fixes: #4193 Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
* | | Merge pull request #4267 from giuseppe/accept-sbin-initOpenShift Merge Robot2019-10-15
|\ \ \ | | | | | | | | systemd: accept also /sbin/init
| * | | systemd: accept also /sbin/initGiuseppe Scrivano2019-10-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | it is a regression caused by 3ba3e1c7510d1780b6527a4aa52e40ac2c5b576a. Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1761514 Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* | | | Merge pull request #4261 from vrothberg/update-storageOpenShift Merge Robot2019-10-15
|\ \ \ \ | | | | | | | | | | vendor github.com/containers/storage@v1.13.5
| * | | | vendor github.com/containers/storage@v1.13.5Valentin Rothberg2019-10-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Do not discard errors when panicing on lockfile open * config: drop skip_mount_home * storage: drop ostree deduplication Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
* | | | | Merge pull request #4215 from TomSweeneyRedHat/dev/tsweeney/fixsquashOpenShift Merge Robot2019-10-15
|\ \ \ \ \ | |_|_|/ / |/| | | | Add squash-all, fix squash option in build
| * | | | Add squash-all, fix squash option in buildTomSweeneyRedHat2019-10-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Translate the podman build --squash command to podman build --layers=false which has the same functionality as docker build --squash. Add a new option --squash-all which will squash all layers into one. This will be translated to buildah bud --squash for the buildah bud api. Also allow only one option, squash, layers or squash--all to be used per build command. Fixes: https://github.com/containers/buildah/issues/1234 Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
* | | | | Merge pull request #4262 from nalind/error-causeDaniel J Walsh2019-10-15
|\ \ \ \ \ | | | | | | | | | | | | Unwrap errors before comparing them
| * | | | | Unwrap errors before comparing themNalin Dahyabhai2019-10-14
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | Unwrap errors before directly comparing them with errors defined by the storage and image libraries. Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
* | | | | Merge pull request #4229 from vrothberg/conmon-no-log-errorDaniel J Walsh2019-10-15
|\ \ \ \ \ | |_|_|/ / |/| | | | change error wording when conmon fails without logs
| * | | | change error wording when conmon fails without logsValentin Rothberg2019-10-14
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In some cases, conmon can fail without writing logs. Change the wording of the error message from "error reading container (probably exited) json message" to "container create failed (no logs from conmon)" to have a more helpful error message that is more consistent with other errors at that stage of execution. Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
* | | | Merge pull request #4245 from giuseppe/images-valid-jsonOpenShift Merge Robot2019-10-14
|\ \ \ \ | |_|/ / |/| | | images: empty list is valid json with --format=json
| * | | images: empty list is valid json with --format=jsonGiuseppe Scrivano2019-10-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | similar change to f7d55d64e7040cdad149684234ea150b0a90cf0e with images --format=json, be sure the output is valid json also when it is an empty list. Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* | | | Merge pull request #4253 from KentaTada/fix-oci-hook-mdOpenShift Merge Robot2019-10-14
|\ \ \ \ | |_|/ / |/| | | Fix sample's JSON syntax error in oci-hooks.5.md
| * | | Fix sample's JSON syntax error in oci-hooks.5.mdKenta Tada2019-10-14
|/ / / | | | | | | | | | Signed-off-by: Kenta Tada <Kenta.Tada@sony.com>
* | | Merge pull request #4233 from mheon/fix_ccOpenShift Merge Robot2019-10-12
|\ \ \ | | | | | | | | Allow giving path to Podman for cleanup command
| * | | Allow giving path to Podman for cleanup commandMatthew Heon2019-10-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For non-Podman users of Libpod, we don't want to force the exit command to use ARGV[0], which probably does not support a cleanup command. Signed-off-by: Matthew Heon <matthew.heon@pm.me>
* | | | Merge pull request #4243 from TomSweeneyRedHat/dev/tsweeney/fixrunmdOpenShift Merge Robot2019-10-12
|\ \ \ \ | |_|/ / |/| | | Touch up bad math in run man page
| * | | Touch up bad math in run man pageTomSweeneyRedHat2019-10-11
| | |/ | |/| | | | | | | | | | | | | | | | | | | We'd an off by one error in the run man page spotted by @leorochael in Fixes: #4239 Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
* | | Merge pull request #4238 from giuseppe/rootless-enable-ps-size-testsOpenShift Merge Robot2019-10-11
|\ \ \ | | | | | | | | tests: enable ps --size tests for rootless
| * | | tests: enable ps --size tests for rootlessGiuseppe Scrivano2019-10-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | rootless podman is using a single user namespace for all the containers so it can safely access the storage for all of them. Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* | | | Merge pull request #4220 from mheon/null_runtimeOpenShift Merge Robot2019-10-11
|\ \ \ \ | | | | | | | | | | Move OCI runtime implementation behind an interface
| * | | | When restoring containers, reset cgroup pathMatthew Heon2019-10-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, `podman checkport restore` with exported containers, when told to create a new container based on the exported checkpoint, would create a new container, with a new container ID, but not reset CGroup path - which contained the ID of the original container. If this was done multiple times, the result was two containers with the same cgroup paths. Operations on these containers would this have a chance of crossing over to affect the other one; the most notable was `podman rm` once it was changed to use the --all flag when stopping the container; all processes in the cgroup, including the ones in the other container, would be stopped. Reset cgroups on restore to ensure that the path matches the ID of the container actually being run. Signed-off-by: Matthew Heon <matthew.heon@pm.me>
| * | | | Move OCI runtime implementation behind an interfaceMatthew Heon2019-10-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For future work, we need multiple implementations of the OCI runtime, not just a Conmon-wrapped runtime matching the runc CLI. As part of this, do some refactoring on the interface for exec (move to a struct, not a massive list of arguments). Also, add 'all' support to Kill and Stop (supported by runc and used a bit internally for removing containers). Signed-off-by: Matthew Heon <matthew.heon@pm.me>
* | | | | Merge pull request #4221 from mheon/reset_runtimeOpenShift Merge Robot2019-10-11
|\ \ \ \ \ | |_|_|/ / |/| | | | Migrate can move containers to a user-defined runtime
| * | | | Migrate can move containers to a new runtimeMatthew Heon2019-10-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a horrible hack to work around issues with Fedora 31, but other distros might need it to, so we'll move it upstream. I do not recommend this functionality for general use, and the manpages and other documentation will reflect this. But for some upgrade cases, it will be the only thing that allows for a working system. Signed-off-by: Matthew Heon <matthew.heon@pm.me>
* | | | | Merge pull request #4237 from giuseppe/ps-not-nullOpenShift Merge Robot2019-10-11
|\ \ \ \ \ | | | | | | | | | | | | container: initialize results list
| * | | | | container: initialize results listGiuseppe Scrivano2019-10-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | it solves: $ podman ps --format=json null Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* | | | | | Merge pull request #4201 from TomSweeneyRedHat/dev/tsweeney/updatebuildmdOpenShift Merge Robot2019-10-11
|\ \ \ \ \ \ | | | | | | | | | | | | | | Update build man page with latest Buildah changes
| * | | | | | Update build man page with latest Buildah changesTomSweeneyRedHat2019-10-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes include: Containerfile by default, add --device flags to bud, allow buildah bud to be called without arguments, and a couple of small typo corrections. Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>