Commit Graph

2007 Commits

Author SHA1 Message Date
Paul Holzinger
2608feb4f7 Merge pull request #27708 from anagno/fix/probe
fix: skip execution of probes when initialDelaySeconds is not elapsed
2025-12-11 15:35:06 +01:00
Vasileios Anagnostopoulos
88bacfc133 fix: skip execution of probes when initialDelaySeconds is not elapsed
According to the [Kubernetes docs](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes)
the probes should be executed after the `initialDelaySeconds`. So to be
consistent with the kubernetes specs, skip the execution of the probes until
the `initialDelaySeconds` is elapsed.

Closes #27678

Signed-off-by: Vasileios Anagnostopoulos <anagnwstopoulos@hotmail.com>
2025-12-11 12:50:24 +01:00
Brent Baude
f348a0717d Vendor latest mono repo for libartifact changes
This PR vendors in the strong typed libartifact code and carries the
associated changes.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2025-12-10 14:44:50 -06:00
Matt Heon
a8ecb80ac0 Deterministically order pod inspect fields
There are two fields I'm worried about: shared namespaces and pod
containers. Both are generated via loops over maps and are thus
non-deterministic in ordering. Throw a sort on each to fix the
order so we can actually diff `podman pod inspect` output.

Signed-off-by: Matt Heon <mheon@redhat.com>
2025-12-04 15:25:11 -05:00
openshift-merge-bot[bot]
ffe01749e2 Merge pull request #27413 from 0xDVC/fix-26848-userns-pod-validation
Fix user namespace validation for containers in pods
2025-11-26 15:37:00 +00:00
Paul Holzinger
aaadb4726d SetupRootless handle case where conmon pid are not valid
When trying to join the conmon pid to recreate the pause process based
on the namespace it can be that the pid is no longer valid, i.e. when
conmon crashed or was killed.

Currently we have a big issue that can be reproduced using:
$ podman run -d quay.io/libpod/testimage:20241011 sleep 100
$ killall -9 conmon
$ killall catatonit

All commands would fail as we keep trying to rejoin the namespace of the
non existing conmon process.

So to address that fall back to creating a new namespace if we fail to
join the conmon pids.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-11-25 19:52:24 +01:00
0xdvc
417430c451 fix: improve userns validation when joining pods
- remove old CLI validation that only checked --pod flag
- add validation in namespaces.go to catch all paths (cli, quadlet, api)
- block userns mixing for all pods with infra, not just ipc/net
- update error message to be clearer
- fix test cleanup to use PodmanExitCleanly()
- use dynamic pod names in system tests to avoid conflicts

fixes #26848

Signed-off-by: 0xdvc <neilohene@gmail.com>
2025-11-25 08:45:19 +00:00
Mario Loriedo
db9e0b97f6 Remove iptables references in system tests
Signed-off-by: Mario Loriedo <mario.loriedo@gmail.com>
2025-11-21 01:01:47 +01:00
Jan Rodák
d22e50eac9 test/system: remove deprecated cgroupsv1 skip check
Remove skip_if_rootless_cgroupsv1 call from quadlet tests since
cgroupsv1 is deprecated and no longer needs special handling

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2025-11-19 14:26:25 +01:00
openshift-merge-bot[bot]
fb7e99786e Merge pull request #27384 from flouthoc/multi-file-quadlet
quadlet install: add support for multiple quadlets in a single file
2025-11-18 16:01:08 +00:00
flouthoc
c22c3271bb quadlet install: multiple quadlets from single file should share app
Quadlets installed from `.quadlet` file now belongs to a single
application, anyone file removed from this application removes all the
other files as well.

Assited by: claude-4-sonnet

