20990 Commits

Author SHA1 Message Date
93bcd2a25d fix podman-remote exec regression with v4.8
Commit f48a706abc added a new API endpoint to remove exec session
correctly. And the bindings try to call that endpoint for exec every
time. Now since client and server must not be the same version this
causes a problem if a new 4.8 client calls an older 4.7 server as it has
no idea about such endpoint and throws an ugly error. This is a common
scenario for podman machine setups.

The client does know the server version so it should make sure to not
call such endpoint if the server is older than 4.8.

I added a exec test to the machine tests as this can be reproduced with
podman machine as at the moment at least the VM image does not contain
podman 4.8. And it should at least make sure podman exec keeps working
for podman machine without regressions.

Fixes #20821

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-11-29 13:22:46 +01:00
e0a524f630 Merge pull request #20823 from nalind/close-that-readcloser
utils: close a couple of ReadClosers
2023-11-29 02:18:06 +00:00
d6fefe0ba7 Merge pull request #20822 from mtrmac/chown-cleanup
Fix transferring data using tar
2023-11-29 02:15:17 +00:00
6d9d8f06ce Merge pull request #20517 from rhatdan/mask
Get masked paths and readonly masked patchs from containers/common @rhatdan
2023-11-29 02:12:37 +00:00
828ef9e174 Merge pull request #20817 from eriksjolund/fix-markdown-bugs
[CI:DOCS] Fix markdown bugs
2023-11-29 02:09:43 +00:00
e14d095243 Merge pull request #20794 from eriksjolund/document-sometimes-slow-native-overlayfs
[CI:DOCS] performance: document sometimes slow native overlayfs
2023-11-29 01:22:57 +00:00
5ab4513b26 Merge pull request #20798 from n1hility/fix-user-mode-disable
Fix wsl.conf generation when user-mode-networking is disabled
2023-11-29 01:20:12 +00:00
21951e2376 Merge pull request #20799 from edsantiago/symlink-mounts
[systests] podman mount no-dereference: complete rewrite
2023-11-29 01:14:48 +00:00
cf1ad300bb utils: close a couple of ReadClosers
utils.Tar() and utils.TarWithChroot() both return ReadClosers, but when
we called them from utils.TarToFilesystem() and utils.TarChrootToFilesystem()
respectively, they were not being closed.

[NO NEW TESTS NEEDED]

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
2023-11-28 15:48:00 -05:00
4314b1c344 Fix transferring data using tar
Instead of relying on the remote server to create tar files
with the right account IDs (which the remote server doesn't
even know, when the client and server run under different accounts),
have the remote client ignore the account IDs when unpacking.

Then just hard-code 0 in the remote server, so that the remote
server's account identity does not leak in the tar file contents.

Compare https://github.com/containers/image/issues/1627 .

[NO NEW TESTS NEEDED] : https://github.com/containers/podman/pull/18563
suggests that existing tests already cover these code paths / properties.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2023-11-28 20:44:17 +01:00
443e779a1f Merge pull request #20804 from BlackHole1/improve-vmtype
refactor(machine): improve machine marker value
2023-11-28 19:12:51 +00:00
7b4d6a295e [CI:DOCS] Fix markdown bugs
Signed-off-by: Erik Sjölund <erik.sjolund@gmail.com>
2023-11-28 17:28:08 +01:00
83c08a2f5c Merge pull request #20609 from cgiradkar/19124_remove_event_fix
Set correct exitcode in remove events
2023-11-28 16:21:17 +00:00
2645f91bfe Merge pull request #20813 from Luap99/sqlite-removepodcontainers
sqlite: fix missing Commit() in RemovePodContainers()
2023-11-28 16:07:18 +00:00
9627d3043d Merge pull request #20810 from Luap99/sqlite-validate
sqlite: fix issue in ValidateDBConfig()
2023-11-28 16:04:42 +00:00
545daed1e4 Merge pull request #20762 from ygalblum/quadlet-pod
Quadlet - Add support for .pod units
2023-11-28 14:44:00 +00:00
9a120321c7 Merge pull request #20807 from giuseppe/fix-mount-tmpfs-mode
docs: drop default for tmpfs-mode
2023-11-28 14:17:25 +00:00
a2bf8c6d50 refactor(machine): improve machine marker value
1. Set the marker to the current virtual machine type instead of fixed qemu.
2. Update containers/common

