Commit graph

23873 commits

Author SHA1 Message Date
Alexander Larsson
7ec743fe74 quadlet: Warn in generator if using short names
These are both slow (trigger loading alias files) and risky (its not
clear which image you mean).

Signed-off-by: Alexander Larsson <alexl@redhat.com>
2022-11-02 11:55:08 +01:00
Jason T. Greene
884350d999 Add Windows Smoke Testing
Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
2022-11-02 00:52:09 -05:00
OpenShift Merge Robot
d319860bcf
Merge pull request #16372 from dfr/version-4.4
version bump to 4.4.0-dev
2022-11-01 15:33:34 -04:00
Urvashi Mohnani
f6c74324bc Add podman kube apply command
Add the abilitiy to deploy the generated kube yaml to a
kubernetes cluster with the podman kube apply command.
Add support to directly apply containers, pods, or volumes
by passing in their names or ids to the command.
Use the kubernetes API endpoints and http requests to connect
to the cluster and deploy the various kubernetes object kinds.

Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
2022-11-01 15:30:17 -04:00
Ed Santiago
d1f3dd9e5b docs: offer advice on installing test dependencies
Basically, acknowledge the need for dependencies and link
to Fedora specfile which is the only sane place to find
such a list.

Closes: #16365

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-11-01 12:46:14 -06:00
Daniel J Walsh
8e55abafde
Fix documentation on read-only-tmpfs
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-11-01 14:45:06 -04:00
OpenShift Merge Robot
38ffed6927
Merge pull request #16349 from austinvazquez/update-github-actions-packages
Upgrade GitHub actions packages from v2 to v3
2022-11-01 13:56:46 -04:00
Doug Rabson
b8acdb34c9 version bump to 4.4.0-dev
v4.3.0 has been released.

Signed-off-by: Doug Rabson <dfr@rabson.org>
2022-11-01 17:07:41 +00:00
Prajwal S N
b8e03ab44d
deps: bump go-criu to v6
Signed-off-by: Prajwal S N <prajwalnadig21@gmail.com>
2022-11-01 13:57:24 +05:30
OpenShift Merge Robot
fa19f57ebe
Merge pull request #16358 from dfr/freebsd-cross
Enable cross building for FreeBSD
2022-10-31 13:39:20 -04:00
Doug Rabson
fc65d72c3c Makefile: Add cross build targets for freebsd
This adds FreeBSD/amd64 and FreeBSD/arm64 to the cross build list.

[NO NEW TESTS NEEDED]

Signed-off-by: Doug Rabson <dfr@rabson.org>
2022-10-31 15:13:59 +00:00
Doug Rabson
e23444fbc5 pkg/machine: Make this build on FreeBSD/arm64
[NO NEW TESTS NEEDED]

Signed-off-by: Doug Rabson <dfr@rabson.org>
2022-10-31 15:13:49 +00:00
Doug Rabson
3279342ffe pkg/rctl: Remove unused cgo dependency
The cross build targets build without cgo.

[NO NEW TESTS NEEDED]

Signed-off-by: Doug Rabson <dfr@rabson.org>
2022-10-31 15:13:48 +00:00
OpenShift Merge Robot
aca9807d59
Merge pull request #16336 from rhatdan/VENDOR
Do not report that /usr/share/containers/storage.conf has been edited.
2022-10-31 09:42:08 -04:00
OpenShift Merge Robot
be51150cd5
Merge pull request #16352 from edsantiago/manpage_underscores
[CI:DOCS] man pages: assorted underscore fixes
2022-10-31 09:39:40 -04:00
OpenShift Merge Robot
1590d34869
Merge pull request #16344 from dfr/vendor-dbus
vendor github.com/godbus/dbus/v5@4b691ce
2022-10-31 09:28:04 -04:00
Ed Santiago
d76bf4cb5e man pages: assorted underscore fixes
Underscore is special in markdown. We usually escape them
properly, but these are a few that we missed. Found using:

   $ ack '[A-Z]\\fI[A-Z]' docs/build/man

(plus one that I found by accident).

If anyone has ideas on how to add a commit check for these,
please speak up. I'm at a complete loss to automate this.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-10-31 06:43:57 -06:00
OpenShift Merge Robot
f6c454df34
Merge pull request #16347 from eriksjolund/documentation_fix_tmpdir_option
[CI:DOCS] fix --tmpdir typos
2022-10-31 07:48:19 -04:00
OpenShift Merge Robot
ee896b2e0e
Merge pull request #15918 from rhatdan/XDG_RUNTIME_DIR
Eval symlinks on XDG_RUNTIME_DIR
2022-10-31 07:45:23 -04:00
Austin Vazquez
bb78ba19eb Upgrade GitHub actions packages from v2 to v3
Upgrade actions/checkout and actions/upload-artifact packages from v2 to
v3.

Signed-off-by: Austin Vazquez <macedonv@amazon.com>
2022-10-30 20:24:55 -07:00
Doug Rabson
0d505f20ff vendor github.com/godbus/dbus/v5@4b691ce
This pulls in https://github.com/godbus/dbus/pull/332 allowing dbus to
build without cgo on FreeBSD. This will allow freebsd targets in the cross
build.

