1
0
mirror of https://github.com/containers/podman.git synced 2026-02-05 15:45:08 +01:00
Commit Graph

26586 Commits

Author SHA1 Message Date
lstocchi
cfa1b51775 fix hyperv ignition cleanup and error handling
this fixes two bugs in Hyper-V VM ignition handling:

1. Changed `err := readAndSplitIgnition()` to
`err = readAndSplitIgnition()` so the deferred cleanup function can
properly detect errors and clean up ignition
2. The function was trying to remove keys with pattern `vm.ElementName + index`, but
the actual keys were created using `"ignition.config." + index` pattern.

It also improve the deletion by calculating in how many parts the ignition file is splitted when being added in the registry and delete just them instead of blidnly iterating through 0-50.

Signed-off-by: lstocchi <lstocchi@redhat.com>
2026-01-21 15:50:17 +01:00
Giuseppe Scrivano
f172ff789b rootless: use nsfs file handles to persist namespaces
use name_to_handle_at and open_by_handle_at to persist rootless
namespaces without needing a pause process.

The namespace file handles are stored in a file and can be used to
rejoin the namespaces, as long as the namespaces still exist.

Fall back to the pause process approach only when the kernel doesn't
support nsfs handles (EOPNOTSUPP).

The feature is currently only enabled when the PODMAN_NO_PAUSE_PROCESS
environment variable is set.

These changes in the kernel are required (landed in Linux 6.18):

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=3ab378cfa793

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2026-01-20 18:41:59 +01:00
Paul Holzinger
95230cb315 Merge pull request #27928 from kairosci/fix/27908-restart-service-description
systemd: update podman-restart.service description
2026-01-20 12:06:15 +01:00
Anders F Björklund
ea01acf325 Set architecture for validatepr builds
It was failing on darwin, because amd64 is no longer supported.

"build constraints exclude all Go files" in pkg/machine/libkrun

Signed-off-by: Anders F Björklund <anders.f.bjorklund@gmail.com>
2026-01-20 07:32:54 +01:00
Alessio Attilio
f0dd315bdf systemd: update podman-restart.service description
Update the service description to reflect that it now also restarts
containers with unless-stopped restart policy, not just always.

This was changed in PR #27619 but the description was not updated.

Fixes: #27908
Signed-off-by: Alessio Attilio <attilio.alessio@protonmail.com>
2026-01-19 23:38:35 +01:00
Paul Holzinger
0c436c40ae Merge pull request #27915 from afbjorklund/compat-version
Bump Compat API version to supported v1.44
2026-01-19 17:51:43 +01:00
Matt Heon
e2189376b5 Merge pull request #27919 from kairosci/fix/27858-volume-mount-empty-path
libpod: fix Volume.Mount() returning empty path for plugin volumes
2026-01-19 11:08:26 -05:00
Paul Holzinger
ff0724109d Merge pull request #27872 from containers/renovate/github.com-crc-org-vfkit-0.x
Update module github.com/crc-org/vfkit to v0.6.3
2026-01-19 15:58:34 +01:00
Alessio Attilio
6c1d8f5d76 libpod: fix Volume.Mount() returning empty path for plugin volumes
Fixes: #27858
Signed-off-by: Alessio Attilio <attilio.alessio@protonmail.com>
2026-01-19 14:54:27 +01:00
Matt Heon
f9c3f893af Merge pull request #27886 from baude/machineosupgrade
Add podman machine os upgrade command
2026-01-17 08:50:33 -05:00
Anders F Björklund
1ebdd09ab3 Don't assume v1.41 is the default docker
The test was assuming v1.41, set v1.40 explicitly for the call.

And assume that the default version is using the newer syntax.

Signed-off-by: Anders F Björklund <anders.f.bjorklund@gmail.com>
2026-01-17 13:05:53 +01:00
Anders F Björklund
c9e20280ed Bump Compat API version to supported v1.44
All API versions before version 1.44 are now deprecated,
starting with Docker client version 1.29 giving an error:

"API version 1.41 is not supported by this client"

Previously it was backward-compatible for more than 10 years,
with version 1.24 being the version in classic Docker 1.12.

It seems like API code changes were already added?

Signed-off-by: Anders F Björklund <anders.f.bjorklund@gmail.com>
2026-01-17 09:56:18 +01:00
Brent Baude
aba2df7517 Add podman machine os upgrade command
Implements automatic OS upgrade functionality for Podman machines that requires no user input beyond running the command. The upgrade logic automatically determines the appropriate upgrade path using a three-way comparison between client version, machine version, and OCI registry:

* When the client version is older than the machine version, no action is taken and an error is returned.
* When the client version matches the machine version, the OCI registry is queried to check for in-band updates by comparing image digests.  This handles minor, patch level, and updates oci image use cases.
* When the client version is newer than the machine version, the machine is upgraded to match the client's major.minor version.
* No manual image selection or version specification required.

