Commit Graph

6223 Commits

Author SHA1 Message Date
Ed Santiago
0e09527bd2 systests: kube with policies test: fix race
Add a wait_for_ready() to one kube-play test, to make sure
container output has made it to the journal.

Probably does not fix #18501, but I think it might fix its
most common presentation.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-01-11 13:04:41 -07:00
openshift-merge-bot[bot]
83f89db6c8 Merge pull request #20961 from karuboniru/patch-1
fix checking of relative idmapped mount
2024-01-11 17:20:56 +00:00
Philip Dubé
522934d5cf Replace strings.SplitN with strings.Cut
Cut is a cleaner & more performant api relative to SplitN(_, _, 2) added in go 1.18

Previously applied this refactoring to buildah:
https://github.com/containers/buildah/pull/5239

Signed-off-by: Philip Dubé <philip@peerdb.io>
2024-01-11 13:50:15 +00:00
openshift-merge-bot[bot]
28b5a6e5f0 Merge pull request #21201 from edsantiago/rhel8_gating
System tests: fixes for RHEL8 gating failures
2024-01-10 11:18:32 +00:00
Ming Liu
4e4c3e3dbf cmd: support --config option to locate authentication file
Let's support --config option by setting environment variable
DOCKER_CONFIG instead of ignoring it for docker compatibility, so
it could be used to locate config.json as authentication file.

Also add a test case for this change, remove the deprecated one.

Signed-off-by: Ming Liu <liu.ming50@gmail.com>
2024-01-10 09:31:43 +01:00
Ed Santiago
780733415b System tests: fixes for RHEL8 gating failures
- tmpfs + noswap test: requires noswap feature in kernel.
  Check for it, and skip if unimplemented. (Root only.
  Rootless test works regardless of kernel).

- podman generate systemd tests: always use --files option,
  because otherwise the "DEPRECATED" warning gets written
  to the systemd unit file.

- kube play tests: yikes. Fix longstanding bugs when checking
  for containers running. This revealed a longstanding bug
  in one test: multi-pod YAML never actually worked. Fixed now.

- run_podman(): that new check-for-warnings code we added
  in #19878, duh, I skipped it on Debian but should've skipped
  when *runc*. Do so now and update the comment. Requires
  minor surgery to podman_runtime() helper to avoid
  infinite recursion.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-01-09 09:30:15 -07:00
Ed Santiago
c90e9dad7a e2e: reenable warning checks on Debian
Back when we introduced ExitCleanly(), we couldn't use it
on Debian because of too many runc bugs. Now, early 2024:

 - #11784 has been closed-wontfix, so add a runc special-case
   in the specific test that triggers it.

 - #11785 seems to have gone away? Treat it as fixed.

 - #19552 is languishing, so let's just close-wontfix it too and
   add another runc special case.

 - and, one new rootless-cgroupsV1 exception for a warning msg
   that snuck in recently.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-01-07 18:00:54 -07:00
Oleksandr Redko
8bdf77aa20 Refactor: replace StringInSlice with slices.Contains
Signed-off-by: Oleksandr Redko <Oleksandr_Redko@epam.com>
2024-01-05 16:25:56 +02:00
openshift-merge-bot[bot]
a275f65bb2 Merge pull request #21153 from chuanchang/test_coverage_for_RHEL-14469
test/system: add test for mounting issue in the init container
2024-01-05 11:52:23 +00:00
Alex Jia
260f814bd3 test/system: add test for mounting issue in the init container
Test coverage: https://issues.redhat.com/browse/RHEL-14469

Signed-off-by: Alex Jia <chuanchang.jia@gmail.com>
2024-01-05 09:57:12 +08:00
Daniel J Walsh
f0319d5b7a Error messages not being reported unless more then one error present
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2024-01-04 14:23:04 -05:00
openshift-merge-bot[bot]
de797e5724 Merge pull request #21142 from ygalblum/quadlet-stop-params
Quadlet - add StopTimeout key for .container file
2024-01-04 11:53:31 +00:00
Oleksandr Redko
2a2d0b0e18 chore: delete obsolete // +build lines
Signed-off-by: Oleksandr Redko <Oleksandr_Redko@epam.com>
2024-01-04 11:53:38 +02:00
Ygal Blum
689d97a1d1 Quadlet - add StopTimeout key for .container file
Allow setting the timeout for stopping the container
Add test
Update man

Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2024-01-03 18:38:38 +02:00
openshift-merge-bot[bot]
185fa5ba3f Merge pull request #21103 from fj-tsubasa/remote-kube-play-publish-all
remote: fix podman-remote kube play --publish-all
2024-01-03 12:41:41 +00:00
Ed Santiago
8c546cf7ee CI: bump VMs
All VMs have pasta 2023-12-04, so, remove a skip.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-01-02 16:10:35 -07:00
openshift-merge-bot[bot]
a8c8704664 Merge pull request #21112 from ygalblum/quadlet-multiline-trailing-whitespaces
Quadlet - fix trailing whitespaces handling
2024-01-02 12:54:13 +00:00
Ygal Blum
70a53cb76a Quadlet - fix trailing whitespaces handling
Remove all trailing white spaces from all lines before the line by line
processing
Add test
Exclude the unit file used for the test from whitespace check

Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2024-01-02 12:26:44 +02:00
Tsubasa Watanabe
ec5422af5b e2e: Skip journalctl if journald is unavailable
Test "podman start container by systemd" is failed on the system in
which rootless users don't have accessibility to journald. Therefore,
skip the part that reads journal with journalctl.

