22896 Commits

Author SHA1 Message Date
f79ede86c6 Merge pull request #22914 from Luap99/start-stopped
libpod: do not reuse networking on start
2024-06-11 19:18:55 +00:00
e0a7adec68 Merge pull request #22957 from rhatdan/squash
--squash --layers=false should be allowed
2024-06-11 19:16:12 +00:00
18c7a55ccd [CI:DOCS] Add jnovy as reviewer and approver
Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
2024-06-11 09:04:49 -04:00
094bd4ef67 Merge pull request #22962 from containers/renovate/google.golang.org-protobuf-1.x
fix(deps): update module google.golang.org/protobuf to v1.34.2
2024-06-11 11:13:22 +00:00
5b24d1b48c fix(deps): update module google.golang.org/protobuf to v1.34.2
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-11 09:15:15 +00:00
0c587f0246 refactor(machine,wsl): improve operations of Windows API
1. Prefer using the built-in functions of `golang.org/x/sys/windows` rather than using `syscall` to directly call system APIs
2. Reduce bitwise operations to improve code maintainability
3. Minimize defining your own Flags, and prioritize using those already defined in `golang.org/x/sys/windows`

Signed-off-by: Kevin Cui <bh@bugs.cc>
2024-06-11 09:44:43 +08:00
b0780def3e Merge pull request #22954 from Luap99/lint
update golangci-lint to v1.59.1
2024-06-10 21:05:15 +00:00
ad8fc6a74b --squash --layers=false should be allowed
This is the same as what --squash-all is doing, and we already support
--squash with --layers=true since this is the default.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2024-06-10 13:24:05 -04:00
88308aa23f Merge pull request #22956 from containers/renovate/github.com-checkpoint-restore-checkpointctl-1.x
fix(deps): update module github.com/checkpoint-restore/checkpointctl to v1.2.0
2024-06-10 16:46:08 +00:00
858b3b7def fix(deps): update module github.com/checkpoint-restore/checkpointctl to v1.2.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-10 14:51:22 +00:00
e231bf0a46 Merge pull request #22924 from l0rd/fix-branch-name-in-contributing
[CI:DOCS] Rename master to main in CONTRIBUTING.md
2024-06-10 14:50:19 +00:00
2f5ce5d90f Merge pull request #22933 from marinmo/patch-1
[CI:DOCS] podman 5, pasta and inter-container networking
2024-06-10 14:14:25 +00:00
fa4f11facc update golangci-lint to v1.59.1
Includes fixes for new lint warnings from unparam and usestdlibvars.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-06-10 14:57:45 +02:00
3825e73120 Rename master to main in CONTRIBUTING.md
Fix a couple of references to main branch in CONTRIBUTING.md

Signed-off-by: Mario Loriedo <mario.loriedo@gmail.com>
2024-06-10 14:09:13 +02:00
cec6859369 podman 5, pasta and inter-container networking
add information about pasta and how its behaviour changes the way a user needs to think about inter-container connections, as without configuration they aren't able to reach each other (assuming single interface)

Signed-off-by: marinmo <bugzilla@marinmo.org>

Update rootless.md

Co-authored-by: Paul Holzinger <45212748+Luap99@users.noreply.github.com>
Signed-off-by: marinmo <bugzilla@marinmo.org>

Update rootless.md

Co-authored-by: Tom Sweeney <tsweeney@redhat.com>
Signed-off-by: marinmo <bugzilla@marinmo.org>

Update rootless.md

Co-authored-by: Tom Sweeney <tsweeney@redhat.com>
Signed-off-by: marinmo <bugzilla@marinmo.org>
2024-06-07 22:31:00 +02:00
a9de888a15 libpod: do not resuse networking on start
If a container was stopped and we try to start it before we called
cleanup it tried to reuse the network which caused a panic as the pasta
code cannot deal with that. It is also never correct as the netns must
be created by the runtime in case of custom user namespaces used. As
such the proper thing is to clean the netns up first.

Also change a e2e test to report better errors. It is not directly
related to this chnage but it failed on v1 of this patch so we noticed
the ugly error message it produced. Thanks to Ed for the fix.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-06-07 17:50:28 +02:00
4b29c9dd73 machine/linux: Switch to virtiofs by default
Switch to using virtiofs by default, and delete the 9p code.
This is structured as a separate patch to make it easier
to revert if need be.

