Commit graph

19633 commits

Author SHA1 Message Date
Daniel J Walsh
538ac5dc8f
Merge pull request #19309 from rhatdan/volumes
Add glob support to podman run/create --mount
2023-07-27 15:22:12 -04:00
OpenShift Merge Robot
39ca4ac928
Merge pull request #19391 from rhatdan/authfile
Make sure users changes --authfile before checking
2023-07-27 21:12:12 +02:00
OpenShift Merge Robot
ef1fde310b
Merge pull request #19392 from n1hility/fix-artifacts
Fix regression in CI artifacts script introduced by legacy msi removal
2023-07-27 21:04:20 +02:00
Daniel J Walsh
c10c2b67f3
Merge pull request #19396 from vrothberg/fix-18662
machine: QEMU: lock VM on start
2023-07-27 12:22:09 -04:00
Daniel J Walsh
f540bbffa8
Make sure users changes --authfile before checking
In certain cases REGISTRY_AUTH_FILE is set but the auth file
does not exists yet, do not throw error unless user specified
a file directly using --authfile.

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

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-07-27 12:06:25 -04:00
Valentin Rothberg
c341a0ffe0 machine: QEMU: lock VM on start
Lock the VM on start.  If the machine is in the "starting" state we know
that a previous start has failed and guide the user into resolving the
issue.

Concurrent starts will busy wait and return the expected "already
running" error.

