Commit graph

7078 commits

Author SHA1 Message Date
openshift-merge-bot[bot]
7cd9b81b43
Merge pull request #26727 from ryanmccann1024/feature/26588-exec-no-session
feat(exec): Add --no-session flag for improved performance
2025-11-20 10:28:15 +00:00
openshift-merge-bot[bot]
dfdd3b5074
Merge pull request #27557 from baude/issue27556
Ignore prompt if stdin not a tty on machine start
2025-11-20 10:03:32 +00:00
Brent Baude
6541fc4fb2
Merge pull request #27510 from baude/fakehyperv
fake images: windows hyperv
2025-11-19 12:12:22 -06:00
Brent Baude
3d566d85cf Ignore prompt if stdin not a tty on machine start
When starting a machine and the user has not explicitly passed
-u=true|false AND stdin is a not a tty, we should not prompt to update
connections.

Fixes: #27556

Signed-off-by: Brent Baude <bbaude@redhat.com>
2025-11-19 11:50:25 -06:00
ryanmccann1024
61cbc0c3ee feat(exec): Add --no-session flag for improved performance
Fixes: #26588

For use cases like HPC, where `podman exec` is called in rapid succession, the standard exec process can become a bottleneck due to container locking and database I/O for session tracking.

This commit introduces a new `--no-session` flag to `podman exec`. When used, this flag invokes a new, lightweight backend implementation that:

- Skips container locking, reducing lock contention
- Bypasses the creation, tracking, and removal of exec sessions in the database
- Executes the command directly and retrieves the exit code without persisting session state
- Maintains consistency with regular exec for container lookup, TTY handling, and environment setup
- Shares implementation with health check execution to avoid code duplication

The implementation addresses all performance bottlenecks while preserving compatibility with existing exec functionality including --latest flag support and proper exit code handling.

Changes include:
- Add --no-session flag to cmd/podman/containers/exec.go
- Implement lightweight execution path in libpod/container_exec.go
- Ensure consistent container validation and environment setup
- Add comprehensive exit code testing including signal handling (exit 137)
- Optimize configuration to skip unnecessary exit command setup

Signed-off-by: Ryan McCann <ryan_mccann@student.uml.edu>
Signed-off-by: ryanmccann1024 <ryan_mccann@student.uml.edu>
2025-11-19 12:44:48 -05: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
openshift-merge-bot[bot]
af91cae1c5
Merge pull request #27271 from lsm5/podman6-no-cgv1
Podman6: Remove cgroupsv1
2025-11-14 17:03:59 +00:00
openshift-merge-bot[bot]
ec2567ed48
Merge pull request #27534 from matejvasek/revert-copyuidgid-inversion
Revert "Fix copyUIDGID parameter inversion in Docker compat API"
2025-11-14 14:41:29 +00:00
openshift-merge-bot[bot]
d388f9bbd2
Merge pull request #27342 from inknos/run-3578
Remove hardcoded refs from ociartifact code
2025-11-14 12:39:32 +00:00
Matej Vašek
65411d53c9
Revert "Fix copyUIDGID parameter inversion in Docker compat API"
This reverts commit 2b848cca36.

The official Docker API documentation was misleading here.
Testing shown that old podman behaviour was correct.
In docker copyUIDGID=true means that primary container uid/gid is used,
not the uid/gid from the tar stream.

Signed-off-by: Matej Vašek <matejvasek@gmail.com>
2025-11-14 12:39:04 +01:00
Paul Holzinger
6f9bf07a34
swagger: fix for new docker/moby module conflict
image got converted to the new docker modules which were finally renamed
to moby[1]. Podman however still uses docker so now the swagger lookup
seems to find duplicated types which in general breaks the generation so
exclude the new module for now until we convert podman and fix the new
type issues swagger found.

[1] https://github.com/containers/container-libs/pull/459

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-11-14 12:29:27 +01:00
openshift-merge-bot[bot]
d848f9f79d
Merge pull request #27503 from baude/issue27491
Fix regression in podman machine ssh
2025-11-14 01:28:54 +00:00
Nicola Sella
df4905d68b
Remove hardcoded refs from ociartifact code
Fixes: https://issues.redhat.com/browse/RUN-3578

