Commit graph

23873 commits

Author SHA1 Message Date
OpenShift Merge Robot
a0b4138626
Merge pull request #19965 from Luap99/api-4.6
[CI:DOCS] update API docs version list
2023-09-13 18:19:38 +02:00
Paul Holzinger
777b5efa4e
[CI:DOCS] update API docs version list
Also update the RELEASE_PROCESS doc so maybe it will not be forgotten
next time.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-09-13 17:07:14 +02:00
Ed Santiago
7b91140238 Try to fix broken CI (gvisor-something)
Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-09-13 07:36:51 -06:00
Ed Santiago
df011f4377 e2e: more ExitCleanly(): manual test fixes
Commit 2 of 2: manual fixes to get tests to pass.

Mostly adding "-q", but in some cases reverting back to Exit(0)
with progress-message checks.

Plus, fix a typo in an error message

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-09-12 21:07:11 -06:00
Ed Santiago
cb1cb338c0 e2e: more ExitCleanly(): dumb string replacements
Ongoing steps toward RUN-1907: replace Exit(0) with ExitCleanly()

Commit 1 of 2: simple automated string-replace, plus fixes
to includes.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-09-12 19:16:18 -06:00
Ed Santiago
62ac96e125 e2e: create_test: use ExitCleanly()
Ongoing steps toward RUN-1907: replace Exit(0) with ExitCleanly()

Several manual fixes for tests that broke:

 1. (the usual case): add "-q" to podman-create or -pull; or

 2. Revert back to Expect(Exit(0)), and add stderr checks for
    progress messages

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-09-12 15:42:14 -06:00
Ed Santiago
b0f77acd12 e2e: diff_test: use ExitCleanly()
Ongoing steps toward RUN-1907: replace Exit(0) with ExitCleanly()

One manual fix: adding -q to podman commit, to avoid progress messages

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-09-12 13:47:35 -06:00
OpenShift Merge Robot
e8c4d7966b
Merge pull request #19952 from mheon/init_cannot_modify
[CI:DOCS] The `podman init` command cannot modify containers.
2023-09-12 21:33:53 +02:00
OpenShift Merge Robot
89d951aa9b
Merge pull request #19948 from edsantiago/e2e_check_stderr__more
e2e: more ExitCleanly(): low-hanging fruit
2023-09-12 21:31:16 +02:00
OpenShift Merge Robot
f0557a27d7
Merge pull request #19932 from lsm5/podmansh-timeout
Podmansh: use podmansh_timeout
2023-09-12 21:23:31 +02:00
OpenShift Merge Robot
c1703f7b55
Merge pull request #19950 from Luap99/vendor-common
bump c/common to latest main
2023-09-12 20:07:33 +02:00
Matt Heon
5920bfa2ef The podman init command cannot modify containers.
`podman init` is a debugging command for inspecting a container's
OCI spec before it runs, to look for anything suspicious. It is
not capable of supporting modifications to that spec, as it
starts Conmon and thus the OCI runtime, so the spec has already
been loaded by the time `podman init` is run.

Signed-off-by: Matt Heon <mheon@redhat.com>
2023-09-12 13:28:42 -04:00
Paul Holzinger
639a1a0293
bump c/common to latest main
Includes the fixes for the search filter changes.

[NO NEW TESTS NEEDED]

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-09-12 16:03:40 +02:00
Lokesh Mandvekar
806c5de12a
Podmansh: use podmansh_timeout
podmansh_timeout is now a configurable option in containers.conf.

[NO NEW TESTS NEEDED]

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2023-09-12 09:18:24 -04:00
Ed Santiago
eefaa512af e2e: more ExitCleanly(): low-hanging fruit
Ongoing steps toward RUN-1907: replace Exit(0) with ExitCleanly()

A handful of test files with trivial command-line replacement,
and no manual muckery (aside from includes).

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-09-12 06:21:00 -06:00
Anders F Björklund
6f4f941373 Add test for legacy address without two slashes
It is perfectly valid to have only scheme and path (no "authority"),
but unfortunately it doesn't work with external clients like Docker.

