Commit Graph

6103 Commits

Author SHA1 Message Date
Ed Santiago
23ead49dee pasta tests: remove some skips
Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-11-16 15:14:36 -07:00
openshift-merge-bot[bot]
638199c495 Merge pull request #20671 from ygalblum/quadlet-uidmap
Quadlet - add support for UID and GID Mapping
2023-11-16 15:40:37 +00:00
Ygal Blum
e35fc92c02 Quadlet - add support for UID and GID Mapping
Support UIDMap, GIDMap, SubUIDMap and SubGIDMap
If any of them are set disregard the deprecated Remap keys
Add tests and man

Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2023-11-15 12:10:22 +02:00
Ygal Blum
dc709e4d76 Quadlet - Allow using symlink on the base search paths
Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2023-11-15 09:58:28 +02:00
Ed Santiago
047da19b5f (Temporary) Emergency CI fix: quay search is broken
Someone please revert this once quay search is fixed.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-11-13 06:52:10 -07:00
openshift-merge-bot[bot]
a3f8f8c1c3 Merge pull request #20652 from containers/renovate/github.com-onsi-ginkgo-v2-2.x
fix(deps): update module github.com/onsi/ginkgo/v2 to v2.13.1
2023-11-13 12:06:13 +00:00
openshift-merge-bot[bot]
8e6fe99fdb Merge pull request #20662 from ygalblum/quadlet-mount-equal-sign
Quadlet test - add case for multi = sign in mount
2023-11-13 08:09:50 +00:00
Ygal Blum
bd375058cf Quadlet test - add case for multi = sign in mount
Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2023-11-12 10:10:42 +02:00
Ed Santiago
6b5b399121 CI: e2e: fix a smattering of test bugs that slipped in
...while Ed was napping:
 - create/run based on remote image: was not actually testing anything
 - create/run --tls-verify: ditto
 - run --decryption-key: sort of testing but not really
 - Fail(), not Skip(), if we can't start registry.
 - never Skip() halfway through a test: emit a message, and return

The Skip-in-the-middle thing deserves to be shouted from the rooftops.
Let's please never do that again. Skip() says "this entire test was
skipped", which can be misleading to a spelunker trying to track
down a problem related to those tests.

Also, more minor:
 - reduce use of port 5000
 - rename a confusingly-named test

Ref: #11205, #12009

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-11-10 13:41:34 -07:00
renovate[bot]
d07263f348 fix(deps): update module github.com/onsi/ginkgo/v2 to v2.13.1
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-10 18:31:35 +00:00
openshift-merge-bot[bot]
bc7c01d195 Merge pull request #20638 from containers/renovate/golang.org-x-tools-0.x
fix(deps): update module golang.org/x/tools to v0.15.0
2023-11-10 16:03:59 +00:00
openshift-merge-bot[bot]
7d107b9892 Merge pull request #19879 from rhatdan/ulimits
Support passing of Ulimits as -1 to mean max
2023-11-10 10:47:43 +00:00
renovate[bot]
5388836c11 fix(deps): update module golang.org/x/tools to v0.15.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-09 02:16:55 +00:00
openshift-merge-bot[bot]
01fd9e906b Merge pull request #20620 from baude/codecleanup
Automatic code cleanups - JetBrains
2023-11-08 22:14:36 +00:00
openshift-merge-bot[bot]
6bb2edd215 Merge pull request #20608 from rhatdan/codespell
Run codespell on podman
2023-11-08 08:30:43 +00:00
Brent Baude
78798cab00 Automatic code cleanups - JetBrains
A bunch of cleanups as suggested by linters/etc in JetBrains IDE.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2023-11-07 14:05:15 -06:00
openshift-merge-bot[bot]
111b2337f9 Merge pull request #20613 from edsantiago/doublecheck_db
systests: add a last-minute check for db backend
2023-11-07 16:18:35 +00:00
Ed Santiago
1c969219d4 systests: add [NNN] prefix in logs, NNN = filename
This is something I've long wanted in logs: an indicator of
which bats file the test lives in. As of v1.7.0 there is
now a way to do that, BATS_TEST_NAME_PREFIX. Use it. Logs
now look like:

     ok 14 [001] podman - shutdown engines
     ok 15 [005] podman info - basic test
     ...
     not ok 195 [065] podman cp - dot notation ....

(As a bonus, we can remove the super-long "test blah blah pasta"
duplication from 505.bats).

