Commit graph

6525 commits

Author SHA1 Message Date
openshift-merge-bot[bot]
6abf83fc42
Merge pull request #24936 from vmasutin/fixing-ssh-identity
Fixing ~/.ssh/identity handling
2025-01-07 19:32:04 +00:00
Paul Holzinger
e9fb805522
update golangci/golangci-lint to v1.63.4
Fix new issues found by usetesting, mainly we should use t.TempDir() in
test which makes the code better as this will be removed on test end
automatically so no need for defer or any error checking.
Also fix issues reported by exptostd, these mainly show where we can
switch the imports to the std maps/slices packages instead of the
golang.org/x/exp/... packages.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-01-07 15:48:53 +01:00
Valery Masiutsin
dd76034660 Fixing ~/.ssh/identity handling
Signed-off-by: Valery Masiutsin <val.masutin@gmail.com>
2025-01-07 12:36:01 +00:00
Odilon Sousa
d1a3f96cbf Add support to ShmSize in Pods with Quadlet
This closes #22915

Signed-off-by: Odilon Sousa <osousa@redhat.com>
2024-12-30 12:33:00 -03:00
openshift-merge-bot[bot]
7ba410aa76
Merge pull request #24760 from Honny1/fix-major-minor-nums
Fix device limitations in `podman-remote update` on remote systems
2024-12-18 14:15:11 +00:00
openshift-merge-bot[bot]
3cffc6bcaf
Merge pull request #24825 from giuseppe/simplify-systemd-parser
systemd: simplify parser and fix infinite loop
2024-12-13 18:47:03 +00:00
Giuseppe Scrivano
64e94efb95
systemd: simplify parser and fix infinite loop
This commit simplifies the systemd parser logic, and it solves an
infinite loop when using a continuation line.

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

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2024-12-12 20:45:23 +01:00
openshift-merge-bot[bot]
b60df61c3f
Merge pull request #24794 from ruihe774/fix-quadlet-container-network
quadlet: fix inter-dependency of containers in `Network=`
2024-12-11 16:54:42 +00:00
Misaki Kasumi
cf505fe788 quadlet: fix inter-dependency of containers in Network=
Signed-off-by: Misaki Kasumi <misakikasumi@outlook.com>
2024-12-11 08:33:37 +08:00
Jan Rodák
2f31a61cce
Fix device limitations in podman-remote update on remote systems
Fixes: https://issues.redhat.com/browse/RUN-2381

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2024-12-09 17:35:56 +01:00
Nalin Dahyabhai
0a4885610d manifest annotate: connect IndexAnnotations
Add the connective logic so that annotating the manifest as a whole will
succeed as intended, and we don't mix up annotations for an entry and
annotations which are meant for the manifest as a whole.  Make
consistent the names which are used when encoding values of certain
fields.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
2024-12-06 15:43:00 -05:00
openshift-merge-bot[bot]
7b35f4fb53
Merge pull request #24694 from arixmkii/update-qemu-files
RFC: Fix compilation issues in QEMU machine files (Windows platform)
2024-12-04 13:26:01 +00:00
openshift-merge-bot[bot]
50a042962b
Merge pull request #23827 from arixmkii/compose-url-fix
Improve platform specific URL handling in `podman compose` for machines
2024-12-04 13:23:15 +00:00
openshift-merge-bot[bot]
bf1661c930
Merge pull request #24716 from arixmkii/improve-machine-inspect-test
Cover Unix socket in inpect test on Windows platform
2024-12-03 14:45:24 +00:00
Tigran Sogomonian
c76932f4c6 api: replace inspectID with name
If err != nil then inspect is nil thus here it is better
to use name when outputting the error instead of inspectID.

Found by Linux Verification Center (linuxtesting.org) with SVACE.

Signed-off-by: Tigran Sogomonian <tsogomonian@astralinux.ru>
2024-12-03 14:13:48 +03:00
Arthur Sengileyev
ededb4c3c4 Improve platform specific URL handling in podman compose for machines
Use filepath utility instead of generic string replace to convert path
on Windows. This also separates OS specific implementations to separate
compilation sources and removes redundant check for virtualization
provider on Windows platform.

Signed-off-by: Arthur Sengileyev <arthur.sengileyev@gmail.com>
2024-12-02 20:46:51 +02:00
Arthur Sengileyev
5bbfed2dc1 Cover Unix socket in inpect test on Windows platform
Signed-off-by: Arthur Sengileyev <arthur.sengileyev@gmail.com>
2024-11-29 18:01:38 +02:00
Giuseppe Scrivano
6673f5c202
stats: ignore errors from containers without cgroups
Now `podman stats --all` ignores failures from a container that has no
cgroups.

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

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2024-11-28 15:19:04 +01:00
Arthur Sengileyev
7f6a203558 Fix compilation issues in QEMU machine files (Windows platform)
Signed-off-by: Arthur Sengileyev <arthur.sengileyev@gmail.com>
2024-11-27 17:23:08 +02:00
Gavin Lam
4f7395f93a
Add --hosts-file flag to container and pod commands
* Add --hosts-file flag to container create, container run and pod create
* Add HostsFile field to pod inspect and container inspect results
* Test BaseHostsFile config in containers.conf

