Commit Graph

5312 Commits

Author SHA1 Message Date
Doug Rabson
eee2817dec pkg/specgen: Don't crash for device spec with...
...empty destination path

This fixes a server-side crash for command lines like:

  # podman run -ti --rm --device /dev/mem::rw alpine sh

Fixes #19335.

Signed-off-by: Doug Rabson <dfr@rabson.org>
2023-07-24 17:22:36 +01:00
Daniel J Walsh
03ea93c21b Merge pull request #19323 from eriksjolund/fix_language_typos_markdown_layout
Fix language, typos and markdown layout
2023-07-24 10:56:11 -04:00
Daniel J Walsh
17496592e4 Merge pull request #19311 from jakecorrenti/breakup-qemu-machine-funcs
Reduce qemu machine function sizes
2023-07-24 10:04:22 -04:00
Jake Correnti
b57091ac92 Reduce qemu machine function sizes
The functions for QEMU's `VM` interface implementation (`machine.go`)
had quite large functions. Pulls out some code that could be moved to
its own function for easier readability.

[NO NEW TESTS NEEDED]

Signed-off-by: Jake Correnti <jakecorrenti+github@proton.me>
2023-07-24 09:31:58 -04:00
Erik Sjölund
b5ce0ab2de Fix language, typos and markdown layout
[NO NEW TESTS NEEDED]

Signed-off-by: Erik Sjölund <erik.sjolund@gmail.com>
2023-07-24 11:18:25 +02:00
Daniel J Walsh
9b7de8d411 Merge pull request #19231 from ariasmn/trust-local-policy
Fix `trust` not using local policy file
2023-07-22 07:33:42 -04:00
OpenShift Merge Robot
7974eb181b Merge pull request #19275 from jakecorrenti/since-volume-filter-support
Add `since` as valid filter option for `volume` subcommands
2023-07-19 23:34:05 +02:00
Daniel J Walsh
92d0233f5d Merge pull request #19249 from afbjorklund/decompress-progress
Add progress bar for decompress image
2023-07-19 17:27:57 -04:00
OpenShift Merge Robot
d98978ae15 Merge pull request #19256 from ygalblum/quadlet-working-dir
Quadlet - Allow setting Service WorkingDirectory for Kube units
2023-07-19 13:45:42 +02:00
Ygal Blum
8d190704a6 Quadlet - Allow setting Service WorkingDirectory for Kube units
Add key for Quadlet to set WorkingDirectory to the directory of the YAML or Unit file
Add Doc
Add E2E tests
Add System test

Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2023-07-19 11:56:38 +03:00
Jake Correnti
e55e128fcd Add since as valid filter option for volume subcommands
Adds support for `since` as a valid filter option for `podman volume ls`
and `podman volume prune`.

Implements: #19228
Initially suggested from: #19119

Signed-off-by: Jake Correnti <jakecorrenti+github@proton.me>
2023-07-18 14:52:42 -04:00
Jake Correnti
96241159a8 Fix multiple filter options logic for podman volume ls
Fixes a bug where `podman volume ls` with multiple `label` filters would
return volumes that matched *any* of the filters, not *all* of them.

Adapts generating volume filter functions to be more in
line with how it is done for containers and pods.

Fixes: #19219

Signed-off-by: Jake Correnti <jakecorrenti+github@proton.me>
2023-07-18 09:53:03 -04:00
Jake Correnti
d7e25e14aa Add missing reserved annotation support to play
Adds any required "wiring" to ensure the reserved annotations are supported by
`podman kube play`.

Addtionally fixes a bug where, when inspected, containers created using
the `--publish-all` flag had a field `.HostConfig.PublishAllPorts` whose
value was only evaluated as `false`.

Signed-off-by: Jake Correnti <jakecorrenti+github@proton.me>
2023-07-17 14:06:23 -04:00
Anders F Björklund
d2862c7dd5 Avoid progress hang with empty files
[NO NEW TESTS NEEDED]

Signed-off-by: Anders F Björklund <anders.f.bjorklund@gmail.com>
2023-07-17 19:11:07 +02:00
Ismael Arias
5c0912b07b Revert the usage of home.GetConfigHome()
Although this might be the correct thing to do,
the idea is to keep the same behaviour across all three locations,
and change all three at once.

See https://github.com/containers/podman/pull/19231#discussion_r1265602832

[NO NEW TESTS NEEDED]

Signed-off-by: Ismael Arias <ismaelariasmn@gmail.com>
2023-07-17 18:29:06 +02:00
Ismael Arias
47997857ff Replace error check for non-existent file
Previously `os.IsNotExist(err)`, now `errors.Is(err, fs.ErrNotExist)`

[NO NEW TESTS NEEDED]

Signed-off-by: Ismael Arias <ismaelariasmn@gmail.com>
2023-07-17 17:49:05 +02:00
Anders F Björklund
d8d600b1d9 Add progress bar for decompress image
[NO NEW TESTS NEEDED]