Signed-off-by: Tsubasa Watanabe <w.tsubasa@fujitsu.com>
2023-12-31 15:27:53 +09:00
Tsubasa Watanabe
4f94c96b9b remote: fix podman-remote kube play --publish-all
Fix `podman kube play --publish-all` to work in remote environment.

Signed-off-by: Tsubasa Watanabe <w.tsubasa@fujitsu.com>
2023-12-29 12:41:54 +09:00
openshift-merge-bot[bot]
6a65597358 Merge pull request #21053 from rhatdan/VERSION
Move golang requirement from 1.18 to 1.20
2023-12-19 12:10:46 +00:00
openshift-merge-bot[bot]
d161cf32fb Merge pull request #21046 from gavinkflam/improve-test-compose
Improve compose tests to report test errors as failures
2023-12-18 20:35:44 +00:00
openshift-merge-bot[bot]
de3c02ab46 Merge pull request #21039 from rhatdan/pods
Allow PublishPorts to be used with [Pod] entry
2023-12-18 20:30:15 +00:00
Daniel J Walsh
9d0da9d0fd Strip key/values of external quotes
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-12-18 08:03:26 -05:00
Daniel J Walsh
4dd58f226d Move golang requirement from 1.18 to 1.20
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-12-18 07:29:31 -05:00
Daniel J Walsh
f169fc76af Allow PublishPorts to be used with [Pod] entry
Fixed: https://github.com/containers/podman/issues/21035

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-12-17 06:25:36 -05:00
Paul Nettleton
6a96c8b5fc quadlet container support multiple Ulimit options
Add support for using multiple `Ulimit=` options in `.container` files.
Before, only the last `Ulimit=` option was used in the podman command.

Update podman-systemd.unit.5 docs to reflect this change.

Add `test/e2e/quadlet/ulimit.container` to e2e tests.

Signed-off-by: Paul Nettleton <k9@k9withabone.dev>
2023-12-17 04:31:59 -06:00
Gavin Lam
ccc3eb774d Improve compose tests
* Add traps to report setup, tests, and teardown errors as failures
* Pass through return code of podman commands
* Fix unset variables
* Fix simple_port_map image build when installing flask (PEP 668 - externally managed environment error)
* Ignore kill errors in slirp4netns_opts teardown steps