Also, removed no-longer-necessary (fingers crossed) debug code
for the recently fixed containers-storage umount/EINVAL flake.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-11-06 14:45:45 -07:00
Ed Santiago
92cd7b25f2 systests: add a last-minute check for db backend
This will only fail if someone ever adds a system test that
runs podman with "--db-backend boltdb", which nobody should
ever do, but this is a cheap way to make sure it never happens.

See #20563

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-11-06 14:15:28 -07:00
Daniel J Walsh
c2de6d34ca Run codespell on podman
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-11-06 09:23:16 -06:00
Daniel J Walsh
420316ef6e Podman push --help should reveal default compression
When using the local client, we should display the compression
algorithm.

If the compression level is set, then show this also.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-11-04 07:33:53 -05:00
openshift-ci[bot]
b44d372b1b Merge pull request #20559 from edsantiago/ci_default_sqlite
CI: default to sqlite
2023-11-03 18:56:29 +00:00
Aditya R
607aff55fa remote,test: remove .dockerignore which is a symlink
It seems certain test infrastructure prevents cloning repo which
contains symlink outside of the repo itself, generate symlink for such
test by the testsuite itself just before running test and remove it when
test is completed.

Signed-off-by: Aditya R <arajan@redhat.com>
2023-11-03 20:39:02 +05:30
Ed Santiago
2a17baa29d CI: default to sqlite
Followup to #20318: now that sqlite is the podman default,
enforce that in CI as well. Test boltdb only in Prior Fedora.

In the process, discovered & cleaned up some duplication
and unused YAML anchors.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-11-02 13:17:21 -06:00
Daniel J Walsh
af0ef47f0c Add status messages to podman --remote commit
Fixes: https://github.com/containers/podman/issues/19947

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-11-01 14:31:09 -04:00
openshift-ci[bot]
f84dba2273 Merge pull request #20506 from edsantiago/farm_tests
CI: podman farm tests cleanup
2023-11-01 13:19:51 +00:00
Daniel J Walsh
18d6bb40d5 Support passing of Ulimits as -1 to mean max
Docker allows the passing of -1 to indicate the maximum limit
allowed for the current process.

Fixes: https://github.com/containers/podman/issues/19319

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-11-01 08:46:55 -04:00
openshift-ci[bot]
2972f5941f Merge pull request #20545 from giuseppe/fix-hostname-with-host-uts
libpod: fix /etc/hostname with --uts=host
2023-10-31 14:05:52 +00:00
Giuseppe Scrivano
b332ca7a02 libpod: fix /etc/hostname with --uts=host
when --uts=host is provided, the expectation is to use the hostname
from the host not the container name.

Closes: https://github.com/containers/podman/issues/20448

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2023-10-31 13:02:17 +01:00
openshift-ci[bot]
4eb02346d5 Merge pull request #20536 from edsantiago/pasta_timeout_tweaks
systests: pasta: avoid hangs
2023-10-31 11:58:57 +00:00
openshift-ci[bot]
735e243319 Merge pull request #20539 from edsantiago/stty_flake
systests: stty test: retry once on flake
2023-10-31 07:55:49 +00:00
openshift-ci[bot]
377644640a Merge pull request #20476 from rhatdan/build
podman build --remote URI Dockerfile should not be treated as file
2023-10-31 07:49:59 +00:00
Ed Santiago
89d7b27357 systests: stty test: retry once on flake
I've seen the stty flake (#10710) twice in one day. Time to
add a retry.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-10-30 19:13:30 -06:00
Ed Santiago
6b94c8fd31 systests: pasta: avoid hangs
Under some circumstances BATS tests hang, causing a CI timeout.

One prominent reason is pasta test failures: BATS will not
exit until all child processes are finished, and in some
environments the socat client can stay forever.

Workaround: run socat with a timeout, and with limited retries.

Tested on an f38 system with broken IPv6: without this fix,
bats hangs until I ^C. With this fix, bats exits as it should.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-10-30 12:53:05 -06:00
openshift-ci[bot]
4871182422 Merge pull request #20457 from rhatdan/pod
podman kube play --replace should force removal of pods and containers
2023-10-30 11:51:19 +00:00
openshift-ci[bot]
77d2658201 Merge pull request #20369 from cgiradkar/Issue-16759-docs
Define better error message for container name conflicts with external storage
2023-10-30 10:22:00 +00:00
Daniel J Walsh
a1577ec7b0 podman build --remote URI Dockerfile shoud not be treated as file
Podman build --remote is translating https://path as if it was a file
path. This change will leave it as a URL so it can be parsed on the
server side.