Signed-off-by: Nicola Sella <nsella@redhat.com>
2025-11-13 22:57:21 +01:00
Lokesh Mandvekar
f47f74cad6
pkg/specgen/generate/kube: nolint and FIXMEs for seccomp deprecations
Ref: https://github.com/containers/podman/issues/27501

Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
2025-11-12 15:35:30 -05:00
Lokesh Mandvekar
96aba07d95
libpod/container_internal.go: util.SizeOfPath -> directory.Size
- Remove deprecated util.SizeOfPath

Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
2025-11-12 15:35:29 -05:00
Lokesh Mandvekar
f11392c719
Remove deprecated fields ctrConfig.[StaticIP,StaticMAC]
Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
2025-11-12 15:35:29 -05:00
Lokesh Mandvekar
3842f4d4e5
pkg/specgen: Remove deprecated CNINetworks
Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
2025-11-12 15:35:29 -05:00
Lokesh Mandvekar
a3fcf52a1c
Fix deprecation notice to make gocritic happy.
Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
2025-11-12 15:35:29 -05:00
Lokesh Mandvekar
145540fed4
Remove ContainerStats.PerCPU: CGV1 only
Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
2025-11-12 15:15:34 -05:00
Lokesh Mandvekar
5e02967fd7
pkg/api/handlers/compat/containers_create.go: Remove Cgroups v1
Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
2025-11-12 15:15:34 -05:00
Lokesh Mandvekar
5d7358d2bf
pkg/api/handlers/libpod/containers_stats.go: Remove Cgroups v1
Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
2025-11-12 15:15:33 -05:00
Lokesh Mandvekar
30d07aa0c8
pkg/domain/infra/abi/containers.go: Remove Cgroups v1
Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
2025-11-12 15:15:33 -05:00
Lokesh Mandvekar
a994aef330
pkg/domain/infra/abi/pods_stats.go: Remove Cgroups v1
Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
2025-11-12 15:15:33 -05:00
Lokesh Mandvekar
850bae519e
pkg/specgen/namespaces.go: Remove Cgroups v1
Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
2025-11-12 15:15:33 -05:00
Lokesh Mandvekar
72f8a01d9d
pkg/specgen/generate/validate_linux.go: Remove Cgroups v1
Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
2025-11-12 15:15:33 -05:00
Lokesh Mandvekar
2e6a923f1e
pkg/domain/infra/runtime_libpod.go: Remove Cgroups v1
Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
2025-11-12 15:15:33 -05:00
Brent Baude
d58dddee66 fake images: windows hyperv
this pr is a follow on to #27493.  it adds support for hyperv "fake"
images and suggests a benefit in terms of test speed.  for hyperv, we
create a generic 4MB vhdx and stick it into the temp dir.  this saves us
from any image copy or compression.

i also followed up on a few comments Paul made about using windows|unix
instead of each platform.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2025-11-12 12:53:42 -06:00
Brent Baude
57052a8cc7 Fix regression in podman machine ssh
While doing the provider obfuscation, I injected a regression where
podman ssh machine failed.  The regression was added in
0f22c1c772.  I have fixed the regression
and added a test to prevent future occurance.

Fixes: #27491

Signed-off-by: Brent Baude <bbaude@redhat.com>
2025-11-12 10:37:48 -06:00
Paul Holzinger
675182c2e9
fix gofumpt issues on main
Two PRs[1,2] were merged without rebasing resulting in a conflict since
the one enabled gofumpt while the other PR contained formatting not
according to that so now the lint fails.

[1] https://github.com/containers/podman/pull/27498
[2] https://github.com/containers/podman/pull/27493

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-11-12 15:44:26 +01:00
openshift-merge-bot[bot]
d5865c1462
Merge pull request #27498 from Luap99/gofumpt
enable gofumpt formatter
2025-11-12 13:29:45 +00:00
openshift-merge-bot[bot]
f23367f654
Merge pull request #27493 from baude/speedLinux
Use fake images for machine tests
2025-11-11 15:38:42 +00:00
Paul Holzinger
5c1ed12d8d
enable gofumpt formatter
Based on our discussion gofumpt won the vote so use that one via
golangci-lint.