The command supports dry-run mode and JSON (only) output format for automation.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2026-01-16 14:14:06 -06:00
Miloslav Trmač
dc8d2c13fd Merge pull request #27648 from l0rd/win-tutorial-update
Update the Podman on Windows tutorial
2026-01-16 17:12:43 +01:00
Tom Sweeney
8a33866ecd Merge pull request #27860 from ygalblum/quadlet-pod-template
Quadlet - do not link pod service units to quadlet templates - merging as our auto-merge bot seems to be offline at the moment.
2026-01-16 09:34:45 -05:00
Matt Heon
cb67dafd36 Merge pull request #26445 from aaron-ang/update-ulimit
Add ulimits to `podman update`
2026-01-16 08:38:00 -05:00
Mario Loriedo
87df3e4749 Update the Podman on Windows tutorial for 6.0.x
Signed-off-by: Mario Loriedo <mario.loriedo@gmail.com>
2026-01-16 11:48:57 +01:00
Brent Baude
1090a09da8 Merge pull request #27907 from bparry02/fix-docs-typo
Docs: Fix podman run equivalent for HealthStartPeriod
2026-01-15 10:36:24 -06:00
Brent Baude
75ab2006a2 Merge pull request #27891 from caxu-rh/libpod-simplify
libpod: simplify unnecessary loops
2026-01-15 10:35:37 -06:00
Brent Baude
94cf4e314b Merge pull request #27730 from inknos/delete-quadlet-api
Add DELETE /libpod/quadlets
2026-01-15 09:43:37 -06:00
Ashley Cui
0dda53b496 Merge pull request #27904 from danishprakash/secret-pipe-check
secrets/create: remove pipe check and allow interactive stdin
2026-01-15 09:29:51 -05:00
Ygal Blum
0d3c438803 Quadlet - do not link pod service units to quadlet templates
When a template container unit is linked to a pod do not add
its service to the pod units dependency

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

Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2026-01-15 09:23:01 -05:00
Nicola Sella
2e23fcc5a5 Add DELETE /libpod/quadlets
Fixes: https://issues.redhat.com/browse/RUN-3742

Signed-off-by: Nicola Sella <nsella@redhat.com>
2026-01-15 12:10:32 +01:00
Bryan Parry
f96e0a3fb2 Fix podman run equivalent for HealthStartPeriod
Signed-off-by: Bryan Parry <bparry@redhat.com>
2026-01-14 15:48:52 -05:00
Ashley Cui
03aae7e7fc Merge pull request #27853 from kube-gopher/main
Fix typos and standardize terminology in documentation files
2026-01-14 11:52:00 -05:00
Ashley Cui
73d6be2876 Merge pull request #27835 from kriansa/fix-timeoutstartsec-docs
docs: fix misleading TimeoutStartSec information for oneshot services
2026-01-14 11:49:03 -05:00
Ashley Cui
8fba28be1e Merge pull request #27896 from shiavm006/fix-container-export-event
Fix container export emitting incorrect event type.
2026-01-14 11:47:26 -05:00
Danish Prakash
86a3b681d2 secrets/create: remove pipe check and allow interactive stdin
Previously, `secret create` required stdin to be a pipe when using `-`,
blocking interactive stdin forcing users to use insecure patterns like
`echo "secret" | podman secret create <name>`.

Remove the pipe check to allow interactive stdin.

Closes #18591, #27879

Signed-off-by: Danish Prakash <contact@danishpraka.sh>
2026-01-14 17:00:25 +05:30
Mario Loriedo
7c9d4a42c5 Merge pull request #27885 from lstocchi/i27615
Prevent starting and stopping legacy hyperv machines when not elevated
2026-01-13 14:38:07 +01:00
Mario Loriedo
8bd92f52ab Update the Podman on Windows tutorial for 5.7.x
Signed-off-by: Mario Loriedo <mario.loriedo@gmail.com>
2026-01-13 12:49:33 +01:00
Brent Baude
784f3b9a2c Merge pull request #27657 from Luap99/config-file-design
[Design Doc] config file parsing changes for podman 6
2026-01-12 10:37:46 -06:00
shiavm006
231dbdf5b3 Fix container export emitting incorrect event type.
Signed-off-by: shiavm006 <shivammittal42006@gmail.com>
2026-01-12 16:25:25 +05:30
Caleb Xu
f6e3200f40 libpod: simplify unnecessary loops
Signed-off-by: Caleb Xu <caxu@redhat.com>
2026-01-09 16:49:33 -05:00
renovate[bot]
1abe1942f8 Update module github.com/crc-org/vfkit to v0.6.3
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-09 17:09:02 +00:00
Paul Holzinger
fd90d334a3 Merge pull request #27875 from baude/bootcosapply
use bootc for os apply
2026-01-09 16:07:49 +01:00
lstocchi
ca44e3a4d7 Fix race condition in CleanupGVProxy when reading gvproxy PID file
When startVM fails quickly, CleanupGVProxy may attempt to read the
gvproxy.pid file before gvproxy has written it, causing cleanup to
fail.

