24328 Commits

Author SHA1 Message Date
f17590b2bd Pass all of PodmanExecOptions to various [mM]akeOptions functions
This will make it easier to structure the API, at the cost
of making it a bit more opaque about which parts of PodmanExecOptions
are implemented where.

Should not change behavior.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2025-01-23 00:03:52 +01:00
f2d552f5db Turn PodmanAsUserBase into PodmanExecBaseWithOptions
... replacing the many parameters with a struct with named fields.

This makes the meaning of parameters more explicit, and more importantly
it makes it easier to just edit _one_ of the parameters without requiring
specialized wrappers for every single case.

Should not change behavior.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2025-01-23 00:03:42 +01:00
55f7efc408 Merge pull request #25082 from containers/renovate/github.com-containers-gvisor-tap-vsock-0.x
fix(deps): update module github.com/containers/gvisor-tap-vsock to v0.8.2
2025-01-22 18:12:06 +00:00
4cae27b625 Merge pull request #25029 from robertgzr/play-cdi
Document kube-play CDI support
2025-01-22 18:09:25 +00:00
234c41c80e Merge pull request #25005 from baude/artifactrebase
podman artifact
2025-01-22 14:21:17 +00:00
6c81dc4f42 fix(deps): update module github.com/containers/gvisor-tap-vsock to v0.8.2
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-22 10:40:05 +00:00
7b7c7f3edb Merge pull request #25070 from containers/renovate/github.com-rootless-containers-rootlesskit-v2-2.x
fix(deps): update module github.com/rootless-containers/rootlesskit/v2 to v2.3.2
2025-01-22 10:38:21 +00:00
4700d15c12 Merge pull request #25073 from Luap99/vendor
vendor latest c/{common,image,storage}
2025-01-21 20:39:34 +00:00
d7553fabc7 podman artifact
the podman artifact verb is used to manage OCI artifacts.  the following
verbs were added to `podman artifact`:

* add
* inspect
* ls
* pull
* push
* rm

Notable items with this PR:

* all artifact commands and their output are subject to change. i.e.
  consider all of this tech preview
* there is no way to add a file to an artifact that already exists in
  the store.  you would need to delete and recreate the artifact.
* all references to artifacts names should be fully qualified names in
  the form of repo/name:tag (i.e. quay.io/artifact/foobar:latest)
* i understand that we will likely want to be able to attribute things
  like arch, etc to artifact files.  this function is not available yet.

Many thanks to Paul Holzinger for autocompletion PRs and review PRs that
fixed issues early on.

Also fix up some Args function to specify the correct number of args.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
Signed-off-by: Brent Baude <bbaude@redhat.com>
2025-01-21 12:47:30 -06:00
b6f1364319 vendor latest c/{common,image,storage}
To prepare for 5.4.0-rc1.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-01-21 19:02:43 +01:00
cfac38a0f2 fix(deps): update module github.com/rootless-containers/rootlesskit/v2 to v2.3.2
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-21 16:48:08 +00:00
dbed85889c Merge pull request #25060 from mheon/fix_db_case_incompat
Remove JSON tag from UseImageHosts in ContainerConfig
2025-01-21 14:22:34 +00:00
c586d36223 Merge pull request #25021 from l0rd/rm-win-patch
Stop creating a patch for v5.3.1 upgrades on Windows
2025-01-21 13:30:18 +00:00
e5b6382fbf Merge pull request #25058 from Luap99/machine-test
Bump timeout in machine tests
2025-01-21 13:19:33 +00:00
6ee51c5e4f cirrus: bump macos machine test timeout
We see a ton of timeouts in bot the applehv and libkrun machine tests.
It seems 35m are no longer enough. I was not able to spot anything that
would explain why it increased all of the sudden as such I hope this is
enough.

Fixes #25057

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-01-20 19:50:15 +01:00
bdc195d641 pkg/machine/e2e: improve podman.exe match
The regex match would return a horrible error message and is way more
complicated then it should be. Simply check that .exe is not part of the
output.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-01-20 19:50:14 +01:00
dc3a7e56be pkg/machine/e2e: improve "list machine from all providers"
The test pulls a big disk image every time which is slow. I see no good
way around that. Let's try to use /dev/null as image as we do not have
to run the VM at all and just can pass a NOP file to make the init
command happy.

