Commit Graph

24504 Commits

Author SHA1 Message Date
Mario Loriedo 91e4f6918a Remove the option to install WSL/HyperV
The Windows installer was able to automatically enable the
Windows features for WSL or HyperV when they were not
already enabled. This PR removes this capability.

Having the installer to automatically install the right prerequiste
(WSL or HyperV) was helpful as users won't have to do it manually to
use Podman after the installation. But it also made the code of
installer more complicated as it needed to manage the installation
of these OS features and a reboot. And we weren't able to automatically
test these scenarios that required a reboot.

In other words the Windows installer, that merely just extracted
some files in a folder, required, to support the installation of
WSL and HyperV, an advanced knowledge of WiX toolkit and of the
Windows Installer SDK, plus contributors-time to manually test
the scenarios that require a reboot.

We decided to remove this capability based on the following reasons:
- We had a couple of regressions in the last month that were hard to
  analyse and fix (#24624 and #24735)
- Podman maintainers currently have a scarce knowledge of the Windows Installer
  and there is no plan to invest in that
- Manually installing WSL or HyperV is not hard (e.g. run `wsl --install`) and
  are features that admins can manage on their fleet of Windows machines
- Competitors such as Docker Desktop don't automatically install these
  components
- Podman `machine init` currently verifies if WSL and HyperV are installed and
  guide the user to install them when they are not

Signed-off-by: Mario Loriedo <mario.loriedo@gmail.com>
2025-02-07 16:10:54 +01:00
Mario Loriedo dce52b3e77 Improve winmake.ps1 clean target
Signed-off-by: Mario Loriedo <mario.loriedo@gmail.com>
2025-02-07 16:08:35 +01:00
Paul Holzinger b4fc9cd14d
Makefile: escape BUILD_ORIGIN properly
When trying to pass a string with spaces that broke the go command cli
parsing, the full argument must be put in quotes to avoid escaping
issues.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-02-07 14:02:25 +01:00
renovate[bot] 1d4c67751c
fix(deps): update module github.com/vbauerster/mpb/v8 to v8.9.2
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-07 12:39:09 +00:00
renovate[bot] 30ed3293c4
fix(deps): update module google.golang.org/protobuf to v1.36.5
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-07 12:25:16 +00:00
Lokesh Mandvekar 1d220b99da
[skip-ci] RPM: cleanup macro defs
The default `gobuild` macro on CentOS Stream 9 now includes support for
`BUILDTAGS`.

CentOS Stream envs now also define `_user_tmpfilesdir` macro by default.
Both these definitions are no longer needed here.

`libtrust_openssl` buildtag is also set in spec wherever relevant.

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2025-02-07 16:31:19 +05:30
Matt Heon 46d874aa52 Refactor graph traversal & use for pod stop
First, refactor our existing graph traversal code to improve code
sharing. There still isn't much sharing between inward traversal
(stop, remove) and outward traversal (start) but stop and remove
are sharing most of their code, which seems a positive.

Second, add a new graph-traversal function to stop containers.
We already had start and remove; stop uses the newly-refactored
inward-traversal code which it shares with removal.

Third, rework the shared stop/removal inward-traversal code to
add locking. This allows parallel execution of stop and removal,
which should improve the performance of `podman pod rm` and
retain the performance of `podman pod stop` at about what it is
right now.

Fourth and finally, use the new graph-based stop when possible
to solve unordered stop problems with pods - specifically, the
infra container stopping before application containers, leaving
those containers without a working network.

Fixes https://issues.redhat.com/browse/RHEL-76827

Signed-off-by: Matt Heon <mheon@redhat.com>
2025-02-06 18:28:12 -05:00
openshift-merge-bot[bot] 2cbb5fead9
Merge pull request #25245 from giuseppe/fix-hang-s390x
rootless: fix hang on s390x
2025-02-06 15:20:59 +00:00
Giuseppe Scrivano 2f710723df
images: fix segfault when mounting without cap_sys_admin
commit c6fe5e5395 rearranged the code so
that it accesses the store before checking if the current process has
CAP_SYS_ADMIN.

Restore the check and augment it to also check for CAP_SYS_ADMIN.

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

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2025-02-06 16:05:27 +01:00
Giuseppe Scrivano c06dba4845
rootless: fix hang on s390x
avoid using the glibc fork() function after using directly the clone()
syscall, as it confuses glibc causing the fork() to hang in some
cases.

The issue has been observed only on s390x, and the fix was confirmed
in the issue discussion.

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

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2025-02-06 13:49:53 +01:00
openshift-merge-bot[bot] 757c621583
Merge pull request #25007 from mtrmac/zstd-chunked-with-tests
Zstd:chunked podman-side tests
2025-02-06 11:14:07 +00:00
Miloslav Trmač e5bcd6542e Add tests for chunked pulls
Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2025-02-06 00:39:51 +01:00
Miloslav Trmač 27ccfef3a1 Don't use all of tempdir as podman's --tmpdir
... because (podman system reset) will delete all of it,
interfering with the test storing other data in the directory.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2025-02-05 22:52:46 +01:00
openshift-merge-bot[bot] 2d42b13d55
Merge pull request #25221 from containers/renovate/golang.org-x-sync-0.x
fix(deps): update module golang.org/x/sync to v0.11.0
2025-02-05 12:21:29 +00:00
openshift-merge-bot[bot] 9cac0355f0
Merge pull request #25178 from lsm5/main-550-bump
Bump version to 5.5.0-dev
2025-02-05 11:54:08 +00:00
openshift-merge-bot[bot] 4bd6bc9f3c
Merge pull request #25191 from containers/renovate/github.com-shirou-gopsutil-v4-4.x
fix(deps): update module github.com/shirou/gopsutil/v4 to v4.25.1
2025-02-04 23:34:10 +00:00
openshift-merge-bot[bot] c05b82a52d
Merge pull request #25226 from containers/renovate/golang.org-x-term-0.x
fix(deps): update module golang.org/x/term to v0.29.0
2025-02-04 23:23:11 +00:00
renovate[bot] 165d5c3062
fix(deps): update module golang.org/x/sync to v0.11.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-04 23:03:27 +00:00
openshift-merge-bot[bot] 39becc2f05
Merge pull request #24781 from ashley-cui/builtfor
Add BuildOrigin field to podman info
2025-02-04 20:13:27 +00:00
renovate[bot] 03b9f87c7d
fix(deps): update module golang.org/x/term to v0.29.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-04 19:01:57 +00:00
openshift-merge-bot[bot] dc6fc24818
Merge pull request #25222 from containers/renovate/golang.org-x-sys-0.x
fix(deps): update module golang.org/x/sys to v0.30.0
2025-02-04 18:59:14 +00:00
renovate[bot] e7a0032ec3
fix(deps): update module golang.org/x/sys to v0.30.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-04 16:34:58 +00:00
openshift-merge-bot[bot] 16a72c839d
Merge pull request #25200 from Luap99/artifact-single-manifest
artifact: only allow single manifest
2025-02-04 16:33:21 +00:00
openshift-merge-bot[bot] 538a6a3560
Merge pull request #25216 from Honny1/fix-hc-pause-flake
Fix flake test: `podman pause/unpause with HealthCheck interval`
2025-02-04 15:21:54 +00:00
openshift-merge-bot[bot] 81431977e6
Merge pull request #25043 from jakecorrenti/machine-copy-files
Add `machine init --playbook`
2025-02-04 15:19:23 +00:00
Jan Rodák 52febf6a0a
Fix flake test: podman pause/unpause with HealthCheck interval
Checking of service and timer caused unexpected exit code `3` of `systemctl status`. Since the status check can be executed when HealthCheck was exited, this caused a termination error code `3` for `systemctl status`. Because service was in dead state because HealthCheck exited.

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

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2025-02-04 15:46:52 +01:00
Lokesh Mandvekar ad0c092616
Bump version to 5.5.0-dev
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2025-02-04 19:36:39 +05:30
renovate[bot] 6f9fb4392c
fix(deps): update module github.com/shirou/gopsutil/v4 to v4.25.1
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-04 13:24:36 +00:00
openshift-merge-bot[bot] 1273a418b8
Merge pull request #25205 from baude/artifactnoheading
Add --noheading to artifact ls
2025-02-04 11:42:56 +00:00
Paul Holzinger 6c06577455
artifact: only allow single manifest
Allowing for multiple manifest per artifact just makes the code and cli
design harder to work with it. It is not clear how mounting, extracting
or edit on a multi manifest artifact should have worked.

A single manifest should make the code much easier to work with.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-02-04 12:17:24 +01:00
openshift-merge-bot[bot] 4b68b0f2a3
Merge pull request #25209 from Luap99/e2e-conf
test/e2e: improve write/removeConf()
2025-02-03 21:44:12 +00:00
Jake Correnti 297e8a3476 Add `machine init --playbook`
Allow the user to provide an Ansible playbook file on init which will
then be run on boot.

Signed-off-by: Jake Correnti <jakecorrenti+github@proton.me>
Signed-off-by: Brent Baude <bbaude@redhat.com>
2025-02-03 16:43:04 -05:00
openshift-merge-bot[bot] cd333458a8
Merge pull request #25190 from containers/renovate/golang.org-x-exp-digest
fix(deps): update golang.org/x/exp digest to e0ece0d
2025-02-03 21:33:15 +00:00
openshift-merge-bot[bot] c81625fd87
Merge pull request #25202 from l0rd/wsl-hardcode-network-config
Force use of iptables on Windows WSL
2025-02-03 20:40:56 +00:00
Paul Holzinger dcdf82e943
test/e2e: improve write/removeConf()
First use proper ginkgo error handling to ensure errors are actually
reported and fail the test. Mark it as helper function to have better
stack traces.

Then use a atomic write function to prevent issues with partial written
files. I think this is causing CI flakes[1].

Lastly fix the file permissions, do not make it world writable and do
not set the executable bit on the file.

[1] https://api.cirrus-ci.com/v1/artifact/task/5985244932734976/html/int-podman-fedora-41-root-host-sqlite.log.html#t--Podman-network-podman-network-ID-test--1

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-02-03 20:16:07 +01:00
openshift-merge-bot[bot] 61e36a3754
Merge pull request #25206 from Luap99/rpm-attr
rpm: add attr as dependency for podman-tests
2025-02-03 18:56:27 +00:00
openshift-merge-bot[bot] 3819dfb535
Merge pull request #25203 from Luap99/gvproxy-bump
update gvproxy version
2025-02-03 18:50:57 +00:00
openshift-merge-bot[bot] bd614324f9
Merge pull request #25207 from TomSweeneyRedHat/dev/tsweeney/buildah_1_39_0
Bump to Buildah v1.39.0
2025-02-03 18:45:27 +00:00
Brent Baude bc2763eac8 Add --noheading to artifact ls
like images and containers, it could be handy to have a --noheading
option that removes the headings on the output.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2025-02-03 10:50:46 -06:00
tomsweeneyredhat 35c72bb18e Bump to Buildah v1.39.0
Bump Buildah to v1.39.0 in the main branch.

Signed-off-by: tomsweeneyredhat <tsweeney@redhat.com>
2025-02-03 11:46:57 -05:00
Paul Holzinger 26b5864648
rpm: add attr as dependency for podman-tests
Since commit 06c103469d we are using getfattr in system tests, that
caused failures in gating tests[1] as getfattr was not installed. So add
attr as dependency.

[1] https://artifacts.dev.testing-farm.io/d93b6849-e526-46e9-a7c3-874bad4217a9/work-tests.yml8_p4nfkf/tests-n75vnz0u/test.podman-root.bats.log

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-02-03 17:41:35 +01:00
Matt Heon 06fa617f61 Lock pod while starting and stopping containers
The intention behind this is to stop races between
`pod stop|start` and `container stop|start` being run at the same
time. This could result in containers with no working network
(they join the still-running infra container's netns, which is
then torn down as the infra container is stopped, leaving the
container in an otherwise unused, nonfunctional, orphan netns.

Locking the pod (if present) in the public container start and
stop APIs should be sufficient to stop this.

Signed-off-by: Matt Heon <mheon@redhat.com>
2025-02-03 11:19:20 -05:00
Paul Holzinger 89283c6fcc
update gvproxy version
The current macos installer gvproxy version has a number of issues
around dns handling[1,2]. They should be fixed now in 0.8.3 as they
reverted the dns changes back to the 0.7.5 code. This should make it
work like it used to be. Our 5.3.2 installer ships the 0.7.5 version so
users of the podman installer never noticed that but we got plenty of
reports from brew users. This needs to be backported into v5.4 to make
sure we do not ship the broken version as part of the installer.

[1] https://github.com/containers/gvisor-tap-vsock/issues/462
[2] https://github.com/containers/gvisor-tap-vsock/issues/466

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-02-03 15:54:34 +01:00
Mario Loriedo dae1541529 Force use of iptables on Windows WSL
This is a workaround for #25201 and helps with
upgrading the WSL image to Fedora 41.

Signed-off-by: Mario Loriedo <mario.loriedo@gmail.com>
2025-02-03 14:39:47 +01:00
openshift-merge-bot[bot] e300f5caa1
Merge pull request #25188 from containers/renovate/github.com-vishvananda-netlink-digest
fix(deps): update github.com/vishvananda/netlink digest to 7c2350b
2025-02-03 12:07:43 +00:00
openshift-merge-bot[bot] e6a35234ce
Merge pull request #25186 from TomSweeneyRedHat/dev/tsweeney/common_0_62_0
Bump c/storage to v1.57.1, c/image v5.34.0, c/common v0.62.0
2025-02-03 10:19:43 +00:00
openshift-merge-bot[bot] 54fd9bcc51
Merge pull request #25181 from Luap99/new-images
new images 2025-01-31
2025-02-03 01:52:43 +00:00
openshift-merge-bot[bot] 7afb601bd8
Merge pull request #25180 from Luap99/local-exec-detach
podman exec: correctly support detaching
2025-02-03 01:49:58 +00:00
renovate[bot] 509c80d5bd
fix(deps): update golang.org/x/exp digest to e0ece0d
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-01 05:07:10 +00:00
renovate[bot] 400645bf10
fix(deps): update github.com/vishvananda/netlink digest to 7c2350b
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-01 01:21:28 +00:00