Commit graph

23873 commits

Author SHA1 Message Date
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
Ed Santiago
33891e8e96 System tests: add test tags
BATS 1.8.0 introduces tags: metadata that can be applied to
a single test or one entire file, then used for filtering
in a test run.

Issue #19299 introduces the possibility of using OpenQA
for podman reverse dependency testing: continuous CI on
all packages that can affect podman, so we don't go two
months with no bodhi builds then get caught by surprise
when systemd or kernel or crun change in ways that break us.

This PR introduces one bats tag, "distro-integration".
The intention is for OpenQA (or other) tests to install
the podman-tests package and run:

    bats --filter-tags distro-integration /usr/share/podman/test/system

Goal is to keep the test list short and sweet: we do not
need to test command-line option parsing. We *DO* need to
test interactions with systemd, kernel, nethack, and other
critical components.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-07-26 13:50:33 -06: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
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
f4fbd6fd07
Update vendor of containers/(storage,image)
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-07-24 10:35:59 -04:00
Daniel J Walsh
d4fc66af9a
Clean up /var/tmp/ when using oci-archives when creating
containers

We need to remove /var/tmp/container_images_* and
/var/tmp/container_images_* which are podman temporary directories on each
boot which are created when creating containers from oci-archive tarballs
or other pull operations.

Signed-off-by: Joe Doss <joe@solidadmin.com>
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-07-24 10:34:38 -04:00
Daniel J Walsh
ff97a208f3
Merge pull request #19314 from eriksjolund/use_quadlet_in_socket_activation_guide
[CI:DOCS] migrate socket_activation.md to quadlet
2023-07-24 10:05:13 -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
Daniel J Walsh
adcc0ddadb
Merge pull request #19331 from umohnani8/play-docs
[CI:DOCS] Update kube play volume support
2023-07-24 10:03:48 -04:00
OpenShift Merge Robot
0cc81193f7
Merge pull request #19315 from containers/renovate/github.com-onsi-gomega-1.x
fix(deps): update module github.com/onsi/gomega to v1.27.9
2023-07-24 16:00:45 +02:00
Lokesh Mandvekar
49257a3c50
[CI:BUILD] RPM: separate out gvproxy for copr and rawhide
gvproxy doesn't currently build on rawhide because of go1.21.
It  can be included as a standalone package on copr.
It is currently open for review on bugzilla until which fedora releases can't
include it. Official rawhide should be able to fetch the last active build of
gvproxy, the min version requirement has been removed to allow it.
Ref: https://bugzilla.redhat.com/show_bug.cgi?id=2224434

[NO NEW TESTS NEEDED]

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2023-07-24 09:33:34 -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
baf30e6120 [CI:DOCS] migrate socket_activation.md to quadlet
Signed-off-by: Erik Sjölund <erik.sjolund@gmail.com>
2023-07-24 15:01:33 +02:00
Urvashi Mohnani
7314569cb0 [CI:DOCS] Update kube play volume support
Update the kubernetes_support table to correctly show that
"volumes" is supported in the pod spec.
The kube play docs already specifies which types of volumes
are curretnly supported, so no further documentation is needed
on that.

Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
2023-07-24 08:22:56 -04:00