summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Bump to v3.2.2v3.2.2Matthew Heon2021-06-25
| | | | Signed-off-by: Matthew Heon <mheon@redhat.com>
* Merge pull request #10778 from mheon/backports_322OpenShift Merge Robot2021-06-25
|\ | | | | Backports for v3.2.2
| * fix systemcontext to use correct TMPDIRDaniel J Walsh2021-06-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Users are complaining about read/only /var/tmp failing even if TMPDIR=/tmp is set. This PR Fixes: https://github.com/containers/podman/issues/10698 [NO TESTS NEEDED] No way to test this. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com> <MH: Fixed cherry-pick conflicts> Signed-off-by: Matthew Heon <mheon@redhat.com>
| * Scrub podman commands to use report packageJhon Honce2021-06-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactor podman commands that have drifted from using c/common report pkg. Report pkg is needed to implement go template functions. Removed obsolete code from podman which exists in c/common. Latest template library added default newlines and method to remove them. Incorporated needed changes in c/common PR below. Depends on https://github.com/containers/common/pull/624 Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1855983 Signed-off-by: Jhon Honce <jhonce@redhat.com> <MH: Fixed cherry-pick conflicts> Signed-off-by: Matthew Heon <mheon@redhat.com>
| * Fix volumes with uid and gid optionsPaul Holzinger2021-06-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Podman uses the volume option map to check if it has to mount the volume or not when the container is started. Commit 28138dafcc39 added to uid and gid options to this map, however when only uid/gid is set we cannot mount this volume because there is no filesystem or device specified. Make sure we do not try to mount the volume when only the uid/gid option is set since this is a simple chown operation. Also when a uid/gid is explicity set, do not chown the volume based on the container user when the volume is used for the first time. Fixes #10620 Signed-off-by: Paul Holzinger <pholzing@redhat.com>
| * Vendor in c/common v0.38.11Matthew Heon2021-06-25
| | | | | | | | Signed-off-by: Matthew Heon <mheon@redhat.com>
| * Initial release notes for v3.2.2Matthew Heon2021-06-24
| | | | | | | | Signed-off-by: Matthew Heon <mheon@redhat.com>
| * Fix restoring of privileged containersAdrian Reber2021-06-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Checkpointed containers started with --privileged fail during restore with: Error: error creating container storage: ProcessLabel and Mountlabel must either not be specified or both specified This commit fixes it by not setting the labels when restoring a privileged container. [NO TESTS NEEDED] Signed-off-by: Adrian Reber <areber@redhat.com>
| * Fix handling of podman-remote build --deviceDaniel J Walsh2021-06-24
| | | | | | | | | | | | Fixes: https://github.com/containers/podman/issues/10614 Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
| * Add support for podman remote build -f - .Daniel J Walsh2021-06-24
| | | | | | | | | | | | Fixes: https://github.com/containers/podman/issues/10621 Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
| * Fix panic condition in cgroups.getAvailableControllerszhangguanzhang2021-06-24
| | | | | | | | Signed-off-by: zhangguanzhang <zhangguanzhang@qq.com>
| * Fix permissions on initially created named volumesDaniel J Walsh2021-06-24
| | | | | | | | | | | | | | | | Permission of volume should match the directory it is being mounted on. Fixes: https://github.com/containers/podman/issues/10188 Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
| * Fix building static podman-remoteChris Evich2021-06-24
| | | | | | | | | | | | | | | | | | | | As near as I can tell, sometime between `v1.6.4` and `v1.9` the definition of `LDFLAGS_PODMAN_STATIC` was both created and lost. Additionally, after a refactoring of the `Makefile` it was possible to enable CGO (which will cause a dynamic binary to be built). Fix both issues by adding the missing definition and forcing CGO to be disabled. Signed-off-by: Chris Evich <cevich@redhat.com>
| * add correct slirp ip to /etc/hostsPaul Holzinger2021-06-24
| | | | | | | | | | | | | | | | | | The container name should have the slirp interface ip set in /etc/hosts and not the gateway ip. Commit c8dfcce6db0a introduced this regression. Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1972073 Signed-off-by: Paul Holzinger <pholzing@redhat.com>
| * disable tty-size exec checks in system testsValentin Rothberg2021-06-24
| | | | | | | | | | | | | | | | | | | | | | As discussed in #10710, the additional checks for podman-exec added by commit 666f555aa52b are extremely flaky and appear in nearly every PR I have see this week. Let's temporarily disable the checks and reenable them on #10710 is fixed. Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
| * Fix resize race with podman exec -itPaul Holzinger2021-06-24
| | | | | | | | | | | | | | | | | | | | | | When starting a process with `podman exec -it` the terminal is resized after the process is started. To fix this allow exec start to accept the terminal height and width as parameter and let it resize right before the process is started. Fixes #10560 Signed-off-by: Paul Holzinger <pholzing@redhat.com>
| * Fix documentation of the --format option of podman pushMiloslav Trmač2021-06-24
| | | | | | | | | | | | | | | | It affects all transports; and without --format, we try several manifest formats. [NO TESTS NEEDED] Signed-off-by: Miloslav Trmač <mitr@redhat.com>
| * Fix systemd-resolved detection.Max Goltzsche2021-06-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously podman failed when run in an environment where 127.0.0.53 is the only nameserver but systemd-resolved is not used directly. In practice this happened when podman was run within an alpine container that used the host's network and the host was running systemd-resolved. This fix makes podman ignore a file not found error when reading /run/systemd/resolve/resolv.conf. Closes #10733 [NO TESTS NEEDED] Signed-off-by: Max Goltzsche <max.goltzsche@gmail.com>
| * Health Check is not handled in the compat LibpodToContainerJSONcdoern2021-06-24
| | | | | | | | | | | | | | | | | | | | | | | | Added parsing and handling for the healthCheck status within containers.go. Also modified tests fixes #10457 Signed-off-by: cdoern <cbdoer23@g.holycross.edu> <MH: Fixed cherry-pick conflicts> Signed-off-by: Matthew Heon <mheon@redhat.com>
| * Do not use inotify for OCICNIPaul Holzinger2021-06-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Podman does not need to watch the cni config directory. If a network is not found in the cache, OCICNI will reload the networks anyway and thus even podman system service should work as expected. Also include a change to not mount a "new" /var by default in the rootless cni ns, instead try to use /var/lib/cni first and then the parent dir. This allows users to store cni configs under /var/... which is the case for the CI compose test. [NO TESTS NEEDED] Fixes #10686 Signed-off-by: Paul Holzinger <pholzing@redhat.com>
| * getContainerNetworkInfo: lock netNsCtr before syncPaul Holzinger2021-06-24
| | | | | | | | | | | | | | | | | | `syncContainer()` requires the container to be locked, otherwise we can end up with undefined behavior. [NO TESTS NEEDED] Signed-off-by: Paul Holzinger <pholzing@redhat.com>
| * [NO TESTS NEEDED] Create /etc/mtab with the correct ownershipUrvashi Mohnani2021-06-24
| | | | | | | | | | | | | | | | | | | | Create the /etc and /etc/mtab directories with the correct ownership based on what the UID and GID is for the container. This was causing issue when starting the infra container with userns as the /etc directory wasn't being created with the correct ownership. Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
| * Create the /etc/mtab file if does not existsDaniel J Walsh2021-06-24
|/ | | | | | | | | | | We should create the /etc/mtab->/proc/mountinfo link so that mount command will work within the container. Docker does this by default. Fixes: https://github.com/containers/podman/issues/10263 Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* Merge pull request #10775 from vrothberg/3.2-fix-cpOpenShift Merge Robot2021-06-24
|\ | | | | [v3.2] cp: do not allow dir->file copying
| * [v3.2] cp: do not allow dir->file copyingValentin Rothberg2021-06-24
|/ | | | | | | | Fix a bug in `podman-cp` to forbid copying directories to files. Previously, the directory was copied to the parent directory of the file which is wrong. Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
* Merge pull request #10763 from vrothberg/3.2-backportsOpenShift Merge Robot2021-06-24
|\ | | | | 3.2 backports
| * create: support images with invalid platformValentin Rothberg2021-06-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Much to my regret, there is a number of images in the wild with invalid platforms breaking the platform checks in libimage that want to make sure that a local image is matching the expected platform. Imagine a `podman run --arch=arm64 fedora` with a local amd64 fedora image. We really shouldn't use the local one in this case and pull down the arm64 one. The strict platform checks in libimage in combination with invalid platforms in images surfaced in Podman being able to pull an image but failing to look it up in subsequent presence checks. A `podman run` would hence pull such an image but fail to create the container. Support images with invalid platforms by vendoring the latest HEAD from containers/common. Also remove the partially implemented pull-policy logic from Podman and let libimage handle that entirely. However, whenever --arch, --os or --platform are specified, the pull policy will be forced to "newer". This way, we pessimistically assume that the local image has an invalid platform and we reach out to the registry. If there's a newer image (i.e., one with a different digest), we'll pull it down. Please note that most of the logic has either already been implemented in libimage or been moved down which allows for removing some clutter from Podman. [NO TESTS NEEDED] since c/common has new tests. Podman can rely on the existing tests. Fixes: #10648 Fixes: #10682 Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
| * vendor containers/common@v0.38.10Valentin Rothberg2021-06-24
|/ | | | | | | | | | | | Please refer to the individual commits for further details: * libimage: pull: override even --pull=never with custom platfo * libimage: pull: enforce pull policy for custom platforms * libimage: pull: ignore platform for local image lookup * Allow /etc/containers/containers.conf to be read by non-root * [0.38] libimage: force remove: only untag on multi tag image Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
* Merge pull request #10744 from vrothberg/v3.2-fix-10682OpenShift Merge Robot2021-06-22
|\ | | | | [v3.2] logs: k8s-file: restore poll sleep
| * logs: k8s-file: restore poll sleepValentin Rothberg2021-06-22
| | | | | | | | | | | | | | | | | | | | | | | | | | Commit 84b55eec2796 attempted to fix a race waiting for the container died event. Previously, Podman slept for duration of the polling frequence which I considerred to be a mistake. As it turns out, I was mistaken since the file logger will, in fact, NOT read until EOF and then stop logging but stop logging immediately _after_ it woke up. [NO TESTS NEEDED] as the race condition cannot be hit reliably. Fixes: #10675 Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
| * logs: k8s-file: fix spurious error logsValentin Rothberg2021-06-22
|/ | | | | | | Fix the suprious "Error: nil" messages. Also add some more context to logged error messages which makes error sources more obvious. Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
* Merge pull request #10751 from vrothberg/v3.2-backport-969cc3237be5OpenShift Merge Robot2021-06-22
|\ | | | | [v3.2] utils: move message from warning to debug
| * utils: move message from warning to debugGiuseppe Scrivano2021-06-22
|/ | | | | | | | | | | | | if a pid could not be moved to a new cgroup, print a debug message instead of a warning. Backport of commit 969cc3237be5. [NO TESTS NEEDED] Closes: https://github.com/containers/podman/issues/10674 Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com> Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
* Merge pull request #10658 from mheon/bump_321OpenShift Merge Robot2021-06-14
|\ | | | | Bump to v3.2.1
| * Bump to v3.2.2-devMatthew Heon2021-06-14
| | | | | | | | Signed-off-by: Matthew Heon <mheon@redhat.com>
| * Bump to v3.2.1v3.2.1Matthew Heon2021-06-14
| | | | | | | | | | | | | | Also, revert minimum API version for the Libpod remote API to v3.1.0. Signed-off-by: Matthew Heon <mheon@redhat.com>
| * Updated release notes for v3.2.1Matthew Heon2021-06-14
| | | | | | | | Signed-off-by: Matthew Heon <mheon@redhat.com>
| * Fix network connect race with docker-composePaul Holzinger2021-06-14
| | | | | | | | | | | | | | | | | | | | | | Network connect/disconnect has to call the cni plugins when the network namespace is already configured. This is the case for `ContainerStateRunning` and `ContainerStateCreated`. This is important otherwise the network is not attached to this network namespace and libpod will throw errors like `network inspection mismatch...` This problem happened when using `docker-compose up` in attached mode. Signed-off-by: Paul Holzinger <pholzing@redhat.com>
| * Revert "Ensure minimum API version is set correctly in tests"Matthew Heon2021-06-14
| | | | | | | | | | | | | | | | This reverts commit 9647d88449f44028c9b870af74e5e44cb819ff9d. We reverted the API bump (was a mistake, should have been left at 3.1.0) and now we need to revert the test changes. Signed-off-by: Matthew Heon <mheon@redhat.com>
| * Fall back to string for dockerfile parameterAlex Schultz2021-06-14
| | | | | | | | | | | | | | | | | | | | | | a9cb824981db3fee6b8445b29e513c89e9b9b00b changed the expectations of the dockerfile parameter to be json data however it's a string. In order to support both, let's attempt json and fall back to a string if the json parsing fails. Closes #10660 Signed-off-by: Alex Schultz <aschultz@redhat.com>
| * remote events: fix --stream=falseValentin Rothberg2021-06-11
| | | | | | | | | | | | | | | | | | | | | | Fix a bug in remote events where only one event would be sent if when streaming is turned off. The source of the bug was that the handler attempted to implement the streaming logic and did it wrong. The fix is rather simple by removing this logic from the handler and let the events backend handle streaming. Fixes: #10529 Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
| * [CI:DOCS] fix incorrect network remove api docPaul Holzinger2021-06-11
| | | | | | | | | | | | | | | | The endpoint returns an array and not a single entry. Fixes #10494 Signed-off-by: Paul Holzinger <pholzing@redhat.com>
| * remote: always send resize before the container startsPaul Holzinger2021-06-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is race condition in the remote client attach logic. Because the resize api call was handled in an extra goroutine the container was started before the resize call happend. To fix this we have to call resize in the same goroutine as attach. When the first resize is done start a goroutine to listen on SIGWINCH in the background and resize again if the signal is received. Fixes #9859 Signed-off-by: Paul Holzinger <pholzing@redhat.com> <MH: Fixed cherry-pick conflicts> Signed-off-by: Matthew Heon <mheon@redhat.com>
| * remote events: support labelsValentin Rothberg2021-06-11
| | | | | | | | | | | | | | | | Certain event meta data was lost when converting the remote events to libpod events and vice versa. Enable the skipped system tests for remote. Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
| * remote pull: cancel pull when connection is closedPaul Holzinger2021-06-11
| | | | | | | | | | | | | | | | | | | | | | If a client closes the http connection during image pull, the service should cancel the pull operation. [NO TESTS NEEDED] I have no idea how we could test this reliable. Fixes: #7558 Signed-off-by: Paul Holzinger <pholzing@redhat.com>
| * Fix network prune api docsPaul Holzinger2021-06-11
| | | | | | | | | | | | | | | | | | | | | | | | | | The api doc used wrong response examples for both the compat and libpod network prune endpoints. Change the doc so that it matches the actual return values. Also fix the endpoints to return an empty array instead of null when no networks are removed. [NO TESTS NEEDED] Fixes: #10564 Signed-off-by: Paul Holzinger <pholzing@redhat.com>
| * Improve systemd-resolved detectionPaul Holzinger2021-06-11
| | | | | | | | | | | | | | | | | | | | | | | | | | When 127.0.0.53 is the only nameserver in /etc/resolv.conf assume systemd-resolved is used. This is better because /etc/resolv.conf does not have to be symlinked to /run/systemd/resolve/stub-resolv.conf in order to use systemd-resolved. [NO TESTS NEEDED] Fixes: #10570 Signed-off-by: Paul Holzinger <pholzing@redhat.com>
| * logs: k8s-file: fix raceValentin Rothberg2021-06-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix a race in the k8s-file logs driver. When "following" the logs, Podman will print the container's logs until the end. Previously, Podman logged until the state transitioned into something non-running which opened up a race with the container still running, possibly in the "stopping" state. To fix the race, log until we've seen the wait event for the specific container. In that case, conmon will have finished writing all logs to the file, and Podman will read it until EOF. Further tweak the integration tests for testing `logs -f` on a running container. Previously, the test only checked for one of two lines stating that there was a race. Indeed the race was in using `run --rm` where a log file may be removed before we could fully read it. Fixes: #10596 Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
| * Fix image prune --filter cmd behaviorJakub Guzik2021-06-11
| | | | | | | | | | | | | | | | | | Image prune --filter is fully implemented in the api, http api yet not connected with the cli execution. User trying to use filters does not see the effect. This commit adds glue code to enable possiblity of using --filter in prune in the cli execution. Signed-off-by: Jakub Guzik <jakubmguzik@gmail.com>
| * Several shell completion fixesPaul Holzinger2021-06-11
| | | | | | | | | | | | | | | | | | | | - fix network filters - add prune filters - pod create --share support comma separated namespaces [NO TESTS NEEDED] Signed-off-by: Paul Holzinger <paul.holzinger@web.de>