17472 Commits

Author SHA1 Message Date
884350d999 Add Windows Smoke Testing
Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
2022-11-02 00:52:09 -05:00
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
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
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
8e55abafde Fix documentation on read-only-tmpfs
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-11-01 14:45:06 -04:00
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
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
b8e03ab44d deps: bump go-criu to v6
Signed-off-by: Prajwal S N <prajwalnadig21@gmail.com>
2022-11-01 13:57:24 +05:30
fa19f57ebe Merge pull request #16358 from dfr/freebsd-cross
Enable cross building for FreeBSD
2022-10-31 13:39:20 -04:00
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
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
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
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
be51150cd5 Merge pull request #16352 from edsantiago/manpage_underscores
[CI:DOCS] man pages: assorted underscore fixes
2022-10-31 09:39:40 -04:00
1590d34869 Merge pull request #16344 from dfr/vendor-dbus
vendor github.com/godbus/dbus/v5@4b691ce
2022-10-31 09:28:04 -04:00
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
f6c454df34 Merge pull request #16347 from eriksjolund/documentation_fix_tmpdir_option
[CI:DOCS] fix --tmpdir typos
2022-10-31 07:48:19 -04:00
ee896b2e0e Merge pull request #15918 from rhatdan/XDG_RUNTIME_DIR
Eval symlinks on XDG_RUNTIME_DIR
2022-10-31 07:45:23 -04:00
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
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
b20ef9c348 [CI:DOCS] fix --tmpdir typos
Signed-off-by: Erik Sjölund <erik.sjolund@gmail.com>
2022-10-30 09:57:43 +01:00
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
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
5eacf6c581 Merge pull request #15851 from arixmkii/win_qemu_settings
Default qemu flags for Windows amd64
2022-10-28 14:36:14 -04:00
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
f21847917e Merge pull request #16202 from rhatdan/VENDOR
Update vendor containers/(common,storage, buildah, image)
2022-10-28 14:10:19 -04:00
fba3080c5b Merge pull request #16334 from vrothberg/snoop
[CI:DOCS] hack/podmansnoop
2022-10-28 14:07:26 -04:00
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
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
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
5dad34212f rootless: add argument to GetConfiguredMappings
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2022-10-28 14:26:07 +02:00
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
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
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
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
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
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
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
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
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
0c38fc826d Merge pull request #16322 from Luap99/remote-ginkgo
ginkgo testing: fix podman usernamespace join
2022-10-27 13:47:23 -04:00
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: 85db895012bead6b ("logging: new mode -l passthrough")

Signed-off-by: Debarshi Ray <rishi@fedoraproject.org>
2022-10-27 17:45:05 +02:00
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
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
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
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
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
47bcd10f61 Merge pull request #16243 from alexlarsson/volume-create-ignore
Add podman volume create --ignore
2022-10-26 15:00:51 -04:00
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
817ce37321 Merge pull request #16306 from edsantiago/volume_cleanup
System tests: big glop o' cleanup
2022-10-26 14:41:03 -04:00