[NO NEW TESTS NEEDED]

Signed-off-by: Doug Rabson <dfr@rabson.org>
2022-10-30 16:45:47 +00:00
Erik Sjölund
b20ef9c348 [CI:DOCS] fix --tmpdir typos
Signed-off-by: Erik Sjölund <erik.sjolund@gmail.com>
2022-10-30 09:57:43 +01:00
Daniel J Walsh
9003cdbf62
Do not report that /usr/share/containers/storage.conf has been edited.
Only want to report if user created local customized storage in
/etc/containers/storage.conf or in
$HOME/.config/containers/storage.conf, when resetting storage.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-10-29 11:24:56 -04:00
OpenShift Merge Robot
a263069568
Merge pull request #16133 from johanvdw/patch-1
[CI:DOCS] Fix small typo in windows docs
2022-10-28 14:38:50 -04:00
OpenShift Merge Robot
5eacf6c581
Merge pull request #15851 from arixmkii/win_qemu_settings
Default qemu flags for Windows amd64
2022-10-28 14:36:14 -04:00
Daniel J Walsh
71f0c9f33a
Eval symlinks on XDG_RUNTIME_DIR
Partial Fix for https://github.com/containers/podman/issues/14606

[NO NEW TESTS NEEDED]

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-10-28 14:32:39 -04:00
OpenShift Merge Robot
f21847917e
Merge pull request #16202 from rhatdan/VENDOR
Update vendor containers/(common,storage, buildah, image)
2022-10-28 14:10:19 -04:00
OpenShift Merge Robot
fba3080c5b
Merge pull request #16334 from vrothberg/snoop
[CI:DOCS] hack/podmansnoop
2022-10-28 14:07:26 -04:00
OpenShift Merge Robot
67c533b85a
Merge pull request #16318 from giuseppe/fix-keep-id-with-one-mapping
rootless: support keep-id with one mapping
2022-10-28 10:02:20 -04:00
Valentin Rothberg
3ad5827b2d hack/podmansnoop
Add a script to measure the execution times of podman, crun, run and
conmon.  It's a trimmed down version of the exitsnoop tool and intended
to guide us in future performance optimizations.

The below output was generated when running

`podman run --net=host docker.io/library/alpine:latest true`

```
podman (snoop) $ sudo ./hack/podmansnoop
PCOMM            PID     PPID    TID     AGE(ms)
conmon           51580   51569   51580   1.67
conmon           51583   51569   51583   3.53
crun             51591   51590   51591   18.28
crun             51593   51569   51593   2.48
conmon           51606   51594   51606   0.85
crun             51608   51594   51608   2.50
podman           51594   51590   51594   176.27
conmon           51590   1950    51590   214.78
podman           51569   40964   51569   431.36
```

In the future, it would be helpful to add the arguments of the commands.
`execsnoop` can reveal them quite nicely but I did not manage to merge
the two scripts due to time constraints.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-10-28 15:51:53 +02:00
Giuseppe Scrivano
83313c547c
rootless: support keep-id with one mapping
support using keep-id when only one mapping is available to the
rootless user.

When there is only one id available (e.g. there are no additional IDs
set in /etc/subuid and /etc/subgid for the unprivileged user), then
only add the identity mapping $ID -> $ID, leaving unmapped other IDs
in the user namespace.

[NO NEW TESTS NEEDED] it needs a configuration with only one ID
available.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2022-10-28 14:26:07 +02:00
Giuseppe Scrivano
5dad34212f
rootless: add argument to GetConfiguredMappings
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2022-10-28 14:26:07 +02:00
Daniel J Walsh
6fe64591d6
Update vendor containers/(common,storage,buildah,image)
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-10-28 06:16:22 -04:00
OpenShift Merge Robot
26e5661c27
Merge pull request #15862 from edsantiago/docs_format_images
[CI:DOCS] man pages: document some --format options: images
2022-10-28 06:02:29 -04:00
OpenShift Merge Robot
b057a6ade8
Merge pull request #16309 from edsantiago/remove_usr_bin_podman_in_tests
Test runners: nuke podman from $PATH before tests
2022-10-28 05:44:12 -04:00
OpenShift Merge Robot
40073ab3d4
Merge pull request #16327 from tyler92/fix-deadlock-pod-ps-inspect
Fix deadlock between 'podman ps' and 'container inspect' commands
2022-10-28 04:40:23 -04:00
Mikhail Khachayants
f355900d34
Fix deadlock between 'podman ps' and 'container inspect' commands
Fixes: #16326

[NO NEW TESTS NEEDED]