Signed-off-by: Colin Walters <walters@verbum.org>
2024-06-07 10:03:06 -04:00
bf541c6740 machine/linux: Support virtiofs mounts (retain 9p default)
I'm hitting a bug with 9p when trying to transfer large files.
In RHEL at least 9p isn't supported because it's known to have a
lot of design flaws; virtiofsd is the supported and recommended
way to share files between a host and guest.

Add a new hidden `PODMAN_MACHINE_VIRTFS` environment
variable  that can be set to `virtiofs` to switch to virtiofsd.

Signed-off-by: Colin Walters <walters@verbum.org>
2024-06-07 10:03:06 -04:00
406f130590 machine/linux: Use memory-backend-memfd by default
This is prep for using virtiofsd; it has no real
impact otherwise.

Signed-off-by: Colin Walters <walters@verbum.org>
2024-06-07 10:03:06 -04:00
7ff1494c47 Merge pull request #22913 from l0rd/winmake-install-target
New Windows makefile (winmake.ps1) targets and Windows build documentation update
2024-06-06 22:31:00 +00:00
37663cbc69 Merge pull request #22926 from edsantiago/exitwitherror-continued
ExitWithError() - continued
2024-06-06 20:40:56 +00:00
f317eb29ab ExitWithError() - continued
Convert Exit(N) to ExitWithError(N, "expected error")

Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-06-06 12:00:16 -06:00
550cb07fc0 Enable libkrun provider to open a debug console
When running with "log-level=debug" and libkrun as machine provider,
spawn a Terminal to execute "krunkit" to enable users to have full
access to the VMs console for debugging purposes.

Users obtain an interactive, text console with scrollback. It's possible
to interact with both the kernel and GRUB2. To obtain even additional
debugging information, users can add "console=hvc0" to the linux kernel
command line through GRUB2 (it may be worth considering extending the
initial configuration of the VM to add that argument by default).

Signed-off-by: Sergio Lopez <slp@redhat.com>
2024-06-06 15:20:56 +02:00
dcec81e694 Add new targets on Windows makefile (winmake.ps1)
Add the following targets in winmake.ps1:
- `installer`: builds the Windows installer
- `docs`: builds the documentation HTML pages
- `validatepr`: runs the Linux Makefile `.valiatepr`
                target using podman.
- `lint`: faster validation that runs linter locally

Update of `build_windows.md`:
- removed every reference to the MSYS2 platform
- added instructions to build the installer and linters

Fix https://github.com/containers/podman/issues/21821 and https://github.com/containers/podman/issues/21911

Signed-off-by: Mario Loriedo <mario.loriedo@gmail.com>
2024-06-06 13:41:53 +02:00
0e57573d1e Merge pull request #22917 from containers/renovate/github.com-docker-docker-26.x
fix(deps): update module github.com/docker/docker to v26.1.4+incompatible
2024-06-06 10:34:11 +00:00
5b23a2e1c7 fix(deps): update module github.com/docker/docker to v26.1.4+incompatible
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-05 20:02:49 +00:00
be6dbd7202 Merge pull request #22912 from containers/renovate/github.com-crc-org-crc-v2-2.x
fix(deps): update module github.com/crc-org/crc/v2 to v2.37.1
2024-06-05 17:04:34 +00:00
c3728a50e6 Merge pull request #22908 from containers/renovate/golang.org-x-tools-0.x
fix(deps): update module golang.org/x/tools to v0.22.0
2024-06-05 14:52:52 +00:00
2334a7ea6c fix(deps): update module github.com/crc-org/crc/v2 to v2.37.1
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-05 13:20:35 +00:00
42ffa4db43 Merge pull request #22886 from Luap99/fast-system-test-3
test/system: make some tests faster part 3
2024-06-05 13:19:00 +00:00
f4b14c11ef fix(deps): update module golang.org/x/tools to v0.22.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-05 10:59:51 +00:00
bdd07c2f7f Merge pull request #22906 from containers/renovate/golang.org-x-net-0.x
fix(deps): update module golang.org/x/net to v0.26.0
2024-06-05 10:58:36 +00:00
a990ca4835 Merge pull request #22905 from dfr/freebsd-kube
libpod: fix 'podman kube generate' on FreeBSD
2024-06-05 10:55:50 +00:00
5bfea70e87 Merge pull request #22878 from containers/renovate/common-image-and-storage-deps
fix(deps): update github.com/containers/image/v5 digest to aa93504
2024-06-05 09:41:32 +00:00
8cc9bb1842 fix(deps): update module golang.org/x/net to v0.26.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-05 09:40:42 +00:00
3f2ecbdf1f Merge pull request #22897 from containers/renovate/golang.org-x-sys-0.x
fix(deps): update module golang.org/x/sys to v0.21.0
2024-06-05 09:38:47 +00:00
ffc8522646 libpod: fix 'podman kube generate' on FreeBSD
This avoids dereferencing c.config.Spec.Linux if it is nil, which is the
case on FreeBSD.