NOTE: this change is only looking at the start issue (#18662).  Other
commands such as stop and update should also lock and will be updated
in a future change.  I expect the underlying issue to apply to all
machine providers, not only QEMU.  It's desirable to aim for extending
the machine interface to also allow to `Lock()` and `Unlock()`.  After
acquiring the lock, the VM should automatically be reloaded/updated.

[NO NEW TESTS NEEDED]

Fixes: #18662
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2023-07-27 14:16:02 +02:00
Daniel J Walsh
0fefcf8a4f
Add glob support to podman run/create --mount
HPC Community asked for this support specifically for using GPUs
within containers. Nvidia requires the correct shared library to
to be present in the directory that matches the device mounted
into the container. These libraries have random suffixes based
on versions of the installed libraries on the host.

podman run --mount type=glob:src=/usr/lib64/nvidia\*:ro=true. This helps
quadlets be more portable for this use case.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-07-27 06:32:54 -04:00
Daniel J Walsh
cf1321f670
Merge pull request #19375 from rhatdan/mount
Add support for mounts listed in containers.conf
2023-07-27 06:29:24 -04:00
OpenShift Merge Robot
f82f9baf99
Merge pull request #19378 from eriksjolund/socket_activation_increase_socat_timeout
[CI:DOCS] socket_activation.md: increase socat timeout
2023-07-27 09:50:48 +02:00
OpenShift Merge Robot
60a30d31e4
Merge pull request #19388 from edsantiago/quadlet_specifier_race
System tests: quadlet: fix race in %T test
2023-07-27 09:48:07 +02:00
OpenShift Merge Robot
66a829af52
Merge pull request #19387 from rhatdan/quadlet
If quadlets have same name, only use first
2023-07-27 09:17:12 +02:00
OpenShift Merge Robot
8aeb951c76
Merge pull request #19372 from vrothberg/un-defer-start-event
start(): don't defer event
2023-07-27 08:30:10 +02:00
Jason T. Greene
239a5b64a5 Fix artifacts script after removal of msitools msi build
Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
2023-07-26 20:29:26 -05:00
Ed Santiago
e335a66a9d System tests: quadlet: fix race in %T test
Use "--wait" flag in "systemd start" for a one-shot container.
Should fix a CI failure I've been seeing sporadically, in which
the --==VALUE==-- string is not seen in journal.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-07-26 15:28:09 -06:00
Daniel J Walsh
d6a32a3da3
If quadlets have same name, only use first
If a user puts a quadlet file in his homedirectory with
the same name as one in /etc/containers/systemd/user or
/etc/containers/systemd/user/$UID, then only use the one in
homedir and ignore the others.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-07-26 17:17:09 -04:00
Daniel J Walsh
db0ba9b250
Add support for mounts listed in containers.conf
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-07-26 17:13:41 -04:00
Daniel J Walsh
6dda21984a
Update vendor of containers/common
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-07-26 17:09:46 -04:00
Daniel J Walsh
b2a857a023
Merge pull request #19351 from edsantiago/gomd2man-local
[CI:DOCS] go-md2man: use vendored-in version, not system
2023-07-26 17:07:44 -04:00
Erik Sjölund
5ba0559377 [CI:DOCS] socket_activation.md: increase socat timeout
The default socat timeout is 0.5 seconds.
Make the socket-activate-echo example in socket_activation.md
more robust by increasing the socat timeout.

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

Signed-off-by: Erik Sjölund <erik.sjolund@gmail.com>
2023-07-26 17:52:33 +02:00
Ed Santiago
dfec510b41 go-md2man: use vendored-in version, not system
go-md2man is fragile, especially around tables (#18678, #19278).
Podman man pages are finely tuned to look OK using v2.02, which
is what we vendor in test/tools, so we should really use it
instead of whatever is installed on the system.

This fixes 'make docs' on RHEL8, broken as of #19278.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-07-26 09:07:21 -06:00
OpenShift Merge Robot
aa372ce22d
Merge pull request #19281 from edsantiago/alternate_tmpdir
CI: use different TMPDIR on prior-fedora
2023-07-26 17:06:01 +02:00
OpenShift Merge Robot
eac1e947ea
Merge pull request #19374 from edsantiago/bogus_authfile_cleanup
system tests: authfile-exists: minor cleanup
2023-07-26 16:29:47 +02:00
OpenShift Merge Robot
63a0d013ae
Merge pull request #19254 from boaz0/closes_19252
Fix: use --all in podman stats to get all containers stats
2023-07-26 16:27:14 +02:00
Ed Santiago
a92bb32196 CI: use different TMPDIR on prior-fedora
A small number of tests are assuming that TMPDIR == /tmp. These
tests fail when that assumption does not hold.

Set TMPDIR=/var/tmp on prior-fedora, as a way to catch those.
/dev/shm would be a slightly better choice, because the
string "tmp" does not appear it in, but it's way too
small to be of any use: it fills up in the e2e prefetch.

This PR exposed a nasty bug in our Makefile: using "TMPDIR"
as temporary variable completely unrelated to (and inconsistent
with) the actual established use of TMPDIR. Solution: rename
that variable and make it lower case. Do the same with two
other ALL-CAP variables.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-07-26 07:08:07 -06:00
Ed Santiago
6894e2031b system tests: authfile-exists: minor cleanup
Quick followup to #19348:
 - refactor into table form, for legibility
 - add tests for 'podman kube play' and 'podman run'
 - slightly cleaner message on failure

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-07-26 07:05:28 -06:00
OpenShift Merge Robot
85ab62042a
Merge pull request #19348 from rhatdan/authfile
Verify authfile exists if user specifies it
2023-07-26 14:47:53 +02:00
Valentin Rothberg
d70f15cc0a start(): don't defer event
We'd otherwise emit the start event much after the actual start of the
container when --sdnotify=healthy.  I missed adding the change to commit
0cfd12786f.

[NO NEW TESTS NEEDED]

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2023-07-26 13:57:37 +02:00
OpenShift Merge Robot
9706147089
Merge pull request #19353 from vrothberg/fix-6160
add "healthy" sdnotify policy
2023-07-26 09:18:57 +02:00
Boaz Shuster
de122bb44e Fix: use --all in podman stats to get all containers stats
* Set query all when options.All is true
* Update API to support the "all" option in stats

Signed-off-by: Boaz Shuster <boaz.shuster.github@gmail.com>
2023-07-26 09:41:14 +03:00
Daniel J Walsh
1f455cf619
Merge pull request #19320 from eriksjolund/remove_unnecessary_please
Remove unnecessary use of the word "please"
2023-07-25 15:20:38 -04:00
Daniel J Walsh
349d775de3
Verify authfile exists if user specifies it
Fixes: https://github.com/containers/podman/issues/18938

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-07-25 12:39:12 -04:00
Daniel J Walsh
2a29fcb704
Merge pull request #19355 from dfr/freebsd-hc
libpod: don't generate errors for createTimer etc.
2023-07-25 12:33:44 -04:00
Doug Rabson
e0ef239559 libpod: don't generate errors for createTimer etc.
Caller will just log the error which is confusing for the user. This
matches the linux non-systemd behaviour.

It would be nice to have timer support for healthcheck on FreeBSD but
the only pre-installed timer option is at which probably isn't a good
fit here.

[NO NEW TESTS NEEDED]

Signed-off-by: Doug Rabson <dfr@rabson.org>
2023-07-25 15:30:28 +01:00
OpenShift Merge Robot
42e44795b4
Merge pull request #19339 from dfr/validate-device
pkg/specgen: Don't crash for device spec with empty destination path
2023-07-25 11:45:13 +02:00
Valentin Rothberg
0cfd12786f add "healthy" sdnotify policy
Add a new "healthy" sdnotify policy that instructs Podman to send the
READY message once the container has turned healthy.

Fixes: #6160
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2023-07-25 11:17:44 +02:00
OpenShift Merge Robot
890aa4bbc2
Merge pull request #19343 from afbjorklund/distro-name
Remove any quotes around distribution id
2023-07-25 10:50:51 +02:00
Valentin Rothberg
2a25d1d746
Merge pull request #19349 from n1hility/remove-old-msi
Remove legacy msitools based msi installer
2023-07-25 09:24:24 +02:00
OpenShift Merge Robot
22cb23b41e
Merge pull request #19297 from vrothberg/RUN-1865
add a podman-compose command
2023-07-25 03:30:38 +02:00
OpenShift Merge Robot
0fac5123dc
Merge pull request #19316 from dcermak/spec-fixes
podman rpm Spec fixes
2023-07-25 03:17:44 +02:00
Dan Čermák
cbc96a7b48
Remove LICENSE and general doc files that are installed by the main package
The tests & podmansh sub-package depend on podman which already pull in the
LICENSE & doc files. According to the packaging guidelines, these files need not
be added to the subpackages.

[NO NEW TESTS NEEDED]

Signed-off-by: Dan Čermák <dcermak@suse.com>
2023-07-24 22:47:01 +02:00
Dan Čermák
37f0e96200
Add missing `
[NO NEW TESTS NEEDED]

Signed-off-by: Dan Čermák <dcermak@suse.com>
2023-07-24 22:47:01 +02:00
Jason T. Greene
2f21df7b3a Remove legacy msitools based msi installer
This was replaced by the setup.exe burn installer several releases ago,
and only kept around as a fallback. Remove it since it is no longer
maintained and not recommended for use.

Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
2023-07-24 15:21:30 -05:00
Daniel J Walsh
3e6b99b4ed
Merge pull request #19341 from containers/renovate/github.com-docker-docker-24.x
fix(deps): update module github.com/docker/docker to v24.0.5+incompatible
2023-07-24 14:13:08 -04:00
Daniel J Walsh
2a559dc1a1
Merge pull request #19230 from rhatdan/quadlet
Add support for ShmSize to quadlet
2023-07-24 14:11:36 -04:00
Anders F Björklund
ac212605c9 Remove any quotes around distribution id
Some distributions add extra quotes, even to fields like ID
that doesn't really need them. Make sure to remove them too.

Signed-off-by: Anders F Björklund <anders.f.bjorklund@gmail.com>
2023-07-24 19:53:34 +02:00
Daniel J Walsh
5f90fbcdc1
Merge pull request #19312 from sg2342/freebsd-remote-top
libpod: fix FreeBSD 'podman-remote top' default behaviour
2023-07-24 13:50:04 -04:00
Valentin Rothberg
e596b17fbe add a podman-compose command
**podman compose** is a thin wrapper around an external compose provider
such as docker-compose or podman-compose.  This means that `podman
compose` is executing another tool that implements the compose
functionality but sets up the environment in a way to let the compose
provider communicate transparently with the local Podman socket.  The
specified options as well the command and argument are passed directly
to the compose provider.

The default compose providers are `docker-compose` and `podman-compose`.
If installed, `docker-compose` takes precedence since it is the original
implementation of the Compose specification and is widely used on the
supported platforms (i.e., Linux, Mac OS, Windows).

If you want to change the default behavior or have a custom installation
path for your provider of choice, please change the `compose_provider`
field in `containers.conf(5)`.  You may also set the
`PODMAN_COMPOSE_PROVIDER` environment variable.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2023-07-24 19:23:04 +02:00
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
renovate[bot]
d2796c6c12
fix(deps): update module github.com/docker/docker to v24.0.5+incompatible
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-24 16:17:27 +00:00
Daniel J Walsh
b9383f41ac
Merge pull request #19265 from rhatdan/tmpfs
Clean up /var/tmp/ when using oci-archives when creating containers
2023-07-24 12:15:59 -04:00