summaryrefslogtreecommitdiff
path: root/pkg
Commit message (Collapse)AuthorAge
* podman-generate-kube - remove empty structs from YAMLBoaz Shuster2021-11-12
| | | | | | [NO NEW TESTS NEEDED] Signed-off-by: Boaz Shuster <boaz.shuster.github@gmail.com>
* Log Apache access_log-like entries at Info level [NO NEW TESTS NEEDED]Jhon Honce2021-11-12
| | | | | | | | Only log API access entries when --log-level set to Info or below. Fixes #12181 Signed-off-by: Jhon Honce <jhonce@redhat.com>
* Fix bindings container log testPaul Holzinger2021-11-12
| | | | | | | | | | | The returned error was not checked, thus the test could hang forever since it blocks on the log channel. Also handle unexpectedEOF like EOF. Fixes #12176 Signed-off-by: Paul Holzinger <pholzing@redhat.com>
* Handle HTTP 409 error messages properly for Pod actionsOndra Machacek2021-11-12
| | | | | | | This PR fixes the case when the API return HTTP 409 response. Where the API return the body format different then for other HTTP error codes. Signed-off-by: Ondra Machacek <omachace@redhat.com>
* Fix swagger definitionsMatej Vasek2021-11-12
| | | | | | [NO TESTS NEEDED] Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Set DOCKER_HOST in the VMMatej Vasek2021-11-12
| | | | | | [NO TESTS NEEDED] Signed-off-by: Matej Vasek <mvasek@redhat.com>
* cgroups: use SessionBusPrivateNoAutoStartupGiuseppe Scrivano2021-11-12
| | | | | | | | | | do not start up a dbus daemon if it is not already running. [NO NEW TESTS NEEDED] the fix is in a dependency. Closes: https://github.com/containers/podman/issues/9727 Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* If Dockerfile exists in same directory as service, we should not use it.Daniel J Walsh2021-11-12
| | | | | | | | | | | | We should only use the Containerfiles/Dockerfiles found in the context directory. Fixes: https://github.com/containers/podman/issues/12054 [NO NEW TESTS NEEDED] It is difficult to setup a test for this in the CI/CD system, but build tests should find if this PR broke anything. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* podman run --memory=0 ... should not set memory limitDaniel J Walsh2021-11-12
| | | | | | | | | On Docker this is ignored, and it should be on Podman as well. This is documented in the man page. Fixes: https://github.com/containers/podman/issues/12002 Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* Replace 'an user' => 'a user'Stefan Weil2021-11-12
| | | | Signed-off-by: Stefan Weil <sw@weilnetz.de>
* volumes: be more tolerant and fix infinite loopValentin Rothberg2021-11-08
| | | | | | | | | | | | | | | | | | | | | | Make Podman more tolerant when parsing image volumes during container creation and further fix an infinite loop when checking them. Consider `VOLUME ['/etc/foo', '/etc/bar']` in a Containerfile. While it looks correct to the human eye, the single quotes are wrong and yield the two volumes to be `[/etc/foo,` and `/etc/bar]` in Podman and Docker. When running the container, it'll create a directory `bar]` in `/etc` and a directory `[` in `/` with two subdirectories `etc/foo,`. This behavior is surprising to me but how Docker behaves. We may improve on that in the future. Note that the correct way to syntax for volumes in a Containerfile is `VOLUME /A /B /C` or `VOLUME ["/A", "/B", "/C"]`; single quotes are not supported. This change restores this behavior without breaking container creation or ending up in an infinite loop. BZ: https://bugzilla.redhat.com/show_bug.cgi?id=2014149 Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
* [backport] tag: Support tagging manifest list instead of resolving to imagesAditya Rajan2021-11-01
| | | | | | | | | | Following commit makes sure when buildah tag is invoked on a manifest list, it tags the same manifest list instead of resolving to an image and tagging it. Backporting https://github.com/containers/podman/pull/12057 Signed-off-by: Aditya Rajan <arajan@redhat.com>
* Don't use docker/pkg/archive, use containers/storage/pkg/archiveDaniel J Walsh2021-10-19
| | | | | | [NO NEW TESTS NEEDED] Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* cgroups: use cgroup.controllers to read controllersGiuseppe Scrivano2021-10-19
| | | | | | | | | | | | | use the cgroup.controllers file instead of cgroup.subtree_control to read the list of controllers available in the current cgroup. Closes: https://github.com/containers/podman/issues/11931 [NO TESTS NEEDED] we have disabled this test in the CI because it is difficult to know what controllers are going to be enabled for rootless under all conditions we test. Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* Use SplitN(2) when copying env variablesJhon Honce2021-10-19
| | | | | | | | | | | | | Environment variables whose value contained an equal sign where truncated Fixes #11891 Signed-off-by: Jhon Honce <jhonce@redhat.com> <MH: Fixed cherry-pick conflicts> Signed-off-by: Matthew Heon <matthew.heon@pm.me>
* podman stats: move cgroup validation to serverPaul Holzinger2021-10-19
| | | | | | | | | | | | Podman stats is not supported for rootless cgroupv1 setups. The check for this must be on the server side and not the client. [NO NEW TESTS NEEDED] we cannot test this because remote and server are always on the same machine in CI Fixes #11909 Signed-off-by: Paul Holzinger <pholzing@redhat.com>
* [CI:DOCS] oci-hooks.5.md: fixup section in headerReinhard Tartler2021-10-19
| | | | | | This fixes the autodetection of where to install the manpages Signed-off-by: Reinhard Tartler <siretart@tauware.de>
* Ensure `podman ps --sync` functionsMatthew Heon2021-10-19
| | | | | | | | | | | | The backend for `ps --sync` has been nonfunctional for a long while now - probably since v2.0. It's questionable how useful the flag is in modern Podman (the original case it was intended to catch, Conmon gone via SIGKILL, should be handled now via pinging the process with a signal to ensure it's still alive) but having the ability to force a refresh of container state from the OCI runtime is still useful. Signed-off-by: Matthew Heon <mheon@redhat.com>
* libpod: fix race when closing STDINPaul Holzinger2021-10-19
| | | | | | | | | | | | | | | | | | | | There is a race where `conn.Close()` was called before `conn.CloseWrite()`. In this case `CloseWrite` will fail and an useless error is printed. To fix this we move the the `CloseWrite()` call to the same goroutine to remove the race. This ensures that `CloseWrite()` is called before `Close()` and never afterwards. Also fixed podman-remote run where the STDIN was never was closed. This is causing flakes in CI testing. [NO TESTS NEEDED] Fixes #11856 Signed-off-by: Paul Holzinger <pholzing@redhat.com> <MH: Fixed cherry-pick conflicts> Signed-off-by: Matthew Heon <matthew.heon@pm.me>
* Add guard for BuildOptions.CommonBuildOptsJhon Honce2021-10-19
| | | | | | | Existing images.Build() bindings code panicked when field was not initialized. Signed-off-by: Jhon Honce <jhonce@redhat.com>
* machine: silently cleanup dangling sockets before rm if possibleAditya Rajan2021-10-19
| | | | | | | | | Try to cleanup dandling pid and machine socket if possible silently before `rm`. [NO TESTS NEEDED] Signed-off-by: Aditya Rajan <arajan@redhat.com>
* Allow a value of -1 to set unlimited pids limitUrvashi Mohnani2021-10-19
| | | | | | | | | Users can set --pids-limit to -1 now to set unlimited pids limit for a container - this matches the convention. [NO TESTS NEEDED] Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
* Support selinux options with bind mounts play/genBrent Baude2021-09-30
| | | | | | | | | | | | When using play kube and generate kube, we need to support if bind mounts have selinux options. As kubernetes does not support selinux in this way, we tuck the selinux values into a pod annotation for generation of the kube yaml. Then on play, we check annotations to see if a value for the mount exists and apply it. Fixes BZ #1984081 Signed-off-by: Brent Baude <bbaude@redhat.com>
* Disable docker and alias to podman in FCOS ignitionJason T. Greene2021-09-29
| | | | | Signed-off-by: Jason Greene <jason.greene@redhat.com> Co-authored-by: Dusty Mabe <dusty@dustymabe.com>
* Remind user to check connection or use podman machineAshley Cui2021-09-29
| | | | | | | Remind user to check their remote linux connection or use podman machine. Move the warning from bindings to cmd/podman. Signed-off-by: Ashley Cui <acui@redhat.com>
* stop: Do nothing if container was never created in runtimeAditya Rajan2021-09-29
| | | | | | | | | Following commit ensures we silently return container id on `stop` if container was never created in OCI runtime. Following behaviour ensures that we are in parity with docker. Signed-off-by: Aditya Rajan <arajan@redhat.com>
* remote build: EvalSymlinks() the context directoryNalin Dahyabhai2021-09-29
| | | | | | | Use EvalSymlinks() to find the context directory, in case there's shenanigans. Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
* podman machine: do not join usernsPaul Holzinger2021-09-29
| | | | | | | | | | | The go logic already prevents podman from joining the userns for machine commands but the c shortcut code did not. [NO TESTS NEEDED] Fixes #11731 Signed-off-by: Paul Holzinger <pholzing@redhat.com>
* added healthcheck to ps commandSankalp Rangare2021-09-29
| | | | Signed-off-by: Sankalp Rangare <sankalprangare786@gmail.com>
* podman generate kube should not include images commandDaniel J Walsh2021-09-29
| | | | | | | | | If the command came from the underlying image, then we should not include it in the generate yaml file. Fixes: https://github.com/containers/podman/issues/11672 Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* Also show the (initial) disk sizeAnders F Björklund2021-09-29
| | | | | | [NO TESTS NEEDED] Signed-off-by: Anders F Björklund <anders.f.bjorklund@gmail.com>
* Show cpus and memory in machine listAnders F Björklund2021-09-29
| | | | | | [NO TESTS NEEDED] Signed-off-by: Anders F Björklund <anders.f.bjorklund@gmail.com>
* Set context dir for play kube buildBrent Baude2021-09-23
| | | | | | | | When performing an image build with play kube, we need to set the context directory so things like file copies have the correct input path. Signed-off-by: Brent Baude <bbaude@redhat.com>
* [3.4] podman save: enforce signature removalValentin Rothberg2021-09-23
| | | | | | | | | | | | | | Enforce the removal of signatures in `podman save` to restore behavior prior to the migration to libimage. We may consider improving on that in the future. For details, please refer to the excellent summary by @mtrmac [1]. [NO TESTS NEEDED] - manually verified but exisiting tests need some further investigation (see [1]). [1] https://github.com/containers/podman/pull/11669#issuecomment-925250264 Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
* Merge pull request #11705 from mheon/340OpenShift Merge Robot2021-09-22
|\ | | | | Release 3.4.0-rc2 (inc. backports)
| * Generate kube should'd add podman default environment varsDaniel J Walsh2021-09-22
| | | | | | | | | | | | | | | | | | | | | | | | Currently we add the default PATH, TERM and container from Podman to every kubernetes.yaml file. These values should not be recorded in the yaml files. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com> <MH: Fixed cherry-pick conflicts> Signed-off-by: Matthew Heon <matthew.heon@pm.me>
| * Add a backoff and retries to retrieving exited eventMatthew Heon2021-09-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's a potential race around extremely short-running containers and events with journald. Events may not be written for some time (small, but appreciable) after they are received, and as such we can fail to retrieve it if there is a sufficiently short time between us writing the event and trying to read it. Work around this by just retrying, with a 0.25 second delay between retries, up to 4 times. [NO TESTS NEEDED] because I have no idea how to reproduce this race in CI. Fixes #11633 Signed-off-by: Matthew Heon <matthew.heon@pm.me>
| * Remove references to kube being developmentBrent Baude2021-09-22
| | | | | | | | | | | | | | | | | | | | At this point and even though we are always improving the play and generate kube functions, I would say it no longers needs to be denoted as under development. [NO TESTS NEEDED] Signed-off-by: Brent Baude <bbaude@redhat.com>
| * compat API: /images/json prefix image id with sha256Paul Holzinger2021-09-22
| | | | | | | | | | | | | | | | | | Docker adds the `sha256:` prefix to the image ID, so our compat endpoint has to do this as well. Fixes #11623 Signed-off-by: Paul Holzinger <pholzing@redhat.com>
| * remote untag: support digestsValentin Rothberg2021-09-22
| | | | | | | | | | | | | | | | | | Fix a bug when remotely untagging an image via tag@digest. The digest has been lost in the remote client and hence led to a wrong behaviour on the server. Fixes: #11557 Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
| * container runlabel remove image tag from namePaul Holzinger2021-09-22
| | | | | | | | | | | | | | | | | | | | | | When no name is given for podman container runlabel it will default to the image base name. However this can contain a tag. Since podman does not accept container names with a colon the run command will fail if it contains something like `podman run --name NAME ...`. Fixes https://bugzilla.redhat.com/show_bug.cgi?id=2004263 Signed-off-by: Paul Holzinger <pholzing@redhat.com>
| * Fix /auth compat endpointMatej Vasek2021-09-22
| | | | | | | | Signed-off-by: Matej Vasek <mvasek@redhat.com>
| * fix inverted conditionMatej Vasek2021-09-22
| | | | | | | | | | | | [NO TESTS NEEDED] Signed-off-by: Matej Vasek <mvasek@redhat.com>
* | Fix machine imageAshley Cui2021-09-22
|/ | | | | | | Make sure setting machine image to `testing` pulls down the testing stream, and not the next stream Signed-off-by: Ashley Cui <acui@redhat.com>
* Merge pull request #11624 from giuseppe/3.4-fix-pause-processDaniel J Walsh2021-09-20
|\ | | | | [3.4] runtime: move pause process to scope
| * system: move MovePauseProcessToScope to utilsGiuseppe Scrivano2021-09-17
| | | | | | | | | | Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com> (cherry picked from commit 72534a74b3c2ff35ae1711a890406a6bce5fa44f)
| * system: always move pause process when running on systemdGiuseppe Scrivano2021-09-17
| | | | | | | | | | | | | | | | when running on a systemd with systemd, always try to move the pause process to its own scope. Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com> (cherry picked from commit 9c1e27fdd536f6026efe3da4360755a3e9135ca8)
| * system: avoid reading pause pid fileGiuseppe Scrivano2021-09-17
| | | | | | | | | | | | | | | | we already know the path to the pause PID file, no need to calculate it again. Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com> (cherry picked from commit fa9728c5509f1ef3bb1c80055e89b910d9740efd)
* | [3.4] vendor c/common@v0.44.1Valentin Rothberg2021-09-20
|/ | | | | | | | | | | Finalizes the linked BZ to fix passing down custom authfiles during auto updates. Also fixes the if-newer pull policy. [NO TESTS NEEDED] for now validated manually. A new system test will be added to the main branch shortly. BZ: bugzilla.redhat.com/show_bug.cgi?id=2000943 Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
* build: take advantage of --platform listsNalin Dahyabhai2021-09-16
| | | | | | | | | | | The builder can take a list of platforms in the Platforms field of its BuildOptions argument, and we should definitely take advantage of that. The `bud-multiple-platform-values` test from buildah exercises support for this, so [NO TESTS NEEDED] Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>