Signed-off-by: Anders F Björklund <anders.f.bjorklund@gmail.com>
2023-07-17 14:34:06 +02:00
Anders F Björklund
46058cfed9 refactor: move progressbar to a function
Signed-off-by: Anders F Björklund <anders.f.bjorklund@gmail.com>
2023-07-17 14:34:06 +02:00
Ismael Arias
ca9874ab7d Use pkg/homedir to get the home config directory
Also, log a warning if there is an error when reading
the local policy.json file, if the error is other than ENOEXIST

[NO NEW TESTS NEEDED]

Signed-off-by: Ismael Arias <ismaelariasmn@gmail.com>
2023-07-17 14:12:01 +02:00
OpenShift Merge Robot
49a924cf39 Merge pull request #19211 from jakecorrenti/add-reserved-flag-generate
Add `--podman-only` flag to `podman generate kube`
2023-07-16 17:34:35 +02:00
Brent Baude
b4ffbcdfd8 Enabled arm64 arch for podman applehv provider
The apple hypervisor code works on Intel Macs with very recent operating
system versions.

[NO NEW TESTS NEEDED]

Signed-off-by: Brent Baude <bbaude@redhat.com>
2023-07-14 10:19:07 -05:00
OpenShift Merge Robot
d1ddd03a64 Merge pull request #19241 from rhatdan/bind
Use constants for mount types
2023-07-14 16:05:30 +02:00
Jake Correnti
d0602e8f75 Add --podman-only flag to podman generate kube
Adds an `--podman-only` flag to `podman generate kube` to allow for
reserved annotations to be included in the generated YAML file.

Associated with: #19102

Signed-off-by: Jake Correnti <jakecorrenti+github@proton.me>
2023-07-14 09:35:59 -04:00
OpenShift Merge Robot
bb72016f58 Merge pull request #19066 from Luap99/ps
top: do not depend on ps(1) in container
2023-07-14 13:17:59 +02:00
Daniel J Walsh
f256f4f954 Use constants for mount types
Inspired by https://github.com/containers/podman/pull/19238

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-07-14 07:17:21 -04:00
OpenShift Merge Robot
960a764c59 Merge pull request #19173 from hedayat/support-port-name-in-probes
Better support for Kubernetes health probes
2023-07-14 13:15:14 +02:00
Ismael Arias
a3bbc3a2ca Fix trust not using local policy file
When running the `trust` command, only the global policy.json file
was being taken into account.

Fixes #19073

[NO NEW TESTS NEEDED]

Signed-off-by: Ismael Arias <ismaelariasmn@gmail.com>
2023-07-13 22:13:31 +02:00
OpenShift Merge Robot
a6bdccdb85 Merge pull request #19217 from baude/applehvpass3
Podman machine AppleHV pass number 3
2023-07-13 19:03:46 +02:00
Hedayat Vatankhah
a8d8c9497a Add more tests for liveness probes with default hostname & named ports
Signed-off-by: Hedayat Vatankhah <hedayat.fwd@gmail.com>
2023-07-13 18:23:39 +03:30
Brent Baude
1443e2918c Podman machine AppleHV pass number 3
* Enabled user-mode networking with gvproxy
* VirtIOFS volumes supported

Signed-off-by: Brent Baude <bbaude@redhat.com>

[NO NEW TESTS NEEDED]

Signed-off-by: Brent Baude <bbaude@redhat.com>
2023-07-13 09:06:34 -05:00
OpenShift Merge Robot
eb2bf7a075 Merge pull request #19183 from eriksjolund/add_missing_return
Add missing return after utils.InternalServerError()
2023-07-13 15:53:48 +02:00
OpenShift Merge Robot
561062dfc5 Merge pull request #19210 from vrothberg/fix-17403
machine start: qemu: wait for SSH readiness
2023-07-13 15:37:46 +02:00
Doug Rabson
e43127e0b4 pkg/specgen: fix support for --rootfs on FreeBSD
When using 'podman run --rootfs ...', the image passed to SpecGenToOCI
may be nil - in this case, fall back to "freebsd" for the container OS.

[NO NEW TESTS NEEDED]

Signed-off-by: Doug Rabson <dfr@rabson.org>
2023-07-13 10:51:58 +01:00
Valentin Rothberg
8c16322a84 machine start: qemu: wait for SSH readiness
During the exponential backoff waiting for the machine to be fully up
and running, also make sure that SSH is ready.  The systemd dependencies
of the ready.service include the sshd.service among others but that is
not enough.

Other CoreOS users reported the same issue on IRC, so I feel fairly
confident to use the pragmatic approach of making sure SSH works on the
client side.  #17403 is quite old and there are other pressing machine
issues that need attention.

[NO NEW TESTS NEEDED]