[NO NEW TESTS NEEDED]

Signed-off-by: Black-Hole1 <bh@bugs.cc>
2023-11-28 21:47:12 +08:00
572f38c0db Set correct exitcode in remove events and change ContainerExitCode from int to int ptr
Added additional check for event type to be remove and set the correct exitcode.
While it was getting difficult to maintain the omitempty notation for Event->ContainerExitCode, changing the type from int to int ptr gives us the ability to check for ContainerExitCode to be not nil and continue operations from there.

closes #19124

Signed-off-by: Chetan Giradkar <cgiradka@redhat.com>
2023-11-28 13:31:18 +00:00
d7b970a4c4 sqlite: fix issue in ValidateDBConfig()
If a transaction is started it must either be committed or rolled back.
The function uses defer to call `tx.Rollback()` if there is an error
returned. However it also called `tx.Commit()` and afterwards further
errors can be returned which means it tries to roll back a already
committed transaction which cannot work.

This fix is to make sure tx.Commit() is the last call in that function.
see https://github.com/containers/podman/issues/20731

[NO NEW TESTS NEEDED]

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-11-28 14:27:49 +01:00
e26f677b16 sqlite: fix missing Commit() in RemovePodContainers()
We have to Commit() the transaction. Note this is only in a rare pod
remove code path and very unlikely to ever be used.

[NO NEW TESTS NEEDED]

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-11-28 14:26:29 +01:00
248cbc6f69 docs: drop default for tmpfs-mode
The default is OCI runtime specific, there is no way for Podman to
know it.

[CI:DOCS]

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

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2023-11-28 13:51:28 +01:00
6b2f48129e Quadlet - Add support for .pod units
Add support for .pod unit files with only PodmanArgs, GlobalArgs, ContainersConfModule and PodName
Add support for linking .container units with .pod ones
Add e2e and system tests
Add to man page

Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2023-11-28 14:31:53 +02:00
c664cfe886 [systests] podman mount no-dereference: complete rewrite
Existing test was very good, but as a multidimensional table it
was unmaintainable... and actually missed one corner case.

This version isn't much better. It's far longer, codewise. It
is a little harder to understand at first glance. It has three
uncomfortable magic conditionals. But I believe it is more
long-term maintainable: beyond the first glance, it is possible
for a human to check it for correctness. It is also extensible,
as proved by the new test cases I added.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-11-28 04:45:51 -07:00
13e548820e [CI:DOCS] performance: document sometimes slow native overlayfs
Signed-off-by: Erik Sjölund <erik.sjolund@gmail.com>
2023-11-28 12:34:08 +01:00
8387d2dfaa Merge pull request #20802 from rhatdan/chown
Use idtools.SafeChown and SafeLchown everywhere
2023-11-28 11:02:25 +00:00
720a0ead3a Merge pull request #20797 from edsantiago/defer_assert_failures
[systests] new defer-assertion-failure
2023-11-28 10:56:56 +00:00
bb48c2efd0 Merge pull request #20788 from Luap99/play-kube-swagger
[CI:DOCS] swagger: document play kube annotations param
2023-11-28 10:54:11 +00:00
3a841ce6a9 Merge pull request #20796 from containers/renovate/golang.org-x-net-0.x
fix(deps): update module golang.org/x/net to v0.19.0
2023-11-28 08:31:11 +00:00
a3ad9f0cf7 Merge pull request #20803 from containers/renovate/golang.org-x-tools-0.x
fix(deps): update module golang.org/x/tools to v0.16.0
2023-11-28 08:28:26 +00:00
07a7b3ae5d fix(deps): update module golang.org/x/tools to v0.16.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-28 01:59:00 +00:00
c8f262fec9 Use idtools.SafeChown and SafeLchown everywhere
If we get an error chowning a file or directory to a UID/GID pair
for something like ENOSUP or EPERM, then we should ignore as long as the UID/GID
pair on disk is correct.

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