Signed-off-by: Gavin Lam <gavin.oss@tutamail.com>
2023-12-16 12:04:25 -05:00
openshift-merge-bot[bot]
07834ab39e Merge pull request #21013 from gavinkflam/17167-compat-base-hosts-file
Fix Docker API compatibility with network alias
2023-12-15 20:44:08 +00:00
openshift-merge-bot[bot]
d1d38b2aa4 Merge pull request #21011 from edsantiago/wait_wait_wait
CI: safer podman-stop tests
2023-12-15 20:31:38 +00:00
Gavin Lam
db68764d8b Fix Docker API compatibility with network alias (#17167)
* Add BaseHostsFile to container configuration
* Do not copy /etc/hosts file from host when creating a container using Docker API

Signed-off-by: Gavin Lam <gavin.oss@tutamail.com>
2023-12-14 23:31:44 -05:00
Ygal Blum
d026ccf9a7 Kube Play - pass arguments to build
Create a buildah SystemContext from the existing cli arguments
Pass the SystemContext to the build
Add system test

Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2023-12-14 16:31:09 +02:00
Ed Santiago
1c59a9ced1 CI: safer podman-stop tests
A number of tests start a container then immediately run podman stop.
This frequently flakes with:

   StopSignal SIGTERM failed to stop [...] in 10 seconds, resorting to SIGKILL

Likely reason: container is still initializing, and its process
has not yet set up its signal handlers.

Solution: if possible (containers running "top"), wait for "Mem:"
to indicate that top is running. If not possible (pods / catatonit),
sleep half a second.

Intended to fix some of the flakes cataloged in #20196 but I'm
leaving that open in case we see more. These are hard to identify
just by looking in the code.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-12-14 04:49:46 -07:00
openshift-merge-bot[bot]
b82e336751 Merge pull request #21004 from umohnani8/push-endpoint
Fix push endpoint stream
2023-12-13 22:41:33 +00:00
Urvashi Mohnani
126670d5dd Fix push endpoint stream
The push binding endpoint wasn't actually writing the
output data to the stream when quiet=false and there
was no push error.
Do not hard code quiet=true anymore, take into account the
user input.

Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
2023-12-13 13:01:21 -05:00
Ed Santiago
232c32bd35 CI: systests: safer isolation in registry & tests
Our test registry (used for login & local registry tests)
was being run using the standard podman tmpdir, hence the
standard podman database, This was then getting clobbered
in the 330-corrupt-images test, which runs "system reset".
We just didn't know this was happening. Until we added
a registry test after the system reset. Oops.

Solution: new helper function podman_isolation_opts()
sets --root, --runroot, *and --tmpdir*. Refactor all
existing --root/--runroot usages. Document.

Next problem: the "network reload" test in 500-networking.bats
did not (could not) know about our registry port, so the
"iptables -F" command reverted that to DROP, so the subsequent
podman-auth in 700-play timed out.

Solution: add a podman-isolated "network reload" to start_registry().

Final problem, because, really, those weren't enough: a BATS
bug where running with --filter-tags would set IFS=',' in setup_suite
which in turn has catastrophic consequences:

    https://github.com/bats-core/bats-core/issues/812

See #20966 for details of the failure and further conversation.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-12-13 09:46:09 -07:00
openshift-merge-bot[bot]
4582b61d7c Merge pull request #20958 from rhatdan/ps
Support podman ps --format '{{ .Label label }}'
2023-12-13 14:26:17 +00:00
openshift-merge-bot[bot]
5db4224427 Merge pull request #20976 from Luap99/string-array
cli: use StringArray over StringSlice Part 2
2023-12-13 12:22:31 +00:00
Daniel J Walsh
f51ff77644 Support podman ps --format '{{ .Label label }}'
Also Support for podman pod ps  --format '{{ .Label label }}'

Finally fix support for --format '{{ .Podname }}'
   When user specifies .Podname this implies --pod was passed.

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

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-12-13 07:09:54 -05:00
openshift-merge-bot[bot]
a5c8bb25cc Merge pull request #20997 from containers/renovate/golang.org-x-tools-0.x
fix(deps): update module golang.org/x/tools to v0.16.1
2023-12-13 11:02:43 +00:00
openshift-merge-bot[bot]
a52f75e20b Merge pull request #20938 from edsantiago/new_vms
CI: unskip tests on new VMs
2023-12-13 10:32:30 +00:00
renovate[bot]
36e04599af fix(deps): update module golang.org/x/tools to v0.16.1
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-12 22:06:35 +00:00
Paul Holzinger
0f02e43cee cli: podman manifest annotate --annotation use StringArray()
This option accepts arbitrary input so we should allow commas in it.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-12-11 15:43:21 +01:00
Paul Holzinger
d8c3e5b3c1 cli: podman manifest add --annotation use StringArray()
This option accepts arbitrary input so we should allow commas in it.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-12-11 15:43:21 +01:00
Paul Holzinger
3e10a68328 cli: podman kube play --configmap use StringArray()
This option accepts a file path so we should allow commas in it.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-12-11 15:43:21 +01:00
Paul Holzinger
2be4b007b0 cli: podman kube play --log-opt use StringArray()
This option accepts arbitrary input so we should allow commas in it.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-12-11 15:43:21 +01:00
Paul Holzinger
48ab4aec31 podman kube play: fix broken annotation parsing
If a user did not set an equal sign in the annotation that old code
would panic when accessing the second element in the slice.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-12-11 15:43:21 +01:00
Paul Holzinger
e916f49f0b cli: podman kube play --annotation use StringArray()
This option accepts arbitrary input so we should allow commas in it.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-12-11 15:43:20 +01:00
Paul Holzinger
cdb178e954 cli: podman push --encryption-key use StringArray()
This option accepts a file path so we should allow commas in it.
Also add tests for --decryption-key

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-12-11 15:43:20 +01:00
Ed Santiago
6415471dcd EMERGENCY: fix broken CI
Broken by #20827.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-12-11 06:28:21 -07:00