Signed-off-by: flouthoc <flouthoc.git@gmail.com>
2025-11-17 10:23:28 -08:00
Lokesh Mandvekar
036bf7b44f test/system: delete CgV1 skips and skipped CgV2 tests
Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
2025-11-12 15:15:34 -05:00
flouthoc
e787b4f503 quadlet: add support for multiple quadlets in a single file
Enable installing multiple quadlets from one file using '---' delimiters.
Each section requires '# FileName=<name>' comment for custom naming.
Single quadlet files remain unchanged for backward compatibility.

Assited by: claude-4-sonnet

Signed-off-by: flouthoc <flouthoc.git@gmail.com>
2025-11-10 08:25:48 -08:00
openshift-merge-bot[bot]
2c40377dc9 Merge pull request #27472 from Luap99/test-fixes
various different test fixes
2025-11-10 15:03:16 +00:00
openshift-merge-bot[bot]
80840578be Merge pull request #27395 from nalind/grpc-noop
Parse grpc requests on the service socket
2025-11-10 13:45:27 +00:00
Paul Holzinger
950db09587 test/system: fix broken podman_runtime
This got broken during the remote testing rewrite to enable tls testing
in commit feb36e4fe6. The problem is the function didn't use the proper
podman command with the remote arg so it tried to connect to the default
socket with remote testing.

And in the checkpoint file we use it before the PODMAN_CMD was defined
so fix this by moving the basic_setup before and the use the variable
PODMAN_RUNTIME instead of having to do another info call.

Also fix the debug log output to correctly log the podman commands with
all arguments on a single line.

Fixes: feb36e4fe6 ("Implement TLS API Support")
Fixes: #27266

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-11-07 19:02:56 +01:00
Paul Holzinger
c31104f84e test/system: fix artifact test cleanup
Make sure to rmeove the artifact but we don't need to remove the
testfiles as they are part under PODMAN_TMPDIR which gets removed by
default so don't bother with that.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-11-07 19:02:56 +01:00
Paul Holzinger
09cf145f39 test/system: merge artifact tests into single file
There is no need for several files here, it just means the setup and
helpers get duplicated.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-11-07 19:02:55 +01:00
Paul Holzinger
348617fba6 test/system: rework artifact created test
- use nanoseconds, so we don't need to sleep a full second do put the
  time forward.
- use the --format option instead of jq
- run test via remote as well
- don't use static file content

Fixes: #27265

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-11-07 19:02:55 +01:00
Paul Holzinger
9eba688ffa test/system: remove 701-artifact-created.bats
The tests there are a duplicate compared to the 702 file.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-11-07 19:02:55 +01:00
Paul Holzinger
ad34a695de test/system: do not run artifact test in parallel
They do not seem safe to use concurrently, see #27264.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-11-07 19:02:55 +01:00
Paul Holzinger
f89e2d3ac8 test/system: skip flaky restore test on debian
Somehow this only flakes on debian as it seem the /etc/hosts file on the
host system changes and thus causes a false postive with the
before/after restore comparison.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-11-07 19:02:55 +01:00
Ricardo Branco
14cb9d2a6c test/system: Update test to handle new error message from runc 1.3.3
Signed-off-by: Ricardo Branco <rbranco@suse.de>
2025-11-07 11:54:06 +01:00
openshift-merge-bot[bot]
eb63a1f38d Merge pull request #27005 from zifeitong/newer
Fix podman build "newer" pull policy
2025-11-04 15:17:37 +00:00
shiavm006
c0ae1a9bac Fix remote client rejecting empty --detach-keys string
The remote client (podman --remote) was incorrectly throwing an error
when --detach-keys="" was specified for attach, run, or start commands.
According to documentation and the v1.7.0 release notes, specifying an
empty string should disable detaching, not cause an error.

Fixes: #27414

Signed-off-by: shiavm006 <shivammittal42006@gmail.com>
2025-11-04 09:12:02 +05:30
Nalin Dahyabhai
be82989be3 Add a no-op GRPC responder service to the podman system service
Add a bare minimum GRPC service to the podman system service socket.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
2025-11-03 11:14:32 -05:00
Matt Heon
f5bc2abe4c Remove BoltDB state support
This also includes a number of significant changes to the SQLite
state made possible by removal of the legacy DB.

