summaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAge
* Merge pull request #12455 from jwhonce/issues/10974OpenShift Merge Robot2021-12-02
|\ | | | | Refactor podman image command output
| * Refactor podman image command outputJhon Honce2021-12-02
| | | | | | | | | | | | | | | | | | | | | | Leverage new report.Formatter allowing better compatibility from podman command output. Follow on PR's will cover containers, etc. See #10974 Signed-off-by: Jhon Honce <jhonce@redhat.com>
* | Merge pull request #12480 from vrothberg/fix-12453OpenShift Merge Robot2021-12-02
|\ \ | | | | | | compat: images/json
| * | compat: images/jsonValentin Rothberg2021-12-02
| |/ | | | | | | | | | | | | Do not list manifest lists. Docker doesn't either. Fixes: #12453 Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
* | Merge pull request #12471 from edsantiago/e2e_tmpdir_cleanupOpenShift Merge Robot2021-12-02
|\ \ | |/ |/| e2e tmpdir cleanup
| * remove ARTIFACT_DIR and ArtifactPathEd Santiago2021-12-01
| | | | | | | | | | | | ...they're not actually used for anything Signed-off-by: Ed Santiago <santiago@redhat.com>
| * Image caches: allow overriding cache dirEd Santiago2021-12-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Images were being cached in /tmp, with no option to override. Now $PODMAN_TEST_IMAGE_CACHE_DIR can be used to point to a user-preferred location. If unset, try $TMPDIR before settling on /tmp. Also: refactor the logic for determining the tarball name. Also: include registry name in tarball name. Also: clean up unused/unnecessary code Also: do not echo "Restoring..." if we're not actually restoring. Signed-off-by: Ed Santiago <santiago@redhat.com>
| * Rename CrioRoot as just RootEd Santiago2021-12-01
| | | | | | | | | | | | | | ...and remove other uses of "crio". They're confusing and misleading. (I'm sure it made sense at one time) Signed-off-by: Ed Santiago <santiago@redhat.com>
* | Merge pull request #12458 from edsantiago/remove_betrueOpenShift Merge Robot2021-12-01
|\ \ | | | | | | e2e: yet more cleanup of BeTrue/BeFalse
| * | e2e: yet more cleanup of BeTrue/BeFalseEd Santiago2021-11-30
| | | | | | | | | | | | | | | | | | Thanks to Paul for teaching me about HaveKey() Signed-off-by: Ed Santiago <santiago@redhat.com>
* | | Merge pull request #12307 from hshiina/device-weightOpenShift Merge Robot2021-12-01
|\ \ \ | | | | | | | | Implement 'podman run --blkio-weight-device'
| * | | Implement 'podman run --blkio-weight-device'Hironori Shiina2021-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `--blkio-weight-device` is not fully implemented and this causes an unexpected panic when specified because an entry is put into an uninitialized map at parsing. This fix implements the `--blkio-weight-device` and adds a system test. When creating a spec generator on a client, a major number and a minor number of a device cannot be set. So, these numbers are inspected on a server and set to a runtime spec. Signed-off-by: Hironori Shiina <shiina.hironori@jp.fujitsu.com>
* | | | Merge pull request #12450 from giuseppe/compression-formatOpenShift Merge Robot2021-12-01
|\ \ \ \ | |_|_|/ |/| | | podman, push: expose --compression-format
| * | | podman, push: expose --compression-formatGiuseppe Scrivano2021-12-01
| |/ / | | | | | | | | | | | | | | | support overriding the compression format at push time. Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* | | Merge pull request #12462 from vrothberg/fix-12452OpenShift Merge Robot2021-12-01
|\ \ \ | |_|/ |/| | top: parse ps(1) args correctly
| * | top: parse ps(1) args correctlyValentin Rothberg2021-12-01
| |/ | | | | | | | | | | | | The arguments of ps(1) should be shlexed. Fixes: #12452 Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
* | Merge pull request #12454 from edsantiago/remove_betrueOpenShift Merge Robot2021-11-30
|\ \ | | | | | | More BeTrue cleanup
| * | a few more manual BeTrue cleanupsEd Santiago2021-11-30
| | | | | | | | | | | | Signed-off-by: Ed Santiago <santiago@redhat.com>
| * | Convert strings.Contains() to Expect(ContainSubstring)Ed Santiago2021-11-30
| | | | | | | | | | | | | | | | | | | | | ...done manually, not via sed, because some of the inner expressions include nested commas. Signed-off-by: Ed Santiago <santiago@redhat.com>
| * | e2e tests: more cleanup of BeTrue()sEd Santiago2021-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Write a BeValidJSON() matcher, and replace IsJSONOutputValid(): sed -i -e 's/Expect(\(.*\)\.IsJSONOutputValid()).To(BeTrue())/Expect(\1.OutputToString())\.To(BeValidJSON())/' test/e2e/*_test.go (Plus a few manual tweaks) Signed-off-by: Ed Santiago <santiago@redhat.com>
* | | Merge pull request #12414 from flouthoc/api-allow-secretsOpenShift Merge Robot2021-11-30
|\ \ \ | |/ / |/| | tunnel: allow `remote` and `API` to accept `--secrets`
| * | podman-remote: prevent leaking secret into imageAditya Rajan2021-11-30
| | | | | | | | | | | | | | | | | | | | | | | | Prevents temp secrets leaking into image by moving it away from context directory to parent builder directory. Builder directory automatically gets cleaned up when we are done with the build. Signed-off-by: Aditya Rajan <arajan@redhat.com>
| * | podman-remote: copy secret to contextdir is absolute path on hostAditya Rajan2021-11-30
| |/ | | | | | | | | | | | | | | Podman remote must treat build secrets as part of context directory. If secret path is absolute path on host copy it to tar file and pass it to remote server. Signed-off-by: Aditya Rajan <arajan@redhat.com>
* | Merge pull request #12449 from vrothberg/fix-12438OpenShift Merge Robot2021-11-30
|\ \ | | | | | | systemd: replace multi-user with default.target
| * | systemd: replace multi-user with default.targetValentin Rothberg2021-11-30
| |/ | | | | | | | | | | | | | | | | | | Replace `multi-user.target` with `default.target` across the code base. It seems like the multi-user one is not available for (rootless) users on F35 anymore is causing issues in all kinds of ways, for instance, enabling the podman.service or generated systemd units. Fixes: #12438 Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
* / compat API: allow enforcing short-names resolution to Docker HubValentin Rothberg2021-11-30
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Docker-compatible REST API has historically behaved just as the rest of Podman and Buildah (and the atomic Docker in older RHEL/Fedora) where `containers-registries.conf` is centrally controlling which registries a short name may resolve to during pull or local image lookups. Please refer to a blog for more details [1]. Docker, however, is only resolving short names to docker.io which has been reported (see #12320) to break certain clients who rely on this behavior. In order to support this scenario, `containers.conf(5)` received a new option to control whether Podman's compat API resolves to docker.io only or behaves as before. Most endpoints allow for directly normalizing parameters that represent an image. If set in containers.conf, Podman will then normalize the references directly to docker.io. The build endpoint is an outlier since images are also referenced in Dockerfiles. The Buildah API, however, supports specifying a custom `types.SystemContext` in which we can set a field that enforces short-name resolution to docker.io in `c/image/pkg/shortnames`. Notice that this a "hybrid" approach of doing the normalization directly in the compat endpoints *and* in `pkg/shortnames` by passing a system context. Doing such a hybrid approach is neccessary since the compat and the libpod endpoints share the same `libimage.Runtime` which makes a global enforcement via the `libimage.Runtime.systemContext` impossible. Having two separate runtimes for the compat and the libpod endpoints seems risky and not generally applicable to all endpoints. [1] https://www.redhat.com/sysadmin/container-image-short-names Fixes: #12320 Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
* Merge pull request #12433 from matejvasek/fix-mount-parsingOpenShift Merge Robot2021-11-29
|\ | | | | fix: parsing of HostConfig.Mounts for container create
| * fix: parsing of HostConfig.Mounts for container createMatej Vasek2021-11-29
| | | | | | | | Signed-off-by: Matej Vasek <mvasek@redhat.com>
* | e2e tests: enable golintEd Santiago2021-11-29
|/ | | | | | ...and fix problems found therewith. Signed-off-by: Ed Santiago <santiago@redhat.com>
* fix: error reporting for archive endpointMatej Vasek2021-11-28
| | | | | | Returning 500 when copying to read-only destination. Signed-off-by: Matej Vasek <mvasek@redhat.com>
* libpod: improve heuristic to detect cgroupGiuseppe Scrivano2021-11-24
| | | | | | | | | | | improve the heuristic to detect the scope that was created for the container. This is necessary with systemd running as PID 1, since it moves itself to a different sub-cgroup, thus stats would not account for other processes in the same container. Closes: https://github.com/containers/podman/issues/12400 Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* Merge pull request #12398 from edsantiago/remove_betrueOpenShift Merge Robot2021-11-24
|\ | | | | continue e2e test cleanup
| * Find and fix empty Expect()sEd Santiago2021-11-23
| | | | | | | | | | | | | | | | | | | | | | | | That previous commit made me wonder if there are any other instances of Expect() with no assertions. grep Expect test/e2e/*_test.go |egrep -v '\.(To|NotTo|Should)' ...finds a couple of handfuls, most of which are OK (continued on the next line) but a few of which are bugs. Fix those. Signed-off-by: Ed Santiago <santiago@redhat.com>
| * Remove StringInSlice(), part 2Ed Santiago2021-11-23
| | | | | | | | | | | | | | These were NOPs, and were testing the wrong thing (pod ID, not container ID). Fixed manually. Signed-off-by: Ed Santiago <santiago@redhat.com>
| * Remove StringInSlice(), part 1Ed Santiago2021-11-23
| | | | | | | | | | | | via: sed -i -e 's/Expect(StringInSlice(\(.*\), \(.*\))).To(BeTrue())/Expect(\2)\.To(ContainElement(\1))/' test/e2e/*_test.go Signed-off-by: Ed Santiago <santiago@redhat.com>
| * e2e test cleanup, continuedEd Santiago2021-11-23
| | | | | | | | | | | | | | | | Continue eliminating GrepString() and BeTrue(), in tiny incremental steps. Here I take the liberty of refactoring some hard-to-read code by adding a helper. Signed-off-by: Ed Santiago <santiago@redhat.com>
* | Unset SocketLabel after system finishes checkpointingDaniel J Walsh2021-11-23
|/ | | | | | | | | | | | This should fix the SELinux issue we are seeing with talking to /run/systemd/private. Fixes: https://github.com/containers/podman/issues/12362 Also unset the XDG_RUNTIME_DIR if set, since we don't know when running as a service if this will cause issue.s Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* Merge pull request #12371 from jakub-dzon/env-config-mapsOpenShift Merge Robot2021-11-23
|\ | | | | Support env variables based on ConfigMaps sent in payload
| * Support env variables based on ConfigMaps sent in payloadJakub Dzon2021-11-23
| | | | | | | | | | | | Fixes #12363 Signed-off-by: Jakub Dzon <jdzon@redhat.com>
* | Merge pull request #12328 from serverwentdown/fix-compat-ipaddressDaniel J Walsh2021-11-23
|\ \ | | | | | | compat: Add subnet mask behind IP address to match Docker API
| * | compat: Add subnet mask behind IP address to match Docker APIAmbrose Chua2021-11-20
| | | | | | | | | | | | Signed-off-by: Ambrose Chua <ambrose@hey.com>
* | | Merge pull request #12361 from rhatdan/remoteDaniel J Walsh2021-11-23
|\ \ \ | | | | | | | | podman-remote does not support signature-policy
| * | | podman-remote does not support signature-policyDaniel J Walsh2021-11-19
| |/ / | | | | | | | | | | | | | | | Fixes: https://github.com/containers/podman/issues/12357 Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* | | Merge pull request #12010 from vrothberg/fix-11964OpenShift Merge Robot2021-11-23
|\ \ \ | |_|/ |/| | image lookup: do not match *any* tags
| * | image lookup: do not match *any* tagsValentin Rothberg2021-11-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For reasons buried in the history of Podman, looking up an untagged image would match any tag of matching image. For instance, looking up centos would match a local image centos:foobar. Change that behavior to only match the latest tag. Fix: #11964 Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
* | | Merge pull request #12380 from vrothberg/fix-11618OpenShift Merge Robot2021-11-23
|\ \ \ | |/ / |/| | generate systemd: add --start-timeout flag
| * | generate systemd: add --start-timeout flagValentin Rothberg2021-11-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add a new flag to set the start timeout for a generated systemd unit. To make naming consistent, add a new --stop-timeout flag as well and let the previous --time map to it. Fixes: #11618 Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
* | | Oops! Manual edits to broken testsEd Santiago2021-11-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 2 of 2: there were (still are?) a bunch of string checks that didn't have a corresponding Expect(). IIUC that means they were NOPs. Try to identify and fix those. The first few were caught by Go linting, "ok is defined but not used". When I realized the problem, I looked for more using: $ ack -A2 LineInOutputStartsWith ...and tediously eyeballing the results, looking for matches in which the next line was not Expect(). If test was wrong (e.g. "server" should've been "nameserver"), fix that. Also: remove the remove-betrue script. We don't need it in the repo, I just wanted to preserve it for posterity. Signed-off-by: Ed Santiago <santiago@redhat.com>
* | | e2e tests: clean up antihelpful BeTrue()sEd Santiago2021-11-22
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Many ginkgo tests have been written to use this evil form: GrepString("foo") Expect(that to BeTrue()) ...which yields horrible useless messages on failure: false is not true Identify those (automatically, via script) and convert to: Expect(output to ContainSubstring("foo")) ...which yields: "this output" does not contain substring "foo" There are still many BeTrue()s left. This is just a start. This is commit 1 of 2. It includes the script I used, and all changes to *.go are those computed by the script. Commit 2 will apply some manual fixes. Signed-off-by: Ed Santiago <santiago@redhat.com>
* | Merge pull request #12386 from baude/playkuberenameDaniel J Walsh2021-11-22
|\ \ | | | | | | Rename pod on generate of container