summaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAge
* podman generate kube - add actual testsEd Santiago2022-08-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This exposed a nasty bug in our system-test setup: Ubuntu (runc) was writing a scratch containers.conf file, and setting CONTAINERS_CONF to point to it. This was well-intentionedly introduced in #10199 as part of our long sad history of not testing runc. What I did not understand at that time is that CONTAINERS_CONF is **dangerous**: it does not mean "I will read standard containers.conf and then override", it means "I will **IGNORE** standard containers.conf and use only the settings in this file"! So on Ubuntu we were losing all the default settings: capabilities, sysctls, all. Yes, this is documented in containers.conf(5) but it is such a huge violation of POLA that I need to repeat it. In #14972, as yet another attempt to fix our runc crisis, I introduced a new runc-override mechanism: create a custom /etc/containers/containers.conf when OCI_RUNTIME=runc. Unlike the CONTAINERS_CONF envariable, the /etc file actually means what you think it means: "read the default file first, then override with the /etc file contents". I.e., we get the desired defaults. But I didn't remember this helpers.bash workaround, so our runc testing has actually been flawed: we have not been testing with the system containers.conf. This commit removes the no-longer-needed and never-actually-wanted workaround, and by virtue of testing the cap-drops in kube generate, we add a regression test to make sure this never happens again. It's a little scary that we haven't been testing capabilities. Also scary: this PR requires python, for converting yaml to json. I think that should be safe: python3 'import yaml' and 'json' works fine on a RHEL8.7 VM from 1minutetip. Signed-off-by: Ed Santiago <santiago@redhat.com>
* Merge pull request #15364 from rhatdan/statsOpenShift Merge Robot2022-08-17
|\ | | | | Add podman stats --no-trunc option
| * Add podman stats --no-trunc optionDaniel J Walsh2022-08-17
| | | | | | | | | | | | | | | | This is for compatibility with Docker. Partial fix for https://github.com/containers/podman/issues/14917 Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* | Add podman manifest create -a. Alias for --amend:Docker compatibilityDaniel J Walsh2022-08-17
|/ | | | Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* Merge pull request #15341 from rhatdan/kubeOpenShift Merge Robot2022-08-17
|\ | | | | Fix podman kube generate --help to show correct help message
| * Fix podman kube generate --help to show correct help messageDaniel J Walsh2022-08-16
| | | | | | | | Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* | Cirrus: add podman_machine_aarch64Lokesh Mandvekar2022-08-17
| | | | | | | | | | | | | | | | | | Run machine tests on every PR as label-driven machine test triggering is currently hard to predict and debug. Co-authored-by: Ed Santiago <santiago@redhat.com> Co-authored-by: Miloslav Trmač <mitr@redhat.com> Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
* | Merge pull request #14999 from sstosh/restart-optionOpenShift Merge Robot2022-08-17
|\ \ | | | | | | Add restart --cidfile, --filter
| * | Add restart --cidfile, --filterToshiki Sonoda2022-08-12
| | | | | | | | | | | | | | | | | | | | | --cidfile : Read container ID from the specified file and restart the container. --filter : restart the filtered container. Signed-off-by: Toshiki Sonoda <sonoda.toshiki@fujitsu.com>
* | | podman manifest create: accept --amend and --insecure flagsNalin Dahyabhai2022-08-16
| |/ |/| | | | | | | | | | | | | Accept a --amend flag in `podman manifest create`, and treat `--insecure` as we would `--tls-verify=false` in `podman manifest`'s "add", "create", and "push" subcommands. Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
* | system tests: fix broken runc testEd Santiago2022-08-16
| | | | | | | | | | | | | | | | | | | | | | | | | | Followup to #14613, which was never actually tested until this week in RHEL8 gating tests (see issue #15337). * add missing backslash in '|' expression * allow extra text after error (e.g., "invalid argument") No way to test this until it makes its way into RHEL8, so, fingers crossed. Signed-off-by: Ed Santiago <santiago@redhat.com>
* | Merge pull request #15317 from rhatdan/debugOpenShift Merge Robot2022-08-16
|\ \ | | | | | | Add compatibility support for --debug flag from docker
| * | Add compatibility support for --debug -D flag from dockerDaniel J Walsh2022-08-15
| |/ | | | | | | | | | | This is another fix for https://github.com/containers/podman/issues/14917 Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* | Merge pull request #15270 from nicrowe00/kubegenerateOpenShift Merge Robot2022-08-16
|\ \ | | | | | | Add "podman kube generate" command
| * | Add "podman kube generate" commandNiall Crowe2022-08-11
| | | | | | | | | | | | | | | | | | | | | | | | "podman kube generate" creates Kubernetes YAML from Podman containers, pods or volumes. Users will still be able to use "podman generate kube" as an alias of "kube generate". Signed-off-by: Niall Crowe <nicrowe@redhat.com>
* | | Add Docker compatibility for --dns-option to --dns-optDaniel J Walsh2022-08-15
| |/ |/| | | | | | | Fixes one of the issues found in https://github.com/containers/podman/issues/14917 Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* | Merge pull request #15285 from YoitoFes/fix-15210OpenShift Merge Robot2022-08-11
|\ \ | |/ |/| remote manifest push: show copy progress
| * remote manifest push: show copy progressNaoto Kobayashi2022-08-11
| | | | | | | | | | | | | | | | | | | | `podman-remote manifest push` has shown absolutely no progress at all. Fix that by doing the same as the remote-push code does. Like remote-push, `quiet` parameter is true by default for backwards compatibility. Signed-off-by: Naoto Kobayashi <naoto.kobayashi4c@gmail.com>
* | kube play: sd-notify integrationValentin Rothberg2022-08-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Integrate sd-notify policies into `kube play`. The policies can be configured for all contianers via the `io.containers.sdnotify` annotation or for indidivual containers via the `io.containers.sdnotify/$name` annotation. The `kube play` process will wait for all containers to be ready by waiting for the individual `READY=1` messages which are received via the `pkg/systemd/notifyproxy` proxy mechanism. Also update the simple "container" sd-notify test as it did not fully test the expected behavior which became obvious when adding the new tests. Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
* | libpod: allow the notify socket to be passed programaticallyValentin Rothberg2022-08-10
|/ | | | | | | | | The notify socket can now either be specified via an environment variable or programatically (where the env is ignored). The notify mode and the socket are now also displayed in `container inspect` which comes in handy for debugging and allows for propper testing. Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
* Merge pull request #12865 from rhatdan/crunOpenShift Merge Robot2022-08-10
|\ | | | | I believe that these tests will now run with crun.
| * I believe that these tests will now run with crun.Daniel J Walsh2022-08-09
| | | | | | | | Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* | Merge pull request #14926 from cdoern/generateSpecOpenShift Merge Robot2022-08-10
|\ \ | | | | | | podman generate spec
| * | podman generate specCharlie Doern2022-08-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | implement a new command `podman generate spec` which can formulate a json specgen to be consumed by both the pod and container creation API. supported flags are --verbose (default true) print output to the terminal --compact print the json output in a single line format to be piped to the API --filename put the output in a file --clone rename the pod/ctr in the spec so it won't conflict w/ an existing entity Signed-off-by: Charlie Doern <cdoern@redhat.com>
* | | podman ssh work, using new c/common interfaceCharlie Doern2022-08-09
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | implement new ssh interface into podman this completely redesigns the entire functionality of podman image scp, podman system connection add, and podman --remote. All references to golang.org/x/crypto/ssh have been moved to common as have native ssh/scp execs and the new usage of the sftp package. this PR adds a global flag, --ssh to podman which has two valid inputs `golang` and `native` where golang is the default. Users should not notice any difference in their everyday workflows if they continue using the golang option. UNLESS they have been using an improperly verified ssh key, this will now fail. This is because podman was incorrectly using the ssh callback method to IGNORE the ssh known hosts file which is very insecure and golang tells you not yo use this in production. The native paths allows for immense flexibility, with a new containers.conf field `SSH_CONFIG` that specifies a specific ssh config file to be used in all operations. Else the users ~/.ssh/config file will be used. podman --remote currently only uses the golang path, given its deep interconnection with dialing multiple clients and urls. My goal after this PR is to go back and abstract the idea of podman --remote from golang's dialed clients, as it should not be so intrinsically connected. Overall, this is a v1 of a long process of offering native ssh, and one that covers some good ground with podman system connection add and podman image scp. Signed-off-by: Charlie Doern <cdoern@redhat.com>
* | Merge pull request #15225 from unknowndevQwQ/update_logoOpenShift Merge Robot2022-08-09
|\ \ | | | | | | [CI:DOCS]: update the podman logo
| * | docs: update the podman logounknowndevQwQ2022-08-07
| | | | | | | | | | | | | | | | | | for podman/#15222 Signed-off-by: unknowndevQwQ <unknowndevQwQ@pm.me>
* | | Merge pull request #15246 from TomSweeneyRedHat/dev/tsweeney/buildah1.27.0OpenShift Merge Robot2022-08-09
|\ \ \ | | | | | | | | Bump to Buildah v1.27.0
| * | | test: update apply-podman-deltas for new testsAditya R2022-08-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Skip some newly added test for remote and modify error output of a test case which is reporter early in case of podman. [NO NEW TESTS NEEDED] [NO TESTS NEEDED] Signed-off-by: Aditya R <arajan@redhat.com>
* | | | Merge pull request #15134 from sstosh/improve-outputOpenShift Merge Robot2022-08-09
|\ \ \ \ | |/ / / |/| | | Output messages display rawInput
| * | | Output messages display rawInputToshiki Sonoda2022-08-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `init`, `checkpint/restore` and `cleanup` command now display output messages which is rawInput instead of a container ID. Example: ``` $ podman init <container name> <container name> $ podman init <short container ID> <short container ID> ``` Signed-off-by: Toshiki Sonoda <sonoda.toshiki@fujitsu.com>
* | | | cmd: refuse --userns if a mapping is specifiedGiuseppe Scrivano2022-08-08
| |/ / |/| | | | | | | | | | | | | | | | | | | | | | | if an explicit mapping is specified, do not accept `--userns` since it overriden to "private". Closes: https://github.com/containers/podman/issues/15233 Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* | | Merge pull request #15205 from sstosh/ci-run-cleanup-rootlessopenshift-ci[bot]2022-08-06
|\ \ \ | | | | | | | | e2e: Add rootless mount cleanup test
| * | | e2e: Add rootless mount cleanup testToshiki Sonoda2022-08-05
| | | | | | | | | | | | | | | | | | | | | | | | `podman run -d mount cleanup test` adapt to rootless environment. Signed-off-by: Toshiki Sonoda <sonoda.toshiki@fujitsu.com>
* | | | Merge pull request #15093 from karthikelango137/rmiNoPrune1openshift-ci[bot]2022-08-05
|\ \ \ \ | | | | | | | | | | remove image podman no prune
| * | | | remove image podman no pruneKarthik Elango2022-08-04
| |/ / / | | | | | | | | | | | | Signed-off-by: Karthik Elango <kelango@redhat.com>
* | | | Merge pull request #15092 from karthikelango137/startFilteropenshift-ci[bot]2022-08-05
|\ \ \ \ | |/ / / |/| | | start --filter flag changes
| * | | start filter flag changesKarthik Elango2022-08-04
| | | | | | | | | | | | | | | | | | | | | | | | Tying filtering logic for podman stop and start to same place in getContainersAndInputByContext() to reduce code redundancy Signed-off-by: Karthik Elango <kelango@redhat.com>
* | | | Merge pull request #15197 from vrothberg/fix-15006openshift-ci[bot]2022-08-04
|\ \ \ \ | |_|_|/ |/| | | podman rmi: improve error message for build containers
| * | | podman rmi: improve error message for build containersValentin Rothberg2022-08-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Improve the error message when attempting to remove an image that is in use by an external/build container. Prior, the error only indicated that the image was in use but did not aid in resolving the issue. Fixes: #15006 Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
* | | | test/system/255-auto-update.bats: add an SELinux commentValentin Rothberg2022-08-04
|/ / / | | | | | | | | | | | | | | | | | | | | | Drop a comment on using `chcon` to let the local rollback test pass. It took me a while to understand why the test failed and future souls may appreciated the extra breadcrumb. Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
* | | add omitempty to Secret in k8s VolumeSourceCharlie Doern2022-08-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | Secret was populating a generated kube as `null`. Add omitempty so that when the volume source is not a secret, we do not print unnecessary info resolves #15156 Signed-off-by: Charlie Doern <cdoern@redhat.com>
* | | Merge pull request #15084 from sstosh/rm-filteropenshift-ci[bot]2022-08-03
|\ \ \ | | | | | | | | Add rm --filter option
| * | | Add rm --filter optionToshiki Sonoda2022-07-30
| | | | | | | | | | | | | | | | | | | | | | | | --filter : remove the filtered container. Signed-off-by: Toshiki Sonoda <sonoda.toshiki@fujitsu.com>
* | | | Merge pull request #15161 from lsm5/switch-to-dnfopenshift-ci[bot]2022-08-03
|\ \ \ \ | | | | | | | | | | Cirrus: use dnf instead of rpm to install packages
| * | | | skip pod resource limits test on aarch64Lokesh Mandvekar2022-08-03
| | |/ / | |/| | | | | | | | | | Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
* | | | Merge pull request #15166 from sstosh/ci-mount-rootlessopenshift-ci[bot]2022-08-03
|\ \ \ \ | | | | | | | | | | Cirrus: Fix e2e tests for "mount_rootless_test"
| * | | | Cirrus: Fix e2e tests for "mount_rootless_test"Toshiki Sonoda2022-08-03
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e2e `mount_rootless_test` did not load `podman binary path` successfully. This PR fix this problem. [It] podman unshare podman mount: ``` [+1596s] Running: ... unshare mount <cid> [+1596s] Error: exec: no command [+1596s] output: ``` [It] podman unshare image podman mount: ``` [+1599s] Running: ... unshare image mount quay.io/libpod/alpine:latest [+1599s] Error: exec: no command [+1599s] output: ``` Signed-off-by: Toshiki Sonoda <sonoda.toshiki@fujitsu.com>
* / / / add "podman kube down" commandNiall Crowe2022-08-02
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | The "podman kube down" reads in a structured file of Kubernetes YAML and removes pods based on the Kubernetes kind described in the YAML, similiar to "podman play kube --down". Users will still be able to use "podman play kube --down" and "podman kube play --down" to perform the same function. Signed-off-by: Niall Crowe <nicrowe@redhat.com>
* | / test: verify manifest inspect must contain OCI annotationsAditya R2022-08-01
| |/ |/| | | | | Signed-off-by: Aditya R <arajan@redhat.com>