Commit graph

6757 commits

Author SHA1 Message Date
OpenShift Merge Robot
ea5cf4c6ea
Merge pull request #18912 from vrothberg/fix-18889
remote wait: fix "removed" condition
2023-06-16 08:08:45 -04:00
OpenShift Merge Robot
0ada57fbb2
Merge pull request #18905 from containers/renovate/golang.org-x-tools-0.x
fix(deps): update module golang.org/x/tools to v0.10.0
2023-06-16 06:03:53 -04:00
Valentin Rothberg
ed24f0b2ca remote wait: fix "removed" condition
The "removed" condition mapped to an undefined state which ultimately
rendered the wait endpoint to return an incorrect exit code.  Instead,
map "removed" to "exited" to make sure Podman returns the expected
exit code.

Fixes: #18889
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2023-06-16 11:55:53 +02:00
OpenShift Merge Robot
719e3228b1
Merge pull request #18900 from Luap99/pasta
pasta: use code from c/common
2023-06-16 02:40:07 -04:00
Daniel J Walsh
bfe61af6d7
quadlet should exit non zero on failures
Fixes: #18778

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-06-15 19:12:17 -04:00
renovate[bot]
91fc435cb8
fix(deps): update module golang.org/x/tools to v0.10.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-15 22:55:36 +00:00
OpenShift Merge Robot
189a74d345
Merge pull request #18891 from rhatdan/update
Add support for setting autoupdate in quadlet
2023-06-15 13:13:37 -04:00
Ed Santiago
ef42f54aca e2e: GetSafeIPAddress() replaces GetRandomIPAddress
For tests that use '--ip XX', random IP allocation is not
working well. Switch instead to a deterministic algorithm
with CPU affinity and a fudge factor for CNI.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-06-15 11:06:40 -06:00
OpenShift Merge Robot
1f18ad535a
Merge pull request #18739 from lsm5/podmansh-exec-3
New command: podmansh
2023-06-15 10:16:59 -04:00
Paul Holzinger
5ffbfd937d
pasta: use code from c/common
The code was moved to c/common so use that instead. Also add tests for
the new pasta_options config field. However there is one outstanding
problem[1]: pasta rejects most options when set more than once. Thus it is
impossible to overwrite most of them on the cli. If we cannot fix this
in pasta I need to make further changes in c/common to dedup the
options.

[1] https://archives.passt.top/passt-dev/895dae7d-3e61-4ef7-829a-87966ab0bb3a@redhat.com/

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-06-15 16:14:49 +02:00
Daniel J Walsh
479677cb65
Add support for setting autoupdate in quadlet
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-06-15 09:30:37 -04:00
Lokesh Mandvekar
3efaffae43
New command: podmansh
This commit creates a new command `podmansh` command which can be used by
administrators to provide a confined shell to their users.

The user will only have access to the volumes and capabilities for that
user.

Co-authored-by: Paul Holzinger <pholzing@redhat.com>
Co-authored-by: Daniel Walsh <dwalsh@redhat.com>
Co-authored-by: Petr Lautrbach <lautrbach@redhat.com>
Co-authored-by: Ed Santiago <santiago@redhat.com>

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2023-06-15 08:14:12 -04:00
Daniel J Walsh
bdc2e81654
Add quadlet container support for Mask,Umask options
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-06-14 14:07:39 -04:00
Daniel J Walsh
c28a43efd7
Verify podman pull dup image only prints id once
Fixes: #18647

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-06-13 22:07:29 -04:00
Paul Holzinger
63f5116ad3
test/e2e: fix network ID test
We no longer allow to match ids in the middle, this makes no realy
sense. ID matches should always be by prefix.

https://github.com/containers/podman/issues/18471

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-06-13 16:30:13 +02:00
OpenShift Merge Robot
38867d3307
Merge pull request #18858 from edsantiago/parallelize_getrandomip
e2e: GetRandomIPAddress(): parallelize
2023-06-13 05:13:13 -04:00
Toshiki Sonoda
6f821634ad libpod: Podman info output more network information
podman info prints the network information about binary path,
package version, program version and DNS information.

Fixes: #18443

Signed-off-by: Toshiki Sonoda <sonoda.toshiki@fujitsu.com>
2023-06-13 11:19:29 +09:00
Ed Santiago
837b472441 e2e: GetRandomIPAddress(): parallelize
Fixes: #18855

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-06-12 12:42:59 -06:00
OpenShift Merge Robot
3cae574ab2
Merge pull request #18507 from mheon/fix_rm_depends
Fix `podman rm -fa` with dependencies
2023-06-12 13:27:34 -04:00
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