Signed-off-by: Anders F Björklund <anders.f.bjorklund@gmail.com>
2023-09-12 10:42:27 +02:00
OpenShift Merge Robot
7da91addc8
Merge pull request #19579 from danishprakash/generate-daemonset-support
kube: add DaemonSet support for generate
2023-09-12 10:16:03 +02:00
OpenShift Merge Robot
91f3f3a523
Merge pull request #19924 from edsantiago/e2e_check_stderr__commit
e2e: commit_test: use ExitCleanly()
2023-09-12 09:55:02 +02:00
Radostin Stoyanov
9b17d6cb06
vendor: update checkpointctl to v1.1.0
Signed-off-by: Radostin Stoyanov <radostin@redhat.com>
2023-09-12 08:41:02 +01:00
danishprakash
cdcf18b862
kube: add DaemonSet support for generate
Signed-off-by: danishprakash <danish.prakash@suse.com>
2023-09-12 10:30:57 +05:30
OpenShift Merge Robot
e9673502e4
Merge pull request #19929 from rhatdan/VENDOR
vendor of containers/(common, storage, image)
2023-09-12 03:05:36 +02:00
OpenShift Merge Robot
22003cbb8c
Merge pull request #19923 from edsantiago/e2e_check_stderr__cleanup
e2e: use ExitCleanly() in cleanup_test.go
2023-09-11 21:04:53 +02:00
Daniel J Walsh
75b4679a73
vendor of containers/(common, storage, image)
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-09-11 13:52:23 -04:00
OpenShift Merge Robot
cbb955811c
Merge pull request #19245 from mheon/fix_19237
Ensure HC events fire after logs are written
2023-09-11 19:47:37 +02:00
OpenShift Merge Robot
5e8c75e4a9
Merge pull request #19926 from edsantiago/e2e_check_stderr__clone
e2e: container_clone_test.go: use ExitCleanly()
2023-09-11 19:32:08 +02:00
OpenShift Merge Robot
325736fcb7
Merge pull request #19914 from umohnani8/term
Add support for kube TerminationGracePeriodSeconds
2023-09-11 19:24:18 +02:00
OpenShift Merge Robot
fd886d6579
Merge pull request #19927 from giuseppe/move-oom-clamp-at-start-time
libpod: move oom_score_adj clamp to init
2023-09-11 19:21:40 +02:00
Giuseppe Scrivano
19bd9b33dd
libpod: move oom_score_adj clamp to init
commit 8b4a79a744 introduced
oom_score_adj clamping when the container oom_score_adj value is lower
than the current one in a rootless environment.  Move the check to
init() time so it is performed every time the container starts and not
only when it is created.  It is more robust if the oom_score_adj value
is changed for the current user session.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2023-09-11 17:04:37 +02:00
Ed Santiago
4f017236ef e2e: commit_test: use ExitCleanly()
Ongoing steps toward RUN-1907: replace Exit(0) with ExitCleanly()

Clean command-line replace, but required adding "-q" (quiet)
to all commit commands. Except one, on which I added tests
for the expected progress messages.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-09-11 08:07:24 -06:00
Ed Santiago
3a4be5e904 e2e: container_clone_test.go: use ExitCleanly()
Ongoing steps toward RUN-1907: replace Exit(0) with ExitCleanly()

Clean command-line replace, with manual tweaks to two tests:

 * clone to a pod: revert to just Exit(0), because podman issues
   a namespace warning

 * --destroy --force : run "top" in container, not default (shell),
   to avoid the 10-second SIGKILL fallback warning

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-09-11 07:59:32 -06:00
Ed Santiago
8cb14e54a5 e2e: use ExitCleanly() in cleanup_test.go
Ongoing steps toward RUN-1907: replace Exit(0) with ExitCleanly()

Clean command-line replace.

Also, fix up the Containerized and Debian exceptions in matcher.
I was in a huge rush Thursday night when I added the Debian
exception. This, I hope, makes it slightly easier to understand
the cases where we don't check stderr.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-09-11 06:33:18 -06:00
Matt Heon
925794c6aa Ensure HC events fire after logs are written
HC events were firing as part of the `exec` call, before it had
even been decided whether the HC succeeded or failed. As such,
the status was not going to be correct any time there was a
change (e.g. the first event after a container went healthy to
unhealthy would still read healthy). Move the event into the
actual Healthcheck function and throw it in a defer to make sure
it happens at the very end, after logs are written.

Ignores several conditions that did not log previously (container
in question does not have a healthcheck, or an internal failure
that should not really happen).

Still not a perfect solution. This relies on the HC log being
written, when instead we could just get the status straight from
the function writing the event - so if we fail to write the log,
we can still report a bad status. But if the log wasn't written,
we're in bad shape regardless - `podman ps` would disagree with
the event written, for example.

Fixes #19237