Signed-off-by: Mikhail Khachayants <tyler92@inbox.ru>
2022-10-28 10:12:34 +03:00
OpenShift Merge Robot
d444c2c001
Merge pull request #16323 from mheon/lock_during_kill
Ensure that StartAndAttach locks while sending signals
2022-10-28 02:45:21 -04:00
OpenShift Merge Robot
25b5ee66b1
Merge pull request #16311 from rhatdan/docs
Add information about where the libpod/boltdb database lives
2022-10-27 15:33:36 -04:00
OpenShift Merge Robot
84d04a21f4
Merge pull request #16292 from debarshiray/wip/rishi/dont-use-mattn-go-isatty
Consolidate the dependencies for the IsTerminal() API
2022-10-27 14:30:35 -04:00
Daniel J Walsh
59299b519e
Add information about where the libpod/boltdb database lives
Suggested fix from @anarca

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-10-27 13:48:33 -04:00
OpenShift Merge Robot
0c38fc826d
Merge pull request #16322 from Luap99/remote-ginkgo
ginkgo testing: fix podman usernamespace join
2022-10-27 13:47:23 -04:00
Debarshi Ray
320ce8c9f2 Consolidate the dependencies for the IsTerminal() API
The rest of the code has been using golang.org/x/* for the IsTerminal()
API for a long time, not github.com/mattn/go-isatty.  It seems better to
stick to packages from the golang.org domain, whenever possible, and one
less dependency is always a good thing.

The modules were not cleaned up with 'make vendor' because 'go mod tidy'
was running into:

go: error loading go 1.16 module graph:
  github.com/containers/image/v5@v5.23.1-0.20221015133641-1921a1993c67
  requires
      github.com/honeycombio/beeline-go@v1.9.0 requires
      github.com/mattn/go-sqlite3@v2.0.3+incompatible: reading
        github.com/mattn/go-sqlite3/go.mod at revision v2.0.3: unknown
        revision v2.0.3

If reproducibility with go 1.16 is not needed:
    go mod tidy -compat=1.17

Since go.mod already requires Go 1.17, the following commands were
manually run:
$ go mod tidy -compat=1.17
$ go mod vendor
$ go mod verify

Further modifications to go.sum were done manually based on the
complaints from postbuild.sh run by the CI.

[NO NEW TESTS NEEDED] as it's not a functional change.

Fixes: 85db895012 ("logging: new mode -l passthrough")

Signed-off-by: Debarshi Ray <rishi@fedoraproject.org>
2022-10-27 17:45:05 +02:00
Matthew Heon
871172e6fe Ensure that StartAndAttach locks while sending signals
The OCI Runtime's KillContainer interface can modify container
state (if the signal fails to send, as it would if the container
failed immediately after starting, we will update state to pick
up the fact that the container exited). As such, it can edit the
DB, and needs to be run locked.

There are fortunately only a few places where this function is
used, and most of them are already safe. The only exception is
StartAndAttach(), which does a SIGWINCH in an unlocked portion of
the function. Fortunately it's a goroutine, so just add a lock
and defer unlock and it should be fixed.

[NO NEW TESTS NEEDED] I have no idea how to induce a scenario
that would cause this consistently.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2022-10-27 10:52:55 -04:00
OpenShift Merge Robot
c577fe3150
Merge pull request #16249 from klausenbusk/fix-idmap-for-volumes
volumes: Fix idmap not working for volumes
2022-10-27 10:21:17 -04:00
Paul Holzinger
d50a55233a
ginkgo testing: fix podman usernamespace join
When there is a podman pause process running the local podman ginkgo
tests will join the usernamespace. This because pkg/rootless will
automatically join the ns on startup when possible. To fix this we
need to use the remote build tag which disables that behavior.

However since the remote tag is also used in the e2e test itself we
would always run remote tests which is wrong, this is fixed by using a
new `remote_testing` tag for the test.

see discussion here: https://github.com/containers/podman/pull/16309#discussion_r1006166930

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-10-27 15:16:19 +02:00
Ed Santiago
f0f12658de Test runners: nuke podman from $PATH before tests
We've had some oopsies in system tests:

    podman foo bar
    run podman foo bar

...all of which should be run_podman with underscore. Those
have been passing because /usr/bin/podman is the fallback
from $PATH. In those (few) cases, we haven't actually been
testing the podman we should be testing.

Solution: nuke /usr/bin/podman and podman-remote before
invoking system and unit tests. As an extra level of
paranoia, check for other podmans in $PATH - if any
exist, bail out with a fatal error.

Also: in a few cases where runner.sh invokes podman for
containerized something-something, run bin/podman instead
of podman from $PATH.

Also: fix existing dependencies on /usr/bin/podman

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-10-26 19:07:20 -06:00
Kristian Klausen
3e6637a3b0
volumes: Fix idmap not working for volumes
idmap is documented as supported for volumes, but it was not added to
the getNamedVolume() function.

Fixes: e83d36665 ("volumes: add new option idmap")
Signed-off-by: Kristian Klausen <kristian@klausen.dk>
2022-10-27 01:23:16 +02:00
OpenShift Merge Robot
47bcd10f61
Merge pull request #16243 from alexlarsson/volume-create-ignore
Add podman volume create --ignore
2022-10-26 15:00:51 -04:00
OpenShift Merge Robot
6dd0c83c6d
Merge pull request #16308 from edsantiago/fix_ubi8_b0rkage
FIXME: Temporary workaround for ubi8 CI breakage
2022-10-26 14:43:45 -04:00