[NO NEW TESTS NEEDED]

Since this is difficult to test and existing tests should be sufficient
to ensure no regression.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-11-27 20:41:56 -05:00
e4cdd4b35a Merge pull request #20795 from Luap99/compose-debug-leftover
test/compose: remove debug leftovers
2023-11-27 23:20:13 +00:00
29d18079cb [systests] new defer-assertion-failure
Some system tests run deep loops:

  for x in a b c; do
    for y in d e f; do
        .... check condition $x + $y

Normally, if one of these fails, game over. This can be frustrating
to a developer looking for failure patterns.

Here we introduce a new defer-assertion-failure function, meant
to be called before loops like these. Everything is the same,
except that tests will continue running even after failure.

When test finishes, or if test runs immediate-assertion-failure,
a new message indicates that multiple tests failed:

  FAIL: X test assertions failed. Search for 'FAIL': above this line.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-11-27 11:31:29 -07:00
f07b15105d fix(deps): update module golang.org/x/net to v0.19.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-27 18:30:10 +00:00
8e2d5e1912 Fix wsl.conf generation when user-mode-networking is disabled
[NO NEW TESTS NEEDED]

Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
2023-11-27 11:49:03 -06:00
d280e481a5 test/compose: remove debug leftovers
I noticed these old debug code while looking at a log. These were
needed to debug a nasty flake[1] in the compose tests. However
it has been fixed[2] for a while and I am not aware of any flakes
around that logic so we are good to remove it.

I still leave the server logs in there as they may be useful for all
kinds of issues and are only printed when the test fails so it does not
clutter the logs.

[1] https://github.com/containers/podman/issues/10052
[2] https://github.com/containers/podman/pull/11091

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-11-27 18:02:26 +01:00
8e5e06096e Merge pull request #20753 from edsantiago/farmbuild_docs_cleanup
Clean up farm-build miscommit
2023-11-27 16:57:33 +00:00
386c8d6bfc swagger: document play kube annotations param
The annotations parameter was not documented, add it.

Fixes #20784

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-11-27 15:42:42 +01:00
d1236f46fc Merge pull request #20750 from baude/removeversionhack
podman machine image from oci updates
2023-11-27 14:10:33 +00:00
f6b2a13781 Clean up farm-build miscommit
Followup to #20051, which I didn't review in time.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-11-27 06:15:43 -07:00
208ad3b330 Merge pull request #20769 from giuseppe/fix-crash-podman-info
system: enhance check for re-exec into rootless userns
2023-11-27 10:23:40 +00:00
ac23b02f1d Merge pull request #20783 from containers/renovate/github.com-vbauerster-mpb-v8-8.x
fix(deps): update module github.com/vbauerster/mpb/v8 to v8.7.0
2023-11-27 09:41:29 +00:00
c7f6844c02 fix(deps): update module github.com/vbauerster/mpb/v8 to v8.7.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-27 05:05:51 +00:00
1486ee5189 Merge pull request #20744 from rhatdan/pod
If API calls for kube play --replace, then replace pod
2023-11-25 13:46:56 +00:00
375065caa1 Merge pull request #20763 from arixmkii/fix-farm-docs
[CI:DOCS] Remove unnencessary pregenerated doc
2023-11-25 13:19:27 +00:00
ed1d3d6ee8 Merge pull request #20768 from giuseppe/drop-dead-code
libpod: drop dead code
2023-11-24 15:30:31 +00:00
fce44302da Merge pull request #20764 from martafolf/main
[CI:DOCS] Correct Ulimit syntax in systemd unit docs.
2023-11-24 14:41:11 +00:00
41a6b992aa system: enhance check for re-exec into rootless userns
Previously, the setup only checked for the CAP_SYS_ADMIN capability,
which could be not enough with containerized Podman where
CAP_SYS_ADMIN might be set for an unprivileged user.

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

[NO NEW TESTS NEEDED] needs containerized Podman

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2023-11-24 13:22:19 +01:00
e824657738 Fix Ulimit syntax.
Signed-off-by: Marta <me@marta.nz>
2023-11-24 12:20:35 +00:00