23440 Commits

Author SHA1 Message Date
52fe111b51 Merge pull request #23562 from cevich/rm_docker_py_dupe
De-duplicate docker-py testing
2024-08-12 12:05:41 +00:00
20f3e8909e test/system: pasta_test_do add explicit port check
Do not rely on an arbitrary delay in order to ensure the port was bound
in the container. Instead this approach checks if the port is bound in
the netns and only then starts the client. This speeds up the entire
test file by 50% but more importantly in parallel testing it solves
hangs as the timeout there was unreliable.

Fixes #23471

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-08-12 13:46:56 +02:00
20a32d33cd test/e2e: work around new push warning
c/image now throws a warning when using encryption and zstd:chunked as
they do not work together[1]. As CI uses default configs from fedora it
means rawhide now defaults to zstd:chunked which trigger the warning
there. To work around that force zstd compression.

[1] https://github.com/containers/image/issues/2485

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-08-12 12:15:52 +02:00
be41ee4131 vendor: update c/common to latest
Includes some netns cleanup fixes.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-08-12 12:11:26 +02:00
4aaa5cb6f0 stopIfOnlyInfraRemains: log all errors
Log all stopping errors for each container so we actually see the real
cause.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-08-12 12:11:26 +02:00
78cb1e28cb libpod: do not save expected stop errors in ctr state
If we try to stop a contianer that is not running or paused we get an
ErrCtrStateInvalid or ErrCtrStopped error. As podman stop is idempotent
this is not a user visable error at all so we should also never log it
in the container state.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-08-12 12:09:01 +02:00
f276d53532 libpod: fix broken saveContainerError()
We cannot unlock then lock again without syncing the state as this will
then save a potentially old state causing very bad things, such as
double netns cleanup issues.

The fix here is simple move the saveContainerError() under the same
lock. The comment about the re-lock is just wrong. Not doing this under
the same lock would cause us to update the error after something else
changed the container alreayd.

Most likely this was caused by a misunderstanding on how go defer's work.
Given they run Last In - First Out (LIFO) it is safe as long as out
defer function is after the defer unlock() call.

I think this issue is very bad and might have caused a variety of other
weird flakes. As fact I am confident that this fixes the double cleanup
errors.

Fixes #21569
Also fixes the netns removal ENOENT issues seen in #19721.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-08-12 11:19:47 +02:00
277e061878 Merge pull request #23498 from lelemka0/fix/quadlets/userLevelFilter
Quadlet: Fix `userLevelFilter` when `UnitDirAdmin` is a symlink
2024-08-11 13:43:34 +00:00
b0948a5cd0 Quadlet: fix filters failure when the search paths are symlinks
Rootless units placed in `users` would be loaded for root when
`/etc/containers/systemd` is a symlink. In this case, since
`UnitDirAdmin` is hardcoded, `userLevelFilter` always returns `true`.
If `/etc/containers/systemd/users` is a symlink, any user would load
other users' units.
Fix the above two problems.

Fixes: #23483

Signed-off-by: Uzinn Kagurazaka <uzinn.kagurazaka@11555511.xyz>
2024-08-11 18:01:13 +08:00
2043d1647c readme: replace GPG with PGP
GPG is the GNU tooling, PGP is the standard format.

Signed-off-by: Simon Ser <contact@emersion.fr>
2024-08-10 11:39:36 +02:00
48e727f1b4 Merge pull request #23552 from cevich/cleanup_python_cni
Drop APIv2 CNI configuration
2024-08-09 17:44:08 +00:00
a48cd241ad Drop APIv2 CNI configuration
**Depends on PR 23538**