This commit adds retry logic that waits up to 2 seconds for the PID
file to appear.

Signed-off-by: lstocchi <lstocchi@redhat.com>
2026-01-09 08:07:04 +01:00
lstocchi
d2ea5a3fd0 prevent starting/stopping legacy Hyper-v machines when not elevated
Podman 5.x and earlier required to run as admin to work with Hyper-v.
Starting from Podman 6 this is not mandatory anymore as Registry
entries are handled differently. However, it may
happen the user have a legacy machine running when switching to Podman 6
or starts an old machine in elevated mode and then tries to stop it as a
normal user with Podman 6. If that happens the system will end up in a corrupted state
as the gvproxy process will not be stopped.
To prevent such scenario and issues, this commit maintains the original
behavior Podman 5.x has. Legacy Hyper-v machines needs to be handled
with elevated rights.

Signed-off-by: lstocchi <lstocchi@redhat.com>
2026-01-09 08:07:00 +01:00
Brent Baude
76e14f79f7 use bootc for os apply
Instead of using rpm-ostree, we now use bootc for os apply.  the
implementation is a little murky right now and will require some cleanup
to implement bootc's transports.  for now, we only support oci images
from registries.

once we have an upgrade command, the transports can be added and the
docs for apply can be ammended to be more clear.

Fixes: RUN-3836

Signed-off-by: Brent Baude <bbaude@redhat.com>
2026-01-08 13:32:39 -06:00
Brent Baude
740ddd9fdc Merge pull request #27863 from Luap99/remote-timestamp
test/system: fix log timestamp work around
2026-01-08 13:29:43 -06:00
Paul Holzinger
78456c1828 Merge pull request #27846 from ricardobranco777/no_new_privs
test/e2e: Skip privileged container test if NoNewPrivs is set
2026-01-08 12:39:28 +01:00
Matt Heon
e82cc2d697 Merge pull request #27744 from jasonoh11/fix-health-check
Fixes #27651 - Fix health inspect/ps for rootfs containers with empty…
2026-01-07 21:37:29 -05:00
Brent Baude
a51012b99e Merge pull request #27813 from ricardobranco777/user_octal
test: Fix --hostuser octal UID test flakiness
2026-01-07 15:51:43 -06:00
Ricardo Branco
6d28009edb test/e2e: Skip privileged container test if NoNewPrivs is set
On systems with NoNewPrivs set, this test fails.
https://www.thkukuk.de/blog/no_new_privs/

Signed-off-by: Ricardo Branco <rbranco@suse.de>
2026-01-07 22:34:38 +01:00
Brent Baude
ed0df2060e Merge pull request #27871 from shiavm006/refactor-share-tty-handling-code
refactor: extract shared TTY handling code into helper function
2026-01-07 14:20:33 -06:00
Jason Oh
86799cb2cb Fixes #27651 - Fix health inspect/ps for rootfs containers with empty healthcheck
Signed-off-by: Jason Oh <jasonoh@utexas.edu>
2026-01-07 12:18:01 -06:00
Ricardo Branco
174e02ae55 test: Fix --hostuser octal UID test flakiness
The test for issue #19800 depended on finding a system user with an
octal UID. This approach was fragile because system users found on the
host may have a different UID in the testing image.

Use the rootless user ID instead which is likely to be octal anyway as
new user IDs start with 1000.

Signed-off-by: Ricardo Branco <rbranco@suse.de>
2026-01-07 17:26:26 +01:00
Paul Holzinger
6fd970afe0 design doc: config file parsing changes
As part of podman 6 we like to improve and consolidate how we parse our
various config files.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-01-07 16:03:02 +01:00
Brent Baude
e1bb9dc194 Merge pull request #27869 from mheon/community_managers_can_triage
Governance: Community Managers can assist in triage
2026-01-07 08:19:35 -06:00
shiavm006
90f45bca77 extract shared TTY handling code into helper function
Signed-off-by: shiavm006 <shivammittal42006@gmail.com>
2026-01-07 10:19:38 +05:30
Matt Heon
40587205cf Add Dave Darrah as community manager
He'd like to help out with issue triage in the repo - especially
flagging issues as potential development priorities.

Signed-off-by: Matt Heon <matthew.heon@pm.me>
2026-01-06 14:07:54 -05:00