That pull of that image seems to take over 2m so we safe quite a lot.
Also update the matcher for the slice. BeTrue() produces horrible
errors.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-01-20 19:50:07 +01:00
cfeefb3219 Remove JSON tag from UseImageHosts in ContainerConfig
This did not have a JSON tag prior to being added by #25008. By
adding one we risk a breaking change in the DB (particularly
given the change in case - useImageHosts vs UseImageHosts) which
we should try to avoid.

Remove the tag given this.

Signed-off-by: Matt Heon <mheon@redhat.com>
2025-01-20 13:43:51 -05:00
a86034596e Merge pull request #24950 from apollo13/fb-container-inspect-netid
Set network ID if available during container inspect. Fixes #24910
2025-01-20 17:39:32 +00:00
805e78c2aa Set network ID if available during container inspect
Fixes #24910

Signed-off-by: Florian Apolloner <florian@apolloner.eu>
2025-01-20 15:55:26 +01:00
d4fce5178f Merge pull request #24974 from rhatdan/quadlet
Switch all calls of assert.Nil to assert.NoError
2025-01-20 14:34:13 +00:00
969057bacc Stop creating a patch for v5.3.1 upgrades on windows
Removes the windows installer patch for upgrading
from v5.3.1 to v5.3.x that was introduced in
https://github.com/containers/podman/pull/24827.

We need to do that because windows patches are
allowed only for small and minor updates
https://learn.microsoft.com/en-us/windows/win32/msi/patching-and-upgrades.

We also need to start blocking upgrades from v5.3.1
to v5.4.x, which will be implemented in a separate commit.

Signed-off-by: Mario Loriedo <mario.loriedo@gmail.com>
2025-01-20 11:56:18 +01:00
0f04ba87bb Merge pull request #25033 from vrothberg/compose-docs
compose docs: fix typo
2025-01-17 16:18:28 +00:00
34d42514f1 compose docs: fix typo
Fix the typo s/provider/providers/ and give a concrete example to avoid
pitfalls such as the on in #25023.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2025-01-17 08:30:45 +01:00
a3bb0a1a2f Merge pull request #25008 from rhatdan/hostname
Add --no-hostname option
2025-01-16 17:14:40 +00:00
1a43077d99 Merge pull request #25019 from vmsh0/docs-initialized-state
docs: add 'initialized' state to status filters
2025-01-16 16:36:14 +00:00
834a1c9798 Merge pull request #24966 from silver886/patch-2
Remove `.exe` suffix if any in completion
2025-01-16 16:33:28 +00:00
d4f4cf0988 Document kube-play CDI support
Follow up to ec6b0355bf9c9b90b774707b6adc49a743cbebd4

Signed-off-by: Robert Günzler <r@gnzler.io>
2025-01-16 15:41:16 +01:00
31dd624951 Merge pull request #25024 from eriksjolund/debug-quadlet
docs: Add quadlet debug method systemd-analyze
2025-01-16 14:17:17 +00:00
e93f0acbee docs: Add quadlet debug method systemd-analyze
Reference: https://github.com/containers/podman/discussions/24891

Signed-off-by: Erik Sjölund <erik.sjolund@gmail.com>
2025-01-16 08:27:47 +01:00
6ad44fe179 Replace instances of PodmanExitCleanly in play_kube_test.go
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2025-01-15 16:12:02 -05:00
6ad4742ba8 docs: add 'initialized' state to status filters
Previously, the 'initialized' state was not documented as an available
filter for various Podman commands.

This commit documents 'initialized' as a valid state that can be used to
filter the start, stop, restart, rm, pause, unpause, and ps commands.

Fixes: #25017
Signed-off-by: Riccardo Paolo Bestetti <pbl@bestov.io>
2025-01-15 19:28:27 +01:00
3fb37c588d Switch all calls of assert.Nil to assert.NoError
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2025-01-15 07:08:27 -05:00
6565bde6e8 Add --no-hostname option
Fixes: https://github.com/containers/podman/issues/25002

Also add the ability to inspect containers for
UseImageHosts and UseImageHostname.

