Commit Graph

5638 Commits

Author SHA1 Message Date
OpenShift Merge Robot
1e1efd82a4 Merge pull request #18857 from Luap99/criu-version-error
criu: return error when checking for min version
2023-06-12 12:02:45 -04:00
OpenShift Merge Robot
77d2ae90c6 Merge pull request #18838 from rhatdan/workdir
Add WorkingDir support to quadlet
2023-06-12 09:56:06 -04:00
Paul Holzinger
ab502fc5c4 criu: return error when checking for min version
There is weird issue #18856 which causes the version check to fail.
Return the underlying error in these cases so we can see it and debug
it.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-06-12 15:29:21 +02:00
OpenShift Merge Robot
e02fa23680 Merge pull request #18854 from vrothberg/rm-comment
250-systemd.bats: remove outdated comment
2023-06-12 08:51:25 -04:00
OpenShift Merge Robot
c83589a852 Merge pull request #18835 from Luap99/update-container-deps
update c/{common,image,storage} to latest
2023-06-12 08:36:07 -04:00
OpenShift Merge Robot
decbab9223 Merge pull request #18829 from containers/renovate/requests-mock-1.x
chore(deps): update dependency requests-mock to ~=1.11.0
2023-06-12 08:29:49 -04:00
Valentin Rothberg
faa2689dcd 250-systemd.bats: remove outdated comment
Remove an outdated comment on the absence of exit-code propagation when
running K8s workloads in systemd.  The `podman-kube@` systemd template
is using default restart policy of the system.  The exit-code
propagation is tested in other tests, so we can keep the logic as is.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2023-06-12 13:18:50 +02:00
Daniel J Walsh
a66bab3403 Add WorkingDir support to quadlet
One feature needed for podmansh is the ability to set the default
homedir to be the workingdir when you login.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-06-12 05:15:44 -04:00
Jan Hendrik Farr
8bf168cc13 Add ability to set static routes
add routes using the --route flag.
the no_default_route option in --opt prevents a default route from
getting added automatically.

Signed-off-by: Jan Hendrik Farr <github@jfarr.cc>
2023-06-12 10:31:59 +02:00
Paul Holzinger
68183b07d6 test/upgrade: correctly share mounts between host and container
A c/storage PR[1] chnage the behavior to correctly report umount errors.
This is causing problem in the updgrade tests. The problem is that a
cotnainer is mounted inside another container and then unmounted on the
host. Therefore both operations happen in different mount namespaces.
this is expcted but we want to share the mounts between them. This is
the default but c/stroage make the root private by default thus the
mounts were not shared. To fix this use the `skip_mount_home` storage
option so the mount is kept shared.

[1] https://github.com/containers/storage/pull/1607

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-06-12 10:31:59 +02:00
OpenShift Merge Robot
81079575f5 Merge pull request #18785 from LauKr/main
Quadlet: Add support for --sysctl
2023-06-09 04:21:48 -04:00
Laurenz Kruty
b37f74b732 Quadlet: Add support for --sysctl flag
The Sysctl=name=value entry can be used to set --sysctl=name=value
directly without the need to use PodmanArgs=--sysctl=name=value.

Signed-off-by: Laurenz Kruty <git@laurenzkruty.de>
2023-06-08 21:19:09 +02:00
renovate[bot]
44ec044c49 chore(deps): update dependency requests-mock to ~=1.11.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-08 17:01:24 +00:00
Ed Santiago
6a696cb8fd podman-registry: simpler, safer invocations
First: fix podman-registry script so it preserves the initial $PODMAN,
so all subsequent invocations of ps, logs, and stop will use the
same binary and arguments. Until now we've handled this by requiring
that our caller manage $PODMAN (and keep it the same), but that's
just wrong.

Next, simplify the golang interface: move the $PODMAN setting into
registry.go, instead of requiring e2e callers to set it. (This
could use some work: the local/remote conditional is icky).

IMPORTANT: To prevent registry.go from using the wrong podman binary,
the Start() call is gone. Only StartWithOptions() is valid now.

And, minor cleanup: comments, and add an actual error-message check

Reason for this PR is a recurring flake, #18355, whose multiple
failure modes I truly can't understand. I don't think this PR
is going to fix it, but this is still necessary work.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-06-07 12:16:18 -06:00
Matthew Heon
310082444c Fix an expected error message from pod removal
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2023-06-07 14:09:12 -04:00
OpenShift Merge Robot
c99d42b8e4 Merge pull request #18798 from edsantiago/fix_filters
filters: better handling of id=
2023-06-07 12:31:11 -04:00
Ed Santiago
b65ba90df3 e2e: add ginkgo decorators to address flakes
- trust_test: adding 'Ordered' seems to resolve a very common
  flake. I've tested this for dozens of CI runs, and haven't
  seen the flake recur (normally it fails every few runs).