https://github.com/containers/podman/discussions/27291

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-11-11 12:32:46 +01:00
openshift-merge-bot[bot]
481c5d9fab
Merge pull request #27484 from xiaolinny/main
chore: fix the inconsistent method names in the comments
2025-11-10 20:18:48 +00:00
Brent Baude
9cbb64c525 Use fake images for machine tests
In tests that do not start a machine, we can use "fake" images to speed
up tests.  In the case of darwin and Linux, that can be /dev/null.  The
hypervisors don't care.

In the case of Windows, some research will need to be done to determine
the same approach but this is a start.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2025-11-10 10:51:23 -06: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]
80840578be
Merge pull request #27395 from nalind/grpc-noop
Parse grpc requests on the service socket
2025-11-10 13:45:27 +00:00
xiaolinny
4e169dac8f chore: fix the inconsistent method names in the comments
Signed-off-by: xiaolinny <xiaolincode@outlook.com>
2025-11-10 15:24:17 +08:00
Brent Baude
e059055aa5 Fix WSL machine start with --update-connection
In my previous PR, #27405, the optional WSL tests do not pass because of
an early return consistent with WSL's networking.  This PR corrects the
problem.

Fixes: #27469

Signed-off-by: Brent Baude <bbaude@redhat.com>
2025-11-07 10:41:32 -06:00
openshift-merge-bot[bot]
905721cae5
Merge pull request #27458 from alessandro-verzicco/ignore-auth-json-empty
Fix authentication fallback when X-Registry-Auth header contains empty JSON object
2025-11-06 21:27:16 +00:00
Alessandro Verzicco
ac58beed26 Ignore auth header with empty JSON object
Signed-off-by: Alessandro Verzicco <152161683+alessandro-verzicco@users.noreply.github.com>
2025-11-06 17:39:56 +01:00
Paul Holzinger
a6f1c63c19
fix lint issues with github.com/cyphar/filepath-securejoin
The old location is deprecated and has been removed in v0.6.0 even. I
did this as extra commit to make cherry-picking easier.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-11-06 16:33:19 +01:00
openshift-merge-bot[bot]
4609271590
Merge pull request #27420 from givensuman/T-27095-add-apparmor-quadlet-key
Add AppArmor key to quadlet containers
2025-11-06 11:23:35 +00:00
openshift-merge-bot[bot]
ce561680bd
Merge pull request #27431 from nimdrak/27421
Fixed #27421 aritfact push and pull with authfile
2025-11-06 10:08:39 +00:00
Byounguk Lee
c581e0b392 Fixes #27421 aritfact push and pull with authfile
Signed-off-by: Byounguk Lee <nimdrak@gmail.com>
2025-11-06 05:26:36 +00:00
givensuman
e7b50c33df Add AppArmor key to quadlet .container files
Fixes: #27095
Signed-off-by: givensuman <givensuman@duck.com>
2025-11-05 18:15:52 -05:00
openshift-merge-bot[bot]
23e6a89d36
Merge pull request #27379 from Honny1/fix-copyuidguid
Fix copyUIDGID parameter inversion in Docker compat API
2025-11-05 08:04:30 +00:00
openshift-merge-bot[bot]
17beac160c
Merge pull request #27405 from baude/setdefaultconnection
Add `update-connection` to machine start and init
2025-11-04 20:03:58 +00:00
Brent Baude
b4ec460ed4 Add update-connection to machine start and init
This allows users to set the associated machine's system connection to the system default when running `podman machine init --now` or `podman machine start`.  It also changes the default bbehavior of these commands in that the user will be prompted and asked if they would like to switch the system connection.  It also introduces a command line switch called `--update-connection`.  If the switch is unset, then the user will be prmpted.  If the command value is explicitly set to `false`, the user will not be prompted and the system connection will not be altered.  If the value is set to `true`, the system connection will be made the default and the user will not be prompted.

Fixes: https://issues.redhat.com/browse/RUN-3632

Signed-off-by: Brent Baude <bbaude@redhat.com>
2025-11-04 10:35:28 -06:00
openshift-merge-bot[bot]
5d0458672a
Merge pull request #27430 from l0rd/fix-wsl-image-cache-mismatch
Fix cache misses when pulling WSL machine image
2025-11-04 13:54:52 +00:00