Signed-off-by: Gavin Lam <gavin.oss@tutamail.com>
2024-11-24 22:00:34 -05:00
Gavin Lam
dc564257a2
Add nohosts option to /build and /libpod/build
Signed-off-by: Gavin Lam <gavin.oss@tutamail.com>
2024-11-24 22:00:31 -05:00
Ygal Blum
13affe96d6 Quadlet - Use = sign when setting the pull arg for build
Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2024-11-22 15:06:50 -05:00
openshift-merge-bot[bot]
d85ac938e6
Merge pull request #24442 from Honny1/change-healthcheck-config-via-podman-update
Configure HealthCheck with `podman update`
2024-11-22 15:57:30 +00:00
Jan Rodák
a1249425bd
Configure HealthCheck with podman update
New flags in a `podman update` can change the configuration of HealthCheck when the container is started, without having to restart or recreate the container.

This can help determine why a given container suddenly started failing HealthCheck without interfering with the services it provides. For example, reconfigure HealthCheck to keep logs longer than the usual last X results, store logs to other destinations, etc.

Fixes: https://issues.redhat.com/browse/RHEL-60561

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2024-11-19 19:44:14 +01:00
openshift-merge-bot[bot]
183cf98069
Merge pull request #24565 from mheon/fix_24555
Overlay mounts supersede image volumes & volumes-from
2024-11-19 14:10:46 +00:00
Matt Heon
61b57b7d7d Overlay mounts supersede image volumes & volumes-from
This matches the behavior of other volume and mount types. Image
volumes and volumes/mounts from the `--volumes-from` flag should
be overridden by actual user-specified named volumes and mounts,
but this was not true for overlay mounts. Fortunately, our
duplicate-mount detection logic still works, so we got a good
error message at least.

The fix is simple - extend our supersede logic, which currently
only works with named volumes and mounts, to also work with
overlay mounts.

Fixes #24555

Signed-off-by: Matt Heon <mheon@redhat.com>
2024-11-15 08:26:16 -05:00
Paul Holzinger
71f1f52894
only read ssh_config for non machine connections
For machine we know we have all the info we need so there is no reason
to read and parse another file.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-11-14 18:29:22 +01:00
Paul Holzinger
cbb2820a7e
ssh_config: allow IdentityFile file with tilde
The ssh_config can contain a path with ~/ to refer to the home dir like
done on shells. Handle that special case and resolve the path correctly
so it can be used.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-11-14 18:26:55 +01:00
Paul Holzinger
a7120b50b1
ssh_config: do not overwrite values from config file
When we alreadty get a full URL with user, port and identity then we
should not read the config file just to overwrite them with wrong
values. This is a bad regression for user using * wildcard in their
ssh_config as it makes podman machine unusable.

Fixes: #24567
Fixes: e523734ab6 ("Add support for ssh_config for connection")

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-11-14 18:26:33 +01:00
Paul Holzinger
8a5ec2c505
connection: ignore errors when parsing ssh_config
The new ssh_Config feature doesn't work on my system because the lib
fails to parse configs using Match[1]. However Fedora and RHEL based
distros seem to ship /etc/ssh/ssh_config.d/50-redhat.conf which contains
a Match line thus it always fails to parse and never uses the proper
values from my home dir config.

[1] https://github.com/kevinburke/ssh_config/issues/6

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-11-14 16:17:50 +01:00
openshift-merge-bot[bot]
5dbb567db6
Merge pull request #24321 from gaufde/main
Fix for podman machine init not creating necessary JSON file when an ignition-path is passed
2024-11-14 11:25:16 +00:00
openshift-merge-bot[bot]
fa5e3b6e94
Merge pull request #24535 from M1cha/network-driver-options
add support for driver-specific options during container creation
2024-11-14 09:29:44 +00:00
openshift-merge-bot[bot]
ecaf9bf515
Merge pull request #24525 from Luap99/lint
update golangci-lint to v1.62.0
2024-11-13 21:47:38 +00:00
Michael Zimmermann
315e7412e8 add support for driver-specific options during container creation
This way has a huge disadvantage: The user will not see an error when he
uses a non-existent option. Another disadvantage is, that if we add more
options within podman, they might collide with the names chosen by
plugins. Such issues might be hard to debug.
The advantage is that the usage is very nice:
--network bridge:opt1=val1,opt2=val2.

Alternatively, we could put this behind `opt=`, which is harder to use,
but would solve all issues above:
--network bridge:opt=opt1=val1,opt=opt2=val2

Signed-off-by: Michael Zimmermann <sigmaepsilon92@gmail.com>
2024-11-13 18:14:58 +01:00
Graceson Aufderheide
34a15ae300 fix podman machine init --ignition-path
Fix the issue where podman machine init does not create
all the necessary machine files when ignition-path is used. Fixes: #23544