Fixes: #17403
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2023-07-13 08:57:07 +02:00
Matt Heon
2b2c4453f1 Fix container errors not being sent via pod removal API
When I reworked pod removal to provide more detailed errors
(including per-container errors, not just a single multierror
with all errors squashed), I made it part of the struct returned
by the REST API and assumed that would be enough to get errors
through to clients. Unfortunately, in case of an overarching
error removing the pod (as any error with any container would
cause), we don't send the response struct that would include the
container errors - we just send a standardized REST error. We
could work around this with custom, potentially backwards
incompatible error handling for the REST pod delete endpoint, or
we could just do what was done before, and package up all the
errors in a multierror to send to the other side. Of those
options, the multierror seems far simpler.

Fixes #19159

Signed-off-by: Matt Heon <mheon@redhat.com>
2023-07-12 14:50:15 -04:00
Erik Sjölund
6ec261e7ac Add missing return after utils.InternalServerError()
Signed-off-by: Erik Sjölund <erik.sjolund@gmail.com>
2023-07-12 20:47:16 +02:00
OpenShift Merge Robot
dcf0a3cfc2 Merge pull request #19203 from sstosh/remote-play-kube-userns
remote: fix podman-remote play kube --userns
2023-07-12 14:07:14 -04:00
OpenShift Merge Robot
9d9f4aaafe Merge pull request #19006 from deuill/quadlet-volume-network-names
Allow setting volume and network names in Quadlet
2023-07-12 08:53:38 -04:00
OpenShift Merge Robot
958191aedc Merge pull request #19199 from containers/renovate/github.com-container-orchestrated-devices-container-device-interface-0.x
fix(deps): update module github.com/container-orchestrated-devices/container-device-interface to v0.6.0
2023-07-12 07:26:18 -04:00
Toshiki Sonoda
c6b5b9a02c remote: fix podman-remote play kube --userns
Fix `podman play kube --userns` to work in remote environment.

Related: #17392

Signed-off-by: Toshiki Sonoda <sonoda.toshiki@fujitsu.com>
2023-07-12 18:47:36 +09:00
renovate[bot]
441af003ac fix(deps): update container-device-interface to v0.6.0
[NO NEW TESTS NEEDED]

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2023-07-12 11:37:59 +02:00
Daniel J Walsh
0dcfe6e069 Run codespell on code
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-07-11 16:44:22 -04:00
Brent Baude
4e96686e9d AppleHV enablement pass #2
* Use vfkit command line assembly
* Inject ignition file into guest using http over vsock
* Ready notification through use of vsock

[NO NEW TESTS NEEDED]

Signed-off-by: Brent Baude <bbaude@redhat.com>
2023-07-11 06:36:10 -05:00
Jake Correnti
7b54fd84ec Add --no-trunc flag to maintain original annotation length
Adds a `--no-trunc` flag to `podman kube generate` preventing the
annotations from being trimmed at 63 characters. However, due to
the fact the annotations will not be trimmed, any annotation that is
longer than 63 characters means this YAML will no longer be Kubernetes
compatible. However, these YAML files can still be used with `podman
kube play` due to the addition of the new flag below.

Adds a `--no-trunc` flag to `podman kube play` supporting YAML files with
annotations that were not truncated to the Kubernetes maximum length of
63 characters.

Signed-off-by: Jake Correnti <jakecorrenti+github@proton.me>
2023-07-10 18:02:53 -04:00
Hedayat Vatankhah
600de05e3b Fix TCP probes when the optional host field is not given
Signed-off-by: Hedayat Vatankhah <hedayat.fwd@gmail.com>
2023-07-11 01:00:57 +03:30
Hedayat Vatankhah
ac3a115c33 Add support for using port names in Kubernetes health probes
Closes #18645

Signed-off-by: Hedayat Vatankhah <hedayat.fwd@gmail.com>
2023-07-11 01:00:57 +03:30
Alex Palaistras
932fae4028 Allow setting volume and network names in Quadlet
This commit extends `Volume` and `Network` unit definitions with two
additional parameters, `VolumeName` and `NetworkName`, which will,
respectively, set a user-defined name for the corresponding volume and
network. This is similar to how the `ContainerName` directive currently
works, and should allow for smoother transitions to Quadlet-managed
resources.

Closes: #19003
Signed-off-by: Alex Palaistras <alex@deuill.org>
2023-07-10 20:33:19 +01:00
OpenShift Merge Robot
eb9d44241e Merge pull request #19004 from rhatdan/secret
Add --replace flag to podman secret create
2023-07-10 14:59:29 -04:00
OpenShift Merge Robot
7b08e024c1 Merge pull request #19180 from vrothberg/fix-19147
manifest inspect: support authentication
2023-07-10 14:40:29 -04:00
Valentin Rothberg
a69194b02f manifest inspect: support authentication
Previous tests have worked by pure chance since the client and server
ran on the same host; the server picked up the credentials created by
the client login.

Extend the gating tests and add a new integration test which is further
capable of exercising the remote code.

Note that fixing authentication support requires adding a new
`--authfile` CLi flag to `manifest inspect`.  This will at least allow
for passing an authfile to be bindings.  Username and password are not
yet supported.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2023-07-10 16:26:19 +02:00