Signed-off-by: Matt Heon <mheon@redhat.com>
2023-09-11 08:02:46 -04:00
OpenShift Merge Robot
adc45ef887
Merge pull request #19916 from eriksjolund/fix-docs-podman-systemd-unit-equivalents
[CI:DOCS] podman-systemd.unit: fix equivalents
2023-09-11 11:19:28 +02:00
Anders F Björklund
336055fe3b Use url with scheme and path for the unix address
Shortcuts like unix:path and unix:/path do not work everywhere,
so make sure to use unix://path when quoting the url (or address)

Signed-off-by: Anders F Björklund <anders.f.bjorklund@gmail.com>
2023-09-11 07:55:12 +02:00
Erik Sjölund
65a64da271 [CI:DOCS] podman-systemd.unit: fix equivalents
Signed-off-by: Erik Sjölund <erik.sjolund@gmail.com>
2023-09-11 07:41:10 +02:00
Daniel J Walsh
8acd66c115
Merge pull request #19888 from giuseppe/fix-pod-lifecycle
fix pod cgroup lifecycle
2023-09-10 20:36:21 -04:00
Urvashi Mohnani
d9a85466a0 Add support for kube TerminationGracePeriodSeconds
Add support to kube play to support the TerminationGracePeriodSeconds
fiels by sending the value of that to podman's stopTimeout.
Add support to kube generate to generate TerminationGracePeriodSeconds
if stopTimeout is set for a container (will ignore podman's default).

Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
2023-09-10 16:41:24 -04:00
OpenShift Merge Robot
8d37db75ad
Merge pull request #19910 from Daskan/main
[CI:DOCS] Update podman-kube-play.1.md.in
2023-09-10 20:49:58 +02:00
OpenShift Merge Robot
51d01dd38e
Merge pull request #19907 from n1hility/breakout-altbuild
Split up alt binaries to speed up build
2023-09-10 05:49:09 +02:00
Daskan
5eb0a53a0a
Update podman-kube-play.1.md.in
To avoid the error:
`Error: unable to read YAML as Kube Pod: error unmarshaling JSON: while decoding JSON: json: cannot unmarshal object into Go struct field Container.spec.containers.command of type string`

Also makes it easier to understand as you only need the image parameter.

Signed-off-by: Daskan <kevin81991@web.de>
2023-09-09 21:41:41 +02:00
Daniel J Walsh
92bdd912b2
Merge pull request #19891 from edsantiago/run_rmi_warn
run --rmi: "cannot remove" is a warning, not an error
2023-09-09 10:20:49 -04:00
Daniel J Walsh
745201ea23
Merge pull request #19902 from giuseppe/fix-pod-run-with-mounts
pod: fix duplicate volumes from containers.conf
2023-09-09 10:09:25 -04:00
Jason T. Greene
c2cd93cdc2 Split up alt binaries to speed up build
Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
2023-09-08 23:57:20 -05:00
Jason T. Greene
7bf9f302a3 Switch installer task to EC2
Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
2023-09-08 21:36:39 -05:00
Daniel J Walsh
ab5ca5b69c
Merge pull request #19895 from edsantiago/ci_test_skipper_fix
CI test runner: upgrade tests rely on system tests
2023-09-08 11:36:48 -04:00
Giuseppe Scrivano
fbbad04398
pod: fix duplicate volumes from containers.conf
If some volumes are specified in containers.conf, they are currently
added twice to the containers spec causing the container to fail:

$ head -n2 ~/.config/containers/containers.conf
[containers]
volumes = ["/tmp:/tmp"]
$ podman pod create --name foo
7ac7f97f9b74a596332483e4a13e58cb9c8d997e9c5baae46804ae0acc26cbc6
$ podman run --pod=foo alpine true
Error: "/tmp": duplicate mount destination

The fix is to ignore the setting from containers.conf when setting the
pod default configuration.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2023-09-08 16:02:55 +02:00
Giuseppe Scrivano
0c75eac637
tests: add test for pod cgroups
This test checks that the pod cgroups are created and that the limits
set for a pod cgroup are enforced also after a reboot.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2023-09-08 14:58:48 +02:00
Giuseppe Scrivano
b8f6a12d01
libpod: create the cgroup pod before containers
When a container is created and it is part of a pod, we ensure the pod
cgroup exists so limits can be applied on the pod cgroup.

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

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2023-09-08 14:58:48 +02:00
Giuseppe Scrivano
331b3c216d
cmd, specgen: allow cgroup resources without --infra
When the infra container is not created, we can still set limits on
the pod cgroup.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2023-09-08 14:58:48 +02:00
Giuseppe Scrivano
83334fb4e7
specgen: allow --share-parent with --infra=false
This allows to use --share-parent with --infra=false, so that the
containers in the pod can share the parent cgroup.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2023-09-08 14:58:48 +02:00