summaryrefslogtreecommitdiff
path: root/test/e2e
Commit message (Collapse)AuthorAge
* libpod: fix lookup for subpath in volumesGiuseppe Scrivano2022-09-14
| | | | | | | | | a subdirectory that is below a mount destination is detected as a subpath. Closes: https://github.com/containers/podman/issues/15789 Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* Merge pull request #15788 from kolyshkin/non-crypto-idOpenShift Merge Robot2022-09-14
|\ | | | | all: stop using deprecated GenerateNonCryptoID
| * all: stop using deprecated GenerateNonCryptoIDKir Kolyshkin2022-09-13
| | | | | | | | | | | | | | | | | | | | In view of https://github.com/containers/storage/pull/1337, do this: for f in $(git grep -l stringid.GenerateNonCryptoID | grep -v '^vendor/'); do sed -i 's/stringid.GenerateNonCryptoID/stringid.GenerateRandomID/g' $f; done Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
* | Merge pull request #15777 from vrothberg/fix-14546OpenShift Merge Robot2022-09-14
|\ \ | | | | | | generate systemd: fix pod dependencies
| * | generate systemd: fix pod dependenciesValentin Rothberg2022-09-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change the dependencies from a pod unit to its associated container units from `Requires` to `Wants` to prevent the entire pod from transitioning to a failed state. Restart policies for individual containers can be configured separately. Also make sure that the pod's RunRoot is always set. Fixes: #14546 Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
* | | [systemd] Ensure that podCreateArgs appear last in ExecStartPre=Dan Čermák2022-09-14
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When creating a new pod without the `--name` flag, e.g.: `podman pod create foobar` it will get the name `foobar` implicitly and this will be recorded as the in the `podCreateArgs`. Unfortunately, the implicit name only works if it appears as the **last** argument of the startup command. With 6e2e3a78ed1d05ee5f23f65b814e8135021961dd we started appending the pod security policy to the startCommand, resulting in the following `ExecStartPre=` line: ``` /usr/bin/podman pod create --infra-conmon-pidfile %t/pod-foobar.pid --pod-id-file %t/pod-foobar.pod-id foobar --exit-policy=stop ``` This fails to launch, as the `pod create` command expects only a single non-flag parameter, but it assumes that `exit-policy=stop` is a second and terminates immediately instead. This fixes https://github.com/containers/podman/issues/15592 Signed-off-by: Dan Čermák <dcermak@suse.com>
* | podman volume ls: use report.Formatter over TemplatePaul Holzinger2022-09-13
|/ | | | | | | | | | | | | | | | | | | Currently the podman command --format output code uses a mix of report.Formatter and report.Template. I patched report.Formatter to correctly handle newlines[1]. Since we cannot fix this with report.Template we have to migrate all users to report.Formatter. This ensures consistent behavior for all commands. This change does not change the output, we can add a new test for the newline bug when the common PR is vendored in. Also fixa bug since the table format is expected to print headers as well. [1] https://github.com/containers/common/pull/1146 Signed-off-by: Paul Holzinger <pholzing@redhat.com>
* refactor: use `os.ReadDir` for lightweight directory readingEng Zer Jun2022-09-11
| | | | | | | | `os.ReadDir` was added in Go 1.16 as part of the deprecation of `ioutil` package. It is a more efficient implementation than `ioutil.ReadDir`. Reference: https://pkg.go.dev/io/ioutil#ReadDir Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
* Merge pull request #15695 from Luap99/update-buildahOpenShift Merge Robot2022-09-09
|\ | | | | Update buildah and c/common to latest
| * Fixes for vendoring BuildahEd Santiago2022-09-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit was automatically cherry-picked by buildah-vendor-treadmill v0.3 from the buildah vendor treadmill PR, #13808 Changes since 2022-08-16: - buildah 4139: minor line-number changes to the diff file because helpers.bash got edited - buildah 4190: skip the new test if remote - buildah 4195: add --retry / --retry-delay - changes to deal with vendoring gomega, units - changes to the podman login error message in system test Signed-off-by: Paul Holzinger <pholzing@redhat.com>
* | Merge pull request #15692 from giuseppe/pod-spec-usernsOpenShift Merge Robot2022-09-09
|\ \ | | | | | | kube: plug HostUsers in the pod spec
| * | generate, kube: plug HostUsersGiuseppe Scrivano2022-09-08
| | | | | | | | | | | | Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
| * | kube: plug HostUsers in the pod specGiuseppe Scrivano2022-09-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | map HostUsers=false to userns=auto. One difference with the current implementation in the Kubelet is that the podman default size is 1024 while the Kubelet uses 65536. This is done on purpose, because 65536 is a problem for rootless as the entire IDs space would be allocated to a single pod. Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* | | Ignore cpu realtime options on cgroups V2 systemsToshiki Sonoda2022-09-09
|/ / | | | | | | | | | | | | | | | | | | | | | | `--cpu-rt-period` and `--cpu-rt-runtime` options are only supported on cgroups V1 rootful systems. Therefore, podman prints an warning message and ignores these options when we use cgroups V2 systems. Related to: #15666 Signed-off-by: Toshiki Sonoda <sonoda.toshiki@fujitsu.com>
* | Merge pull request #15607 from fpoirotte/mainOpenShift Merge Robot2022-09-08
|\ \ | |/ |/| Fix #15243 Set AutomountServiceAccountToken to false
| * Fix #15243 Set AutomountServiceAccountToken to falseFrançois Poirotte2022-09-04
| | | | | | | | | | | | | | podman does not use any service account token, so we set the automount flag to false in podman generate kube. Signed-off-by: François Poirotte <clicky@erebot.net>
* | Merge pull request #15593 from ↵OpenShift Merge Robot2022-09-08
|\ \ | | | | | | | | | | | | containers/dependabot/go_modules/github.com/docker/go-units-0.5.0 Bump github.com/docker/go-units from 0.4.0 to 0.5.0
| * | Bump github.com/docker/go-units from 0.4.0 to 0.5.0dependabot[bot]2022-09-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bumps [github.com/docker/go-units](https://github.com/docker/go-units) from 0.4.0 to 0.5.0. - [Release notes](https://github.com/docker/go-units/releases) - [Commits](https://github.com/docker/go-units/compare/v0.4.0...v0.5.0) --- updated-dependencies: - dependency-name: github.com/docker/go-units dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
* | | Merge pull request #15675 from Luap99/pod-inspectOpenShift Merge Robot2022-09-08
|\ \ \ | | | | | | | | fix podman pod inspect to support multiple pods
| * | | fix podman pod inspect to support multiple podsPaul Holzinger2022-09-08
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Just like the other inspect commands `podman pod inspect p1 p2` should return the json for both. To correctly implement this we follow the container inspect logic, this allows use to reuse the global inspect command. Note: To not break the existing single pod output format for podman pod inspect I added a pod-legacy inspect type. This is only used to make sure we will print the pod as single json and not an array like for the other commands. We cannot use the pod type since podman inspect --type pod did return an array and we should not break that as well. Fixes #15674 Signed-off-by: Paul Holzinger <pholzing@redhat.com>
* / / e2e: fix run_staticip_test in proxy environmentToshiki Sonoda2022-09-08
|/ / | | | | | | | | | | | | | | `Podman run two containers with the same IP [It]` This test will be failed in proxy environment. We need to set the static ip to no_proxy. Signed-off-by: Toshiki Sonoda <sonoda.toshiki@fujitsu.com>
* | Merge pull request #15644 from Luap99/event-formatOpenShift Merge Robot2022-09-06
|\ \ | | | | | | fix podman events with custom format
| * | remove SkipIfNotFedora() from events testPaul Holzinger2022-09-06
| | | | | | | | | | | | | | | | | | They should work on all distros. Signed-off-by: Paul Holzinger <pholzing@redhat.com>
| * | fix podman events with custom formatPaul Holzinger2022-09-06
| | | | | | | | | | | | | | | | | | | | | podman events --format {{.ID}} was not working since the template was converted to a range but we only render each event individually. Signed-off-by: Paul Holzinger <pholzing@redhat.com>
* | | Merge pull request #15584 from sstosh/generate-systemd-envOpenShift Merge Robot2022-09-06
|\ \ \ | |/ / |/| | Add generate systemd -e/--env option
| * | Add generate systemd -e/--env optionToshiki Sonoda2022-09-06
| |/ | | | | | | | | | | | | | | -e/--env option sets environment variables to the systemd unit files. Fixes: #15523 Signed-off-by: Toshiki Sonoda <sonoda.toshiki@fujitsu.com>
* | Merge pull request #15618 from mheon/add_group_to_addtlgroupsOpenShift Merge Robot2022-09-05
|\ \ | | | | | | Add container GID to additional groups
| * | Add container GID to additional groupsMatthew Heon2022-09-02
| |/ | | | | | | | | | | | | Mitigates a potential permissions issue. Mirrors Buildah PR #4200 and CRI-O PR #6159. Signed-off-by: Matthew Heon <mheon@redhat.com>
* | Merge pull request #15599 from umohnani8/gen-kubeOpenShift Merge Robot2022-09-02
|\ \ | |/ |/| Fix bind-mount-option annotation in gen/play kube
| * Fix bind-mount-option annotation in gen/play kubeUrvashi Mohnani2022-09-01
| | | | | | | | | | | | | | | | | | The format used for setting the bind-mount-options annotations in the kube yaml was incorrect and caused k8s to throw an error when trying to play the generated kube yaml. Fix the annotation format to match the rules of k8s. Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
* | implement podman updateCharlie Doern2022-09-01
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | podman update allows users to change the cgroup configuration of an existing container using the already defined resource limits flags from podman create/run. The supported flags in crun are: this command is also now supported in the libpod api via the /libpod/containers/<CID>/update endpoint where the resource limits are passed inthe request body and follow the OCI resource spec format –memory –cpus –cpuset-cpus –cpuset-mems –memory-swap –memory-reservation –cpu-shares –cpu-quota –cpu-period –blkio-weight –cpu-rt-period –cpu-rt-runtime -device-read-bps -device-write-bps -device-read-iops -device-write-iops -memory-swappiness -blkio-weight-device resolves #15067 Signed-off-by: Charlie Doern <cdoern@redhat.com>
* Set enableServiceLinks to false in generated yamlUrvashi Mohnani2022-08-31
| | | | | | | | Since podman doesn't set/use the needed service env variable, always set enableServiceLinks to false in the generated kube yaml. Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
* Merge pull request #15473 from umohnani8/empty-dirOpenShift Merge Robot2022-08-31
|\ | | | | Add emptyDir volume support to kube play
| * Add emptyDir volume support to kube playUrvashi Mohnani2022-08-30
| | | | | | | | | | | | | | | | | | | | | | When a kube yaml has a volume set as empty dir, podman will create an anonymous volume with the empty dir name and attach it to the containers running in the pod. When the pod is removed, the empy dir volume created is also removed. Add tests and docs for this as well. Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
* | podman: add uid and gid options to keep-idGiuseppe Scrivano2022-08-30
|/ | | | | | | | | | | | | | | | | | | | add two new options to the keep-id user namespace option: - uid: allow to override the UID used inside the container. - gid: allow to override the GID used inside the container. For example, the following command will map the rootless user (that has UID=0 inside the rootless user namespace) to the UID=11 inside the container user namespace: $ podman run --userns=keep-id:uid=11 --rm -ti fedora cat /proc/self/uid_map 0 1 11 11 0 1 12 12 65525 Closes: https://github.com/containers/podman/issues/15294 Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* e2e tests: try to deflake 5000Ed Santiago2022-08-29
| | | | | | | | We keep getting flakes in tests that use port 5000. Try to find and fix, by switching ports where possible, and locking 5000 when not possible (or not easy) to switch. Signed-off-by: Ed Santiago <santiago@redhat.com>
* Merge pull request #15516 from kubealex/handle-connected-networkOpenShift Merge Robot2022-08-29
|\ | | | | Handle an already connected network in libpod API
| * Fix #15499 already connected networkAlessandro Rossi2022-08-27
| | | | | | | | | | | | | | | | | | | | | | Compat: Treat already attached networks as a no-op Applies only to containers in created state. Maintain error in running state. Co-authored-by: Alessandro Rossi <al.rossi87@gmail.com> Co-authored-by: Brent Baude <bbaude@redhat.com> Co-authored-by: Jason T. Greene <jason.greene@redhat.com> Signed-off-by: Alessandro Rossi <al.rossi87@gmail.com> Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
* | remote: fix implementation of build with --userns=auto for APIAditya R2022-08-26
|/ | | | | | | | | | | `podman-remote` and Libpod API does not supports build with `--userns=auto` since `IDMappingOptions` were not implemented for API and bindings, following PR implements passing `IDMappingOptions` via bindings to API. Closes: https://github.com/containers/podman/issues/15476 Signed-off-by: Aditya R <arajan@redhat.com>
* Run codespellDaniel J Walsh2022-08-25
| | | | Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* test: use private instead of slave for the mountGiuseppe Scrivano2022-08-24
| | | | | | | | | | | | | | using "slave" means that every mount operation on the host that happens between the mount creation for `/host` and running `findmnt` will be propagated to the container mount. To prevent new mounts on the host to appear in the container thus invalidating the test we have, just create the mount as private and use `/sys` as source as it has multiple mounts on the top but less likely to get new mounts once it is configured. Closes: https://github.com/containers/podman/issues/15241 Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* Merge pull request #15454 from vrothberg/bump-psgoDaniel J Walsh2022-08-24
|\ | | | | vendor containers/psgo@v1.7.3
| * vendor containers/psgo@v1.7.3Valentin Rothberg2022-08-24
| | | | | | | | | | | | | | | | | | | | Add three new capabilities that would otherwise be reported as unknown. Also add an e2e test making sure that `podman top` knows all capabilities of the current kernel. I refrained from adding a system test since this may blow up in gating tests. Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
* | Merge pull request #15434 from rhatdan/manifest1OpenShift Merge Robot2022-08-24
|\ \ | | | | | | Allow podman to run in an environment with keys containing spaces
| * | Allow podman to run in an environment with keys containing spacesDaniel J Walsh2022-08-23
| | | | | | | | | | | | | | | | | | Fixes: https://github.com/containers/podman/issues/15251 Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* | | test: fix commentGiuseppe Scrivano2022-08-24
| |/ |/| | | | | | | | | | | | | | | | | | | | | it is not a kernel bug. Rootless users are not allowed to use non recursive bind mounts, otherwise they would be able to uncover mounts that were not visible before to them. [CI:DOCS] it is just a comment fix. Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* | Merge pull request #15437 from mheon/default_volume_timeoutOpenShift Merge Robot2022-08-24
|\ \ | | | | | | Add support for containers.conf volume timeouts
| * | Add support for containers.conf volume timeoutsMatthew Heon2022-08-23
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also, do a general cleanup of all the timeout code. Changes include: - Convert from int to *uint where possible. Timeouts cannot be negative, hence the uint change; and a timeout of 0 is valid, so we need a new way to detect that the user set a timeout (hence, pointer). - Change name in the database to avoid conflicts between new data type and old one. This will cause timeouts set with 4.2.0 to be lost, but considering nobody is using the feature at present (and the lack of validation means we could have invalid, negative timeouts in the DB) this feels safe. - Ensure volume plugin timeouts can only be used with volumes created using a plugin. Timeouts on the local driver are nonsensical. - Remove the existing test, as it did not use a volume plugin. Write a new test that does. The actual plumbing of the containers.conf timeout in is one line in volume_api.go; the remainder are the above-described cleanups. Signed-off-by: Matthew Heon <mheon@redhat.com>
* | Merge pull request #15443 from flouthoc/env-merge-supportOpenShift Merge Robot2022-08-24
|\ \ | | | | | | run,create: add support for `--env-merge` for preprocessing default environment variables
| * | run,create: add support for --env-merge for preprocessing varsAditya R2022-08-24
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow end users to preprocess default environment variables before injecting them into container using `--env-merge` Usage ``` podman run -it --rm --env-merge some=${some}-edit --env-merge some2=${some2}-edit2 myimage sh ``` Closes: https://github.com/containers/podman/issues/15288 Signed-off-by: Aditya R <arajan@redhat.com>