Fixed: https://github.com/containers/podman/issues/20475

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-10-27 15:10:18 -04:00
openshift-ci[bot]
4f6a8f0d50 Merge pull request #20483 from vrothberg/RUN-1934
container.conf: support attributed string slices
2023-10-27 17:49:13 +00:00
Daniel J Walsh
91df369ae6 podman kube play --replace should force removal of pods and containers
Fixes: https://github.com/containers/podman/issues/20025

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-10-27 07:29:53 -04:00
Valentin Rothberg
e966c86d98 container.conf: support attributed string slices
All `[]string`s in containers.conf have now been migrated to attributed
string slices which require some adjustments in Buildah and Podman.

[NO NEW TESTS NEEDED]

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2023-10-27 12:44:33 +02:00
openshift-ci[bot]
7d5af58bd7 Merge pull request #20501 from mheon/powercap
Mask /sys/devices/virtual/powercap
2023-10-27 08:04:52 +00:00
Ed Santiago
91ccd7cd2f CI: podman farm tests cleanup
Followup from #20050. Lots of tiny problems in tests, all of
them adding up to significant maintainability problems.

These tests are currently impossible to run in a dev environment,
and super-painful to set up in 1mt, so I've just done a few hours
of cleanup and am giving up for the week.

This is ready for merge, in the sense that it's much better than
what exists now, but it still needs boatloads more work.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-10-26 18:12:07 -06:00
Matthew Heon
be7dd128ef Mask /sys/devices/virtual/powercap
I don't really like this solution because it can't be undone by
`--security-opt unmask=all` but I don't see another way to make
this retroactive. We can potentially change things up to do this
the right way with 5.0 (actually have it in the list of masked
paths, as opposed to adding at spec finalization as now).

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2023-10-26 18:24:25 -04:00
Ed Santiago
9e3363c5e3 CI: systest: safer random_rfc1918_subnet
Our aarch64 CI system uses 172.31.0.0/20. Because I was (and am)
lazy, my random_rfc1918_subnet() helper was only checking /24.
This causes flakes.

Solution is to actually do it right: binary arithmetic, prefix
matching. This is effectively impossible in bash, so, use a
hairy perl helper and add copious tests.

Fixes: #18693

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-10-26 09:19:32 -06:00
Ed Santiago
c841fa9e9a CI: e2e: safer GetPort()
Problem: frequent CI flakes of the form:

   Error: cannot listen on the TCP port: listen tcp4 :5355: bind: address already in use

Always 5355.

Cause: systemd-resolve listens on 5355, but not on 127.0.0.1. So
when GetPort() tries its is-it-in-use check by binding localhost,
it succeeds; but then podman binds * and fails.

Solution: GetPort(): test by binding 0.0.0.0.

Also, improve the failure message.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-10-26 05:52:02 -06:00
openshift-ci[bot]
0242a7439e Merge pull request #20470 from edsantiago/curl_port_flake_fix
CI: try to fix more networking flakes
2023-10-25 21:17:03 +00:00
openshift-ci[bot]
5a47b1e150 Merge pull request #20050 from umohnani8/farm-build-2
Add podman farm build command
2023-10-25 19:54:36 +00:00
openshift-ci[bot]
32ef2d7080 Merge pull request #20479 from ygalblum/quadlet-read-only
Quadlet - explicit support for read-only-tmpfs
2023-10-25 19:28:07 +00:00
Ed Santiago
c0fb8fe594 CI: try to fix more networking flakes
There's a whole slew of networking-related flakes whose common
element seems to be improper use of curl. Fix those by:

  * add --retry --retry-connrefused; and/or
  * add -S ("show errors". Plain -s silences everything!); and/or
  * test exit status from curl; and/or
  * add wait_for_port after "podman run -d", to avoid races
  * log commands, to make debugging easier

Important note: wait_for_port() was not working with rootless
podman ports. Trivial proof:

  $ podman run -d --name foo -p 8192:80 \
      quay.io/libpod/testimage:20221018 \
      /bin/busybox-extras httpd -f -p 80
  $ grep :2000 /proc/net/tcp
  [no results]

Solution: use ss tool; it seems to handle this just fine.
There may be a better solution.

Oh, also, add -t1 to a podman restart, to shave 18s from test run.

Fixes: #20335 and, I think, a handful of others

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-10-25 07:24:16 -06:00
openshift-ci[bot]
556898511c Merge pull request #20481 from vrothberg/fix-20469
compat API: fix image-prune --all
2023-10-25 11:29:30 +00:00