Finally fixed some bugs in handling of --no-hosts for Pods,
which I descovered.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2025-01-15 06:51:32 -05:00
04e6488315 Merge pull request #25011 from AhmedMoalla/fix-wrongly-ported-cunescape_one
Fix unescaping octal escape sequence in values of Quadlet unit files
2025-01-15 11:44:56 +00:00
68f29df602 Fix unescaping octal escape sequence in values of Quadlet unit files
Signed-off-by: Ahmed Moalla <ahmed.moalla@gmail.com>
2025-01-14 23:21:47 +01:00
a91aa36367 Remove .exe suffix if any
Signed-off-by: Leo Liu <silver886@users.noreply.github.com>

Add comment

In shell completion, there is `.exe` suffix on Windows and this does not provide same experience across platforms, #16499

Signed-off-by: Leo Liu <silver886@users.noreply.github.com>

Create unit test for `.exe` suffix removal

Signed-off-by: Leo Liu <11664880+silver886@users.noreply.github.com>

Update comments

Signed-off-by: Leo Liu <11664880+silver886@users.noreply.github.com>
2025-01-14 11:53:19 -08:00
ec6b0355bf Merge pull request #25010 from robertgzr/play-cdi
Add kube play support for CDI resource allocation
2025-01-14 18:39:13 +00:00
0d0a78cc6b Add kube play support for CDI resource allocation
We now handle CDI qualified names being passed to resources.limits. The
support for that was already in libpod as of ab7f6095a17bd50477c30fc8c127a8604b5693a6
when passed via the devices list. this just hooks the kube yaml parser
up to it.

Additionally we introduce `podman.io/device` that accepts device paths
as names and is transparently translated to mimick --device. This allows
bringing arbitrary devices into the container via similar, although
incompatible with, k8s mechanics:

```yaml
resources:
  requests:
    podman.io/device=/dev/kmsg: 1
```

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

Signed-off-by: Robert Günzler <r@gnzler.io>
2025-01-14 14:04:15 +01:00
9f1fee2a0b Merge pull request #24987 from AhmedMoalla/fix-comment-char-in-quadlet-unit-file
add support to ; for comments in unit files as per systemd documentation
2025-01-13 17:15:37 +00:00
75b4a1b2aa add support to ; for comments in unit files as per systemd documentation
Signed-off-by: Ahmed Moalla <ahmed.moalla@gmail.com>
2025-01-13 14:20:24 +01:00
11945578fc Merge pull request #24977 from mtrmac/exitcleanly
RFC: Introduce PodmanTestIntegration.PodmanCleanly
2025-01-10 15:15:11 +00:00
de1aa44cc9 Use PodmanExitCleanly in attach_test.go
just as a demonstration.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2025-01-09 18:47:37 +01:00
0c18beaea7 Introduce PodmanTestIntegration.PodmanExitCleanly
This significantly simplifies the ceromony of running a Podman command
in integration tests, from

> session := p.Podman([]string{"stop", id})
> session.WaitWithDefaultTimeout()
> Expect(session).Should(ExitCleanly())

to
> p.PodmanExitCleanly("stop", id)

There are >4650 instances of ExitCleanly() in the tests,
and many could be migrated; this does not do that.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2025-01-09 18:47:26 +01:00
1a00c92e00 Merge pull request #24978 from baude/newci
Add newer c/i to support artifacts
2025-01-09 10:31:37 +00:00
77c5e090d3 Merge pull request #24979 from containers/renovate/setuptools-75.x
chore(deps): update dependency setuptools to ~=75.8.0
2025-01-09 09:14:38 +00:00
ba24512959 chore(deps): update dependency setuptools to ~=75.8.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-08 21:35:30 +00:00
121caa04ca Add newer c/i to support artifacts
Adding in a newer containers/image to make artifact a little easier to
merge.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2025-01-08 13:42:24 -06:00
2e1e7107b7 Merge pull request #24882 from giuseppe/keep-id-size
namespaces: allow configuring keep-id userns size
2025-01-08 18:29:05 +00:00
0798f54e94 Merge pull request #24655 from mheon/fix_volume_perms_cp
Mount volumes before copying into a container
2025-01-08 14:51:46 +00:00