CNI is no longer needed/supported.

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-08-09 10:20:38 -04:00
dcdb5408de De-duplicate docker-py testing
Previously there were two CI tasks that ended up both testing docker-py
compatibility.  Remove the duplicate from the `localapiv2-python` make
target, and symlink the identical requirements file.

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-08-09 10:13:02 -04:00
dd1d2c136f Merge pull request #23557 from deepskyblue86/crun-comm-3
chore(podmansnoop): explain why crun comm is 3
2024-08-09 13:09:09 +00:00
d305a34b11 Merge pull request #23553 from Luap99/net-cleanup-err
libpod: cleanupNetwork() return error
2024-08-09 10:29:37 +00:00
ec59508d4c chore(podmansnoop): explain why crun comm is 3
Signed-off-by: Angelo Puglisi <angelopuglisi86@gmail.com>
2024-08-09 10:57:59 +02:00
f2a03e5753 libpod: cleanupNetwork() return error
Return the error not just log as the caller can then decide to log this
and exit > 0. I also removed the c.valid check as I do not see what the
purpose of this would be. c.valid is only false when the ctr was removed
but then we should never get there as Cleanup() will not work on a
container in removing state.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-08-09 10:57:24 +02:00
8c79fa99f0 Merge pull request #23555 from containers/renovate/golang.org-x-sys-0.x
fix(deps): update module golang.org/x/sys to v0.24.0
2024-08-08 21:27:48 +00:00
07d367622a Merge pull request #23551 from Luap99/e2e-timeout
test/e2e: improve command timeout handling
2024-08-08 21:25:04 +00:00
d13f2a5b5c Merge pull request #23538 from cevich/apiv2_python_use_local_reg
Reduce python APIv2 test net dependency
2024-08-08 21:22:20 +00:00
61a889de4c fix(deps): update module golang.org/x/sys to v0.24.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-08 20:28:51 +00:00
8ecacdc087 Merge pull request #23541 from containers/renovate/github.com-onsi-ginkgo-v2-2.x
Update module github.com/onsi/ginkgo/v2 to v2.20.0
2024-08-08 17:20:58 +00:00
7936809f75 Reduce python APIv2 test net dependency
Previously these tests pulled some test images from quay, opening them up
to networking-flake induced failures.  As has already been done for
other tests, update to utilize the locally running registry server.

Also: Add `test/python/**` into the apiv2 task conditions as referenced
by the `Makefile` `localapiv2-python` target.

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-08-08 10:40:22 -04:00
bf091abdc5 Fix not testing registry.conf updates
Previously, if anyone touched these files no extra testing would
trigger.  However, basically all testing depends on them.  Update the
condition and test that verifies it.

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-08-08 10:40:22 -04:00
be2212804b test/e2e: improve command timeout handling
Basically commit ada4e1a8c1 for e2e tests. The timeout does not kill the
process so if it is stucked it hangs forever. So make sure we kill it
via SIGABRT.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-08-08 16:27:23 +02:00
18e0272a7a Merge pull request #23523 from inknos/flake-23468
Add passwd validate and generate steps
2024-08-08 12:40:53 +00:00
52ff2a41fa Update module github.com/onsi/ginkgo/v2 to v2.20.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-08 12:10:24 +00:00
9007553a81 Merge pull request #23547 from containers/renovate/github.com-moby-sys-user-0.x
Update module github.com/moby/sys/user to v0.3.0
2024-08-08 11:36:45 +00:00
09639a07fb Update module github.com/moby/sys/user to v0.3.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-08 09:59:03 +00:00
c053194921 Merge pull request #23533 from edsantiago/fix-containerport-flake
CI: e2e: serialize root containerPort tests
2024-08-08 09:57:57 +00:00
f041d059b5 Add passwd validate and generate steps
Add generate helper function.
Also, add a troubleshooting try/catch block in case we get more flakes
during Set-LocalUser step in Windows powershell.

Resolves: https://github.com/containers/podman/issues/23468

Signed-off-by: Nicola Sella <nsella@redhat.com>
2024-08-08 11:50:17 +02:00
9939f653c6 Merge pull request #23531 from containers/renovate/common-image-and-storage-deps
fix(deps): update github.com/containers/common digest to 05b2e1f
2024-08-08 08:51:46 +00:00
6dd64e5d27 Merge pull request #23537 from Luap99/cleanup-err
podman container cleanup: ignore common errors
2024-08-08 07:40:15 +00:00
4620e91f86 podman container cleanup: ignore common errors
The podman container cleanup command is not really intended for human
use. Instead each conmon will spawn this command after the container
exit to make sure we can cleanup resources asynchronously. However this
command will always race against other foreground process such as podman
rm -fa. Therefore it is possible that the ctr was already removed and we
should not log errors in this case.