- exec and search tests: add FlakeAttempts(3). This is a NOP
  under our current CI setup, in which we run ginkgo with
  a global --flake-attempts=3. I am submitting this as an
  optimistic step toward a no-flake-attempts world (#17967)

Fixes: #18358

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-06-07 07:10:25 -06:00
OpenShift Merge Robot
82caa100b1 Merge pull request #18804 from edsantiago/logformatter_handle_levels
logformatter: better recognition of test names
2023-06-07 08:23:58 -04:00
OpenShift Merge Robot
76f4571b71 Merge pull request #18796 from mheon/lock_debugging
Add support for lock debugging
2023-06-07 08:21:17 -04:00
Ed Santiago
992093ae91 filters: better handling of id=
For filter=id=XXX (containers, pods) and =ctr-ids=XXX (pods):

  if XXX is only hex characters, treat it as a PREFIX
  otherwise, treat it as a REGEX

Add tests. Update documentation. And fix an incorrect help message.

Fixes: #18471

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-06-07 05:29:06 -06:00
Ed Santiago
137c8ef4d5 logformatter: better recognition of ginkgo test names
Ginkgo test names can have more than two levels: there can be
a nested series of Describes() before the final It(). (e.g.,
quadlet_test.go). Handle that.

Before: we just assumed that the third-or-maybe-fourth line
after a "-----" divider was the test name.

Now: examine every line after the "-----" divider, until the
first empty line. Lines with /path/to/source/file are ignored,
lines with text strings are assembled together to make anchors.
This is still imperfect but it's much better than before.

SPECIAL NOTE: in order to allow linking to timing results
in the AfterSuite, I've changed the test name from Leaf to Full.
This will now be a much longer string, and hence much less
readable, but I'm inclined to think it's more correct. Please
review carefully and lmk if I should revert.

Finally, as an unrelated add-on, add links (at top) to original
log, journal, and (if applicable) podman-remote server logs.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-06-06 14:32:15 -06:00
Matt Heon
944673c883 Address review feedback and add manpage notes
The inspect format for `.LockNumber` needed to be documented.

Signed-off-by: Matt Heon <mheon@redhat.com>
2023-06-06 11:04:59 -04:00
Daniel J Walsh
3b79f241b1 Add support for SecurityLabelNested flag in quadlet
This flag will allow us to run nested containers within
a quadlet service.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-06-06 10:30:48 -04:00
Matt Heon
4fda7936c5 system locks now reports held locks
To debug a deadlock, we really want to know what lock is actually
locked, so we can figure out what is using that lock. This PR
adds support for this, using trylock to check if every lock on
the system is free or in use. Will really need to be run a few
times in quick succession to verify that it's not a transient
lock and it's actually stuck, but that's not really a big deal.

Signed-off-by: Matt Heon <mheon@redhat.com>
2023-06-05 19:34:36 -04:00
OpenShift Merge Robot
eec15a108a Merge pull request #18657 from arizvisa/GH-18120
Added the "--out" parameter and fixed an issue with "--noout" which prevented stdout from being written to.
2023-06-05 14:34:21 -04:00
Matt Heon
1013696ad2 Add number of free locks to podman info
This is a nice quality-of-life change that should help to debug
situations where someone runs out of locks (usually when a bunch
of unused volumes accumulate).

Signed-off-by: Matt Heon <mheon@redhat.com>
2023-06-05 14:00:40 -04:00
OpenShift Merge Robot
d669d948a3 Merge pull request #18788 from ygalblum/quadlet-pull
Quadlet - add support for Pull key in .container
2023-06-05 11:27:21 -04:00
OpenShift Merge Robot
e143a0ff8e Merge pull request #18774 from dgibson/bad-default-protocol
pasta: Correct handling of unknown protocols
2023-06-05 10:40:00 -04:00
OpenShift Merge Robot
99a8e9450f Merge pull request #18733 from umohnani8/ulimit
Add default ulimit test for gen kube
2023-06-05 08:59:16 -04:00
Stefano Brivio
cf9bc25bbc pasta: Test handling of unknown protocols
Test that pasta generates a sensible error message if asked to forward a
protocol it doesn't understand.

Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2023-06-05 19:32:54 +10:00
Ygal Blum
6611735aeb Quadlet - add support for Pull key in .container
Update code, doc and test
Remove doc comment on pull policy

Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2023-06-04 09:06:30 +03:00
OpenShift Merge Robot
aee7a3c16a Merge pull request #18769 from edsantiago/getport_rewrite
e2e: GetPort(): safer allocation of random ports
2023-06-02 15:39:43 -04:00
Urvashi Mohnani
d68121a609 Add default ulimit test for gen kube
Add a test for generate kube to verify that the ulimit
annotation is not set for the default case when the user
doesn't set any ulimits.

Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
2023-06-02 11:19:59 +00:00
renovate[bot]
1768bf1509 fix(deps): update module golang.org/x/tools to v0.9.3
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-01 23:40:32 +00:00
Ed Santiago
28934897e3 e2e: GetPort(): safer allocation of random ports
Intented to fix an obscure, unlikely race condition in which (I
think) two parallel jobs called GetPort() and were assigned the
same port.

Also, add actual proper testing to two HTTP-registry tests, and
Skip a third that's a waste of cycles (filed #18768)

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-06-01 16:04:34 -06:00
Matthew Heon
4e6efbbbb3 Revert "test/e2e: fix "podman run ipcns ipcmk container test""
This reverts commit 9bd833bcfd.

With the fix for `podman rm -fa` merged, we no longer require
this patch.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2023-06-01 16:27:27 -04:00
Matthew Heon
b75ff3a8fa Add a test for removing dependencies with rm -fa
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2023-06-01 16:27:27 -04:00
Matthew Heon
bafb3d6cc5 Revert "ginkgo-v2 cleanup workaround for #18180"
This reverts commit c4b9f4b34e.

This was a temporary workaround until a fix for #18180 landed.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2023-06-01 16:27:27 -04:00
OpenShift Merge Robot
a7e23d341d Merge pull request #18756 from Luap99/tz
libpod: fix timezone handling
2023-06-01 14:16:20 -04:00
OpenShift Merge Robot
e91f6f16bf Merge pull request #15867 from boaz0/closes_15754
Fix: display online_cpus in compat REST API
2023-06-01 11:03:14 -04:00
OpenShift Merge Robot
50f934587f Merge pull request #18758 from Luap99/systemd-restart
test/system: quadlet use correct systemd restart policy
2023-06-01 07:52:02 -04:00
Ed Santiago
543b809495 systests: fixes for coping with extra systemd image
We _usually_ have only one image in store, $IMAGE, but it's
perfectly fine to also have $SYSTEMD_IMAGE also. Fix a few
tests so they can handle that condition.

And, cleanup:
 - remove a no-longer-useful test ("podman load NEWNAME",
   functionality that was removed 2+ years ago in #8877)
 - reorder some tests in the image-mount test, to make
   them safer and easier to understand
 - use no-such-image, not no-such-container, in image-mount test.
   Computer don't care, but this human felt confused for a sec.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-06-01 11:04:31 +02:00
Paul Holzinger
34c258b419 libpod: fix timezone handling
The current way of bind mounting the host timezone file has problems.
Because /etc/localtime in the image may exist and is a symlink under
/usr/share/zoneinfo it will overwrite the targetfile. That confuses
timezone parses especially java where this approach does not work at
all. So we end up with an link which does not reflect the actual truth.

The better way is to just change the symlink in the image like it is
done on the host. However because not all images ship tzdata we cannot
rely on that either. So now we do both, when tzdata is installed then
use the symlink and if not we keep the current way of copying the host
timezone file in the container to /etc/localtime.

Also note that we need to rebuild the systemd image to include tzdata in
order to test this as our images do not contain the tzdata by default.

Fixes https://bugzilla.redhat.com/show_bug.cgi?id=2149876

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-06-01 11:04:13 +02:00
renovate[bot]
7987d2ee0a fix(deps): update module golang.org/x/tools to v0.9.2
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-31 23:41:38 +00:00
OpenShift Merge Robot
249f0463eb Merge pull request #18721 from Cydox/fix-ulimit-pr
fix ulimit issue
2023-05-31 16:53:49 -04:00
OpenShift Merge Robot
5543de25d5 Merge pull request #18747 from containers/renovate/github.com-onsi-ginkgo-v2-2.x
fix(deps): update module github.com/onsi/ginkgo/v2 to v2.9.6
2023-05-31 12:53:51 -04:00
Paul Holzinger
4173f942f1 test/system: quadlet use correct systemd restart policy
Systemd doesn't support `never` and logs a warning, systemd uses no as
default so we do not have to specify it at all.

Check systemd.service(5) for the systemd docs.

Fixes #18743

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-05-31 18:50:16 +02:00
OpenShift Merge Robot
b9bdfea8e7 Merge pull request #18752 from edsantiago/log_k8s_race
systests: minimize race-condition window
2023-05-31 10:23:30 -04:00
OpenShift Merge Robot
0d7702bd93 Merge pull request #18744 from edsantiago/quadlet_race
systests: fix race in quadlet tests
2023-05-31 10:20:52 -04:00
Ed Santiago
0372bf4bdd systests: minimize race-condition window
Reduce sleep-loop time in logs test, from 1s to 0.1s,
to make 'podman stop' take effect more quickly. With 1s,
and testing with 1s resolution, we get flakes.

Fixes: #17826

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-05-31 06:38:17 -06:00