1. Enable database unit tests for SQLite state, with numerous
   tweaks to get tests passing. Most notable changes are to
   container removal - where we previously didn't return an error
   if there was no container to remove - and RemovePodContainers,
   which I don't think ever worked properly from my reading of
   the failures.
2. Removal of AddContainerToPod/RemoveContainerToPod. On SQLite,
   these functions are identical to AddContainer/RemoveContainer
   and there is no reason to retain duplicates.
3. Removal of SafeRewriteContainerConfig - it's identical to
   RewriteContainerConfig in SQLite, no reason to have duplicate
   entrypoints.

As an exciting side-note, this removes Podman's requirement that
containers and pods cannot share a name, which was a BoltDB
restriction only.

Signed-off-by: Matt Heon <matthew.heon@pm.me>
2025-10-28 12:09:04 -04:00
openshift-merge-bot[bot]
2883e95ae5 Merge pull request #27294 from mheon/warn_on_boltdb
Warn on BoltDB usage
2025-10-23 11:27:27 +00:00
Artem Sierikov
61291e8c70 quadlet: add cat alias for print
Add new alias `podman quadlet cat` to `podman quadlet print`
to align Podman's quadlet CLI with systemd conventions.

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

Signed-off-by: Artem Sierikov <sierikov@pm.me>
2025-10-22 20:05:08 +02:00
Matt Heon
9ea18b78fa Warn on boltdb use
We started logging this in 5.6. In 5.7, we up to a warning. The
upcoming 5.8 will up the warnings further to errors.

Required as we're removing BoltDB support in 6.0 next Spring.

Signed-off-by: Matt Heon <matthew.heon@pm.me>
2025-10-22 09:24:43 -04:00
openshift-merge-bot[bot]
4a2e52f4ed Merge pull request #27182 from skyraider256526/main
feat: add `--format` flag to artifact inspect
2025-10-22 13:22:09 +00:00
Paul Holzinger
339a432dd9 fix artifact inspect issues
Fix remaining CI issues from PR #27182.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-10-22 13:04:13 +02:00
Celso Henrique Souza Silva
0ea4eaee70 cmd/podman: add replace flag to quadlet install
Signed-off-by: Celso Henrique Souza Silva <celsohenrique367@gmail.com>
Fixes: #26930
2025-10-21 14:03:23 -03:00
openshift-merge-bot[bot]
1a8eb18b2b Merge pull request #27310 from mheon/default-runtime-flags
Add support for runtime flags in containers.conf
2025-10-20 10:57:46 +00:00
Matt Heon
43ff7a4c13 Add a test for containers.conf runtime options
Signed-off-by: Matt Heon <mheon@redhat.com>
2025-10-17 10:34:18 -04:00
openshift-merge-bot[bot]
32d6c54054 Merge pull request #26624 from Odilhao/artifact-quadlet-implementation
Add artifact quadlet unit type support
2025-10-13 14:41:25 +00:00
Odilon Sousa
34254cd1d0 Add artifact quadlet unit type support
RFE: Add artifact quadlet unit type #25778

Signed-off-by: Odilon Sousa <osousa@redhat.com>
2025-10-10 11:08:33 -03:00
openshift-merge-bot[bot]
7fecff5c29 Merge pull request #27239 from Honny1/fix-mapping-ns
Fix --userns=ns:<path> conflicting with runc 1.1.11+
2025-10-07 19:21:01 +00:00
openshift-merge-bot[bot]
2455ac327d Merge pull request #27153 from rhatdan/cursor
Add --replace option to podman artifact add command
2025-10-07 17:09:03 +00:00
Jan Rodák
79ecc1d56b Fix --userns=ns:<path> conflicting with runc 1.1.11+
Remove dummy UID/GID mappings added when joining existing user
namespaces, which runc 1.1.11+ rejects as conflicting.