[NO NEW TESTS NEEDED]

Signed-off-by: Doug Rabson <dfr@rabson.org>
2024-06-05 10:38:30 +01:00
b63767866e Merge pull request #22895 from Luap99/hc-startup-leak
libpod: do not leak systemd hc startup unit timer
2024-06-04 17:41:21 +00:00
e9ef7278c5 Merge pull request #22896 from Luap99/reexec-env
pkg/rootless: set _CONTAINERS_USERNS_CONFIGURED correctly
2024-06-04 17:24:50 +00:00
7ea679f73a Merge pull request #22893 from containers/renovate/github.com-crc-org-crc-v2-2.x
fix(deps): update module github.com/crc-org/crc/v2 to v2.37.0
2024-06-04 17:16:36 +00:00
df0c2e5d03 fix(deps): update module golang.org/x/sys to v0.21.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-04 17:14:21 +00:00
37339f5a30 Merge pull request #22859 from ut-wangbo/hostname-new-line
libpod: hostname written to /etc/hostname ends with a newline character
2024-06-04 17:12:53 +00:00
e8ea1e7632 libpod: do not leak systemd hc startup unit timer
This fixes a regression added in commit 4fd84190b8, because the name was
overwritten by the createTimer() timer call the removeTransientFiles()
call removed the new timer and not the startup healthcheck. And then
when the container was stopped we leaked it as the wrong unit name was
in the state.

A new test has been added to ensure the logic works and we never leak
the system timers.

Fixes #22884

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-06-04 18:03:46 +02:00
15a4e1dffd vendor latest c/common
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-06-04 17:58:40 +02:00
7c5c60bc39 pkg/rootless: set _CONTAINERS_USERNS_CONFIGURED correctly
This is a bit weird and I admit I don't understand exactly how the init
value is used but this seems wrong. When podman reexec itself it then
gets the wrong init value and because rootless_uid() will be 0 the
init() function in rootless_linux.go will not set it either because of
that. Thus the first reexec has the wrong env.

Now that I make use of it in c/common[1] this turns out top be a real
issue and is failing all first podman commands. To reproduce make sure
to kill the pause process then just run any podman command with the new
c/common vendor and without this patch.

[1] https://github.com/containers/common/pull/2020

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-06-04 17:58:39 +02:00
80ed85dc17 run bats -T, to profile timing hogs
Signed-off-by: Ed Santiago <santiago@redhat.com>
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-06-04 16:24:01 +02:00
350dfabf66 test/system: speed up podman ps --external
The buildah buil kill trick is bad as we have to sleep and wait to aboid
flakes which takes time. Instead it is possible to redo this build part
manually with buildah commands. It is not trival and harder to
understand but it safes 2-3s so I think it is worth it.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-06-04 16:24:01 +02:00
8fa1ffbbec test/system: speed up podman network connect/disconnect
Combine multiple inspect --format into one, it is not much but is makes
it faster by a few 100 ms.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-06-04 16:24:01 +02:00
8640ce998c test/system: speed up podman network reload
First, as root don't wait 5s for the timeout, 1s is enough. Also switch
to use the curl --max-time option instead, that way we know we do not
kill curl before it had the chance to do anything possibly.

Second, combine podman inspect commands into one. This makes the test
faster by over one second as we safe a bunch of podman commands.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-06-04 16:24:00 +02:00
609146fb75 test/system: speed up quadlet - pod simple
Another case of contianer does not exit with SIGTERM so we waste 10s.
Now because our contianer reacts to sigterm and exits 0 the systemd unit
status changed to inactive from failed.
And most importantly add Notify=yes because the socat call always failed
as the default is to not leak the notify socket into the container.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-06-04 16:24:00 +02:00