While these errors are normally not seen as the command is int he
background you can see it if you enable syslog logging and then they
just spam the log with useless errors so just ignore them.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-08-07 17:00:47 +02:00
795851edd3 Quadlet - Allow the user to override the default service name
Add support for the ServiceName key for all unit types
Extend the PodInfo struct into UnitInfo to consolidate all prepopulated data into a single map
Use the NodesInfo map instead of the resourceName
Update the UnitInfo in the convert function instead of returning it
No need to replace extension anymore just remove it
All e2e tests with dependencies on other Quadlet files moved to a separate section
Add the capability of overriding the service name in the test
Add e2e tests for the new functionality
Adjust integration tests
Update the MAN page

Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2024-08-07 17:50:49 +03:00
1a2e1eb46e CI: e2e: serialize root containerPort tests
Two tests, both check port 80 on host, one wants it live,
the other wants it blocked. Prevent them from running
concurrently.

Fixes: #23470

Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-08-07 05:34:12 -06:00
4e788bc611 Merge pull request #23532 from containers/renovate/golang.org-x-tools-0.x
fix(deps): update module golang.org/x/tools to v0.24.0
2024-08-07 10:11:52 +00:00
a06a7d7ba8 Should not force conversion of manifest type to DockerV2ListMediaType
Fixes: https://github.com/containers/podman/issues/23163

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2024-08-07 06:07:46 -04:00
61f7db5e7a Merge pull request #23527 from edsantiago/safename-012
CI: manifest system tests: make parallel-safe
2024-08-07 08:25:10 +00:00
4109ffa649 Merge pull request #23529 from edsantiago/safename-060
CI: mount system test: make parallel-safe
2024-08-07 08:19:31 +00:00
9e8c4c4993 Merge pull request #23524 from mheon/fix_23515
Create volume path before state initialization
2024-08-07 08:16:54 +00:00
2038d88680 fix(deps): update module golang.org/x/tools to v0.24.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-07 03:20:04 +00:00
6714b6302d fix(deps): update github.com/containers/common digest to 05b2e1f
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-07 00:16:18 +00:00
64020cdc51 Merge pull request #23526 from baude/windowsgvisorpidnoterror
Ignore ERROR_SHARING_VIOLATION error on windows
2024-08-06 22:21:57 +00:00
4a9942a043 Merge pull request #23528 from containers/renovate/golang.org-x-net-0.x
Update module golang.org/x/net to v0.28.0
2024-08-06 22:13:40 +00:00
bcbd2b29de Merge pull request #23521 from giuseppe/vendor-storage-6-aug-2024
vendor: update c/storage
2024-08-06 22:02:49 +00:00
f99c7ead92 CI: mount system test: parallelize
Use safename for containers, volumes, images.

Build a temporary scratch image for podman image mount, so
we can safely mount/umount it (instead of $IMAGE) without
risk of other parallel tests umounting it.

Fixed some oopsies ("$vol1" is empty string, so, NOP test)

And... an experiment. I'm leaving in my 'ci:parallel' tags
and notes, so I don't have to carry them in #23275. This
is harmless, basically just noisy comments. The drawback
is, if for some reason #23275 does not pan out, I'll have
to go back and remove those tags. Right now I'm feeling
pretty comfortable about this parallelization approach tho.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-08-06 13:28:47 -06:00
53ae4ea927 Update module golang.org/x/net to v0.28.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-06 19:12:49 +00:00
81003f2d08 Ignore ERROR_SHARING_VIOLATION error on windows
When removing the gvproxy pid file, under CI conditions we could hit a
case where the PID file being removed seemed to have an open handle on
it still.  I could not find anything in podman that left an open handle
and gvproxy would have quit before this, so we think it is likely
another process holding it.  I could not find root cause with CI because
I could not trip the flake.

this new code allows windows (specifically hyperv bc WSL does not use
GVProxy) to ignore an ERROR_SHARING_VIOLATION.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2024-08-06 14:09:36 -05:00
f9b67cea57 CI: manifest system tests: make parallel-safe
Use safename instead of hardcoded "test"

Start registry once, in setup_file(), instead of requiring
individual tests to do so.

Add explicit --authfile arg to a bunch of places that now need it

Minor cleanup and improvements in test descriptions. I may have
gotten a little carried away here, but if this test ever fails
these additions will make someone's life much easier.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-08-06 13:07:10 -06:00