Signed-off-by: Graceson Aufderheide <gracesonphoto@gmail.com>
2024-11-12 17:56:43 -07:00
Matt Heon
8a192c8403 Add subpath support to volumes in --mount option
All the backend work was done a while back for image volumes, so
this is effectively just plumbing the option in for volumes in
the parser logic. We do need to change the return type of the
volume parser as it only worked on spec.Mount before (which does
not have subpath support, so we'd have to pass it as an option
and parse it again) but that is cleaner than the alternative.

Fixes #20661

Signed-off-by: Matt Heon <mheon@redhat.com>
2024-11-12 09:13:16 -05:00
Paul Holzinger
9eca92d625
update golangci-lint to v1.62.0
- fix issues found by recvcheck
- skip k8s files from recvcheck
- remove two removed linters gomnd and execinquery

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-11-11 14:21:17 +01:00
Paul Holzinger
40534d352e
pkg/machine/e2e: remove dead code
This function is not used, we pull actual container images for testing
now. This allows us to remove github.com/coreos/stream-metadata-go.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-11-08 12:02:37 +01:00
openshift-merge-bot[bot]
f8ac02d44e
Merge pull request #24277 from mi4r/dev/mi4r/ImagesImportFix
api: Move close function in condition body
2024-11-07 13:18:24 +00:00
openshift-merge-bot[bot]
cbb5d7f14b
Merge pull request #24394 from vyasgun/pr/gvproxy080
Update gvproxy to v0.8.0 and disable ssh port forwarding on wsl
2024-11-07 12:20:14 +00:00
Tigran Sogomonian
9f5bbecb95 api: Add error check
Add error check during tmpfile close.

Found by Linux Verification Center (linuxtesting.org) with SVACE.

Signed-off-by: Tigran Sogomonian <tsogomonian@astralinux.ru>
2024-11-07 14:53:15 +03:00
openshift-merge-bot[bot]
aac206e9c5
Merge pull request #24412 from Sativarsainath-26/network-events
Fix: To print create and remove network in podman events
2024-11-06 18:33:18 +00:00
openshift-merge-bot[bot]
e0cd12ea8c
Merge pull request #24473 from rhatdan/kube
AdditionalSupport for SubPath volume mounts
2024-11-06 15:42:41 +00:00
Daniel J Walsh
6346a11b09
AdditionalSupport for SubPath volume mounts
Add support for inspecting Mounts which include SubPaths.

Handle SubPaths for kubernetes image volumes.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2024-11-06 10:10:26 -05:00
Gunjan Vyas
4e8d2dd726 wsl-e2e: Add a test to ensure port 2222 is free with usermode networking
Signed-off-by: Gunjan Vyas <vyasgun20@gmail.com>
2024-11-06 18:40:25 +05:30
Paul Holzinger
9a0c0b2eef
volume ls: fix race that caused it to fail
If volume ls was called while another volume was removed at the right
time it could have failed with "no such volume" as we did not ignore
such error during listing. As we list things and this no longer exists
the correct thing is to ignore the error and continue like we do with
containers, pods, etc...

This was pretty easy to reproduce with these two commands running in
different terminals:
while :; do bin/podman volume create test && bin/podman volume rm test || break; done
while :; do bin/podman volume ls || break ; done

I have a slight feeling that this might solve #23913 but I am not to
sure there so I am not adding a Fixes here.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-11-06 12:28:52 +01:00
Gunjan Vyas
9cb80d1856 gvproxy: Disable port-forwarding on WSL
This commit disables ssh port forwarding on WSL by passing -1 to the -ssh-port flag of gvproxy. Port forwarding is not required on WSL and disabling it prevents port conflict with CRC.

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

Signed-off-by: Gunjan Vyas <vyasgun20@gmail.com>
2024-11-06 15:44:13 +05:30
openshift-merge-bot[bot]
a358d83ce9
Merge pull request #24437 from lambinoo/feat-split-pod-container-start-24401
Add key to control if a container can get started by its pod
2024-11-05 15:04:16 +00:00
Sainath Sativar
c23d9c6f23 Log network creation and removal events in Podman
This commit resolves an issue where network creation and removal events were not being logged in `podman events`. A new function has been introduced in the `events` package to ensure consistent logging of network lifecycle events. This update will allow users to track network operations more effectively through the event log, improving visibility and aiding in debugging network-related issues.

Fixes: #24032
Signed-off-by: Sainath Sativar <Sativar.sainath@gmail.com>
2024-11-05 11:58:47 +00:00
Farya L. Maerten
2597eeae70 Add key to control if a container can get started by its pod
By default today, the container is always started if its pod is also
started. This prevents to create custom with systemd where containers in
a pod could be started through their `[Install]` section.

We add a key `StartWithPod=`, enabled by default, that enables one to
disable that behavior.

This prevents the pod service from changing the state of the container
service.

Fixes #24401

Signed-off-by: Farya L. Maerten <me@ltow.me>
2024-11-05 08:39:23 +01:00