Commit Graph

24471 Commits

Author SHA1 Message Date
Matt Heon
f906c6df57 Switch to the CNCF Code of Conduct
As part of the CNCF Sandbox, we are replacing our existing COC
with the standard CNCF version.

Signed-off-by: Matt Heon <mheon@redhat.com>
2025-02-10 14:36:32 -05:00
openshift-merge-bot[bot]
e943a2b064 Merge pull request #25275 from dfr/freebsd-hascapresource
libpod: make hasCapSysResource platform-specific
2025-02-10 19:01:07 +00:00
openshift-merge-bot[bot]
8bb1768b72 Merge pull request #25235 from lsm5/main-build-origin
[skip-ci] RPM: set BUILD_ORIGIN
2025-02-10 17:03:03 +00:00
openshift-merge-bot[bot]
a475083bff Merge pull request #25169 from mheon/graph_stop
Add graph-based pod stop
2025-02-10 17:00:19 +00:00
openshift-merge-bot[bot]
8d42125338 Merge pull request #25267 from containers/renovate/golang.org-x-crypto-0.x
fix(deps): update module golang.org/x/crypto to v0.33.0
2025-02-10 14:56:28 +00:00
Doug Rabson
ab0410948a libpod: make hasCapSysResource platform-specific
I'm not sure if there is an equivalent to CAP_SYS_RESOURCE on FreeBSD
but for now, I have added a no-op stub which returns false.

Signed-off-by: Doug Rabson <dfr@rabson.org>
2025-02-10 14:52:10 +00:00
openshift-merge-bot[bot]
a5ed4230d8 Merge pull request #25273 from Luap99/apiv2-flake
test/apiv2: fix registry push flake
2025-02-10 13:52:01 +00:00
Lokesh Mandvekar
3c3baefa8c Update rpm/podman.spec
Co-authored-by: Paul Holzinger <git@holzinger.dev>
Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
2025-02-10 18:19:52 +05:30
Paul Holzinger
5bada90190 test/apiv2: fix registry push flake
In our CI env we use a special registries.conf file
(test/registries.conf) to redirect some parts but it also defines:
[[registry]]
location="localhost:5000"
insecure=true

That means that port 5000 is trusted by default so the
/v1.40/images/localhost:5000/myrepo/push?tag=mytag test in 12-imagesMore
fails when the test registry uses port 5000.

Example failure:
not ok 360 [12-imagesMore] POST /v1.40/images/localhost:5000/myrepo/push?tag=mytag [-d {}] : status
 #  expected: 500
 #    actual: 200
 #  response: {"status":"The push refers to repository [localhost:5000/myrepo:mytag]"}
 {"status":"mytag: digest: sha256:d40f8191d6dae366339e318d1004258022f56bd8c649720a72060fad20019c9d size: 758"}

To avoid using port 5000 simply start at 5001.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-02-10 13:40:29 +01:00
renovate[bot]
f73c976bca fix(deps): update module golang.org/x/crypto to v0.33.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-10 12:13:54 +00:00
openshift-merge-bot[bot]
1d06a1f8d5 Merge pull request #24864 from lsm5/rpm-macro-cleanup
[skip-ci] RPM: cleanup macro defs
2025-02-10 11:09:45 +00:00
Lokesh Mandvekar
b06c7d78d3 [skip-ci] RPM: set buildOrigin in LDFLAG
For Copr builds, it will mention the Copr info from where the rpm is
installed.

For non-copr builds, it will mention the value of the packager macro
if set, and skip this field altogether if not.

On local rpm builds, this shows:
```
Build Origin:  Lokesh Mandvekar <lsm5@fedoraproject.org>
```

On koji rpm builds, this shows:
```
Build Origin: Fedora Project
```

On copr rpm builds (for eg. rhcontainerbot/playground), this shows:
```
Build Origin: Copr: rhcontainerbot/playground
```

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2025-02-10 16:36:42 +05:30
openshift-merge-bot[bot]
7185d46ce1 Merge pull request #25237 from l0rd/stop-automatic-wsl-hyperv-installation
Remove the option to install WSL/HyperV on Windows
2025-02-10 10:33:58 +00:00
openshift-merge-bot[bot]
3967ac21ea Merge pull request #25247 from containers/renovate/google.golang.org-protobuf-1.x
fix(deps): update module google.golang.org/protobuf to v1.36.5
2025-02-07 20:43:43 +00:00
openshift-merge-bot[bot]
e7ea47e2f2 Merge pull request #25256 from containers/renovate/github.com-vbauerster-mpb-v8-8.x
fix(deps): update module github.com/vbauerster/mpb/v8 to v8.9.2
2025-02-07 17:07:14 +00:00
openshift-merge-bot[bot]
24b686e70c Merge pull request #25244 from giuseppe/mount-fix-segfault
images: fix segfault when mounting without cap_sys_admin
2025-02-07 15:30:59 +00:00
openshift-merge-bot[bot]
708b34993d Merge pull request #25252 from Luap99/build-origin
Makefile: escape BUILD_ORIGIN properly
2025-02-07 15:28:13 +00:00
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