RUNC fix: https://github.com/opencontainers/runc/pull/4124

Fixes #27148

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2025-10-07 15:45:45 +02:00
Daniel J Walsh
b765c91580 Add --replace option to podman artifact add command
This commit implements the --replace functionality for the artifact add command,
allowing users to replace existing artifacts without having to manually remove
them first.

Changes made:
- Add Replace field to ArtifactAddOptions entity types
- Add --replace CLI flag with validation to prevent conflicts with --append
- Implement replace logic in ABI backend to remove existing artifacts before adding
- Update API handlers and tunnel implementation for podman-remote support
- Add comprehensive documentation and examples to man page
- Add e2e and system BATS tests for --replace functionality
- Fix code formatting in pkg/bindings/artifacts/types_pull_options.go:
  * Reorder imports with proper spacing
  * Fix function declaration spacing
  * Convert spaces to proper tab indentation
  * Remove extraneous blank lines

The --replace option follows the same pattern as other podman replace options
like 'podman container create --replace' and 'podman pod create --replace'.
It gracefully handles cases where no existing artifact exists (no error thrown).

Usage examples:
  podman artifact add --replace quay.io/myimage/artifact:latest /path/to/file
  podman artifact add --replace localhost/test/artifact /tmp/newfile.txt

Fixes: Implements requested --replace functionality for artifact add command
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2025-10-06 12:22:40 -04:00
Paul Holzinger
3e774ee285 test/system: actually wait for container removal
podman wait by default waits for exit not removal as the man page
documents.

Fixes: 3a98b6dc0e ("test: Wait for killed container to avoid leak")

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-10-06 16:01:31 +02:00
Paul Holzinger
fdb5ac5e8f test/system: run_podman ? needs quoting
Bash will expand a signle ? to a file name which consists of a single
char, and thus if you have a file named "a" in the cwd it will add a as
argument which causes podman a ... to be executed which clearly fails
the test.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-10-06 16:01:31 +02:00
openshift-merge-bot[bot]
ef584d4d6d Merge pull request #27169 from ygalblum/quadlet-template-dependency
Quadlet - Support template dependency
2025-10-03 15:51:31 +00:00
Ricardo Branco
3a98b6dc0e test: Wait for killed container to avoid leak
Signed-off-by: Ricardo Branco <rbranco@suse.de>
2025-10-03 13:51:06 +02:00
Ygal Blum
88bca78c6e stop service instances
Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2025-10-01 09:49:38 -04:00
Ygal Blum
83e65f91a4 Quadlet - Support template dependency
Add support for Volumes and Networks
Add e2e and system tests

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

Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2025-09-30 13:41:20 -04:00
openshift-merge-bot[bot]
3747e3db3f Merge pull request #24601 from meln5674/feature/remote-tls
Support (m)TLS API Socket
2025-09-30 16:19:14 +00:00
Volodymyr Pankin
ebde5d1563 cmd: add auto completion for network create --interface-name
Fixes: #27113

Signed-off-by: Volodymyr Pankin <volopank@gmail.com>
2025-09-30 13:50:57 +02:00
Andrew Melnick
feb36e4fe6 Implement TLS API Support
* Added flags to point to TLS PEM files to use for exposing and connecting
  to an encrypted remote API socket with server and client authentication.
* Added TLS fields for system connection ls templates.
* Added special "tls" format for system connection ls to list TLS fields
  in human-readable table format.
* Updated remote integration and system tests to allow specifying a
  "transport" to run the full suite against a unix, tcp, tls, or mtls
  system service.
* Added system tests to verify basic operation of unix, tcp, tls, and mtls
  services, clients, and connections.

Signed-off-by: Andrew Melnick <meln5674.5674@gmail.com>
2025-09-26 09:09:54 -06:00