Commit graph

23873 commits

Author SHA1 Message Date
Paul Holzinger
77e4b19397
update golangci-lint to version 1.51.1
The new version contains the ginkgolinter, which makes sure the
assertions are more helpful.

Also replace the deprecated os.SEEK_END with io.SeekEnd.

There is also a new `musttag` linter which checks if struct that are
un/marshalled all have json tags. This results in many warnings so I
disabled the check for now. We can reenable it if we think it is worth
it but for now it way to much work to fix all report problems.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-02-07 14:16:21 +01:00
Valentin Rothberg
1fd0ce71d0 [CI:DOCS] events: document journald identifiers
Document the identifiers used in the journald events backend. Those can
be used to filter Podman events with journalctl and I need them to be
documented for a blog I am writing at the moment.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2023-02-07 13:56:43 +01:00
OpenShift Merge Robot
77ab826d02
Merge pull request #17376 from vrothberg/fix-17341
network ls: handle removed container
2023-02-07 07:25:09 -05:00
OpenShift Merge Robot
c4ec99a757
Merge pull request #17354 from travier/quadlet-examples
[CI:DOCS] docs/podman-systemd.unit: Update example to work out of the box + Explicitely mention '.network' units
2023-02-07 04:49:33 -05:00
Valentin Rothberg
f1352521ff Quadlet: exit 0 when there are no files to process
Quadlet should not exit with failure if no files to process have been
found.  Otherwise, even simple operations such as reloading systemd
will fail as it retriggers generators.

Fixes: #17374
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2023-02-07 10:48:31 +01:00
Valentin Rothberg
ced9342840 network ls: handle removed container
Handle a race condition in the REST API when listing networks.
In between listing all containers and inspecting them, they may have
already been removed, so handle this case gracefully.

[NO NEW TESTS NEEDED] as it's a race condition.

Fixes: #17341
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2023-02-07 09:49:50 +01:00
Toshiki Sonoda
315215020d e2e: adapt play kube test on remote rootless
Use podmanTest.PodmanBinary because podman-remote unshare
cannot be used.

Signed-off-by: Toshiki Sonoda <sonoda.toshiki@fujitsu.com>
2023-02-07 17:04:43 +09:00
OpenShift Merge Robot
dcbe0182a9
Merge pull request #17364 from eriksjolund/add_return
Add missing return after utils.Error()
2023-02-06 21:40:51 -05:00
Timothée Ravier
4e8906c5e5 docs/podman-systemd.unit: Explicitely mention network & kube units
Make the relation between '.container' and '.network' units more
explicit at the beginning.

Signed-off-by: Timothée Ravier <tim@siosm.fr>
2023-02-06 22:47:41 +01:00
Timothée Ravier
c4f338eec7 docs/podman-systemd.unit: Update example to work out of the box
- Don't order the container unit before local-fs.target as that creates
  an ordering cycle that triggers other issues.
- Use the example network in the container unit
- Only use groups that exists by default for the volume

Signed-off-by: Timothée Ravier <tim@siosm.fr>
2023-02-06 22:47:41 +01:00
Chris Evich
50f72fe7b1
[CI:BUILD] Cirrus: Fix GraphQL ownerRepository:null error
A semantic change to a Cirrus-CI GraphQL API parameter caused a
unit-test to fail (as it should have) with the error:

```
Query result did not pass filter '.data.ownerRepository.cronSettings':
'{"data":{"ownerRepository":null}}'
```

As per Cirrus-support, a change was introduced in schema affecting certain
fields that were incorrectly marked Nullable.  They indicated the `platform`
field was set incorrectly, and should use the value `github`.

* Fix the platform field's value to `github` instead of `LINUX`.
* Change the unit-test to only execute as part of the 'main' cirrus-cron
  job so it cannot impact PRs.

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-02-06 15:57:51 -05:00
OpenShift Merge Robot
a1f9c71fb2
Merge pull request #17352 from rhatdan/rootfs
Add quadlet support for Rootfs and SELinux labels  containers
2023-02-06 15:50:00 -05:00
Erik Sjölund
83a0e97ab8 Add missing return after errors
Add missing return after utils.Error(),
utils.InternalServerError(), utils.BadRequest().

[NO NEW TESTS NEEDED]

Signed-off-by: Erik Sjölund <erik.sjolund@gmail.com>
2023-02-06 20:32:06 +01:00
Chris Evich
84c674fee0
Revert "Cirrus: Emergency fix to un-stuck PRs"
This reverts commit 6b3073f53e.

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-02-06 13:45:04 -05:00
Stefano Brivio
af0f10a227 pasta: Fix ICMPv6 Echo test, skip it for the moment
Similarly to the ICMP test for IPv4, I broke the command line on a
rebase of the initial test import.

Note that, unless we pass an IPv6 resolver directly to pasta, Podman
won't add one to /etc/resolv.conf in the container. We could pass
that explicitly, but then end up hitting the same issue as the one
described in the "Local forwarder, IPv6" case. Skip this test for
the moment being.

Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
2023-02-06 19:10:04 +01:00
Stefano Brivio
859579b6b7 pasta: Fix ICMP Echo Request (IPv4) test
Parameter substitution in the command line went lost on some rebase
of the initial test import. Add it back and actually test that we can
ping the resolver.

Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
2023-02-06 19:10:04 +01:00
Stefano Brivio
e33f4e0bc7 pasta: Use two connections instead of three in TCP range forward tests
For some reason I couldn't figure out yet, on CI systems running
Fedora 37, tests for TCP port forwarding with ranges fail on the
third connection, as connect() from the socat client gets
interrupted -- and socat doesn't handle this.

Mitigate this by connecting twice, to two different ports, instead of
using three ports.

Reported-by: Ed Santiago <santiago@redhat.com>
Link: https://github.com/containers/podman/issues/17287
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
2023-02-06 19:10:04 +01:00
Daniel J Walsh
acaab3fa72
Add SELinux label types support to quadlet
Add support for disabeling SELinux process separation in the container.
Add support for setting the process type of the container.
Add support for setting the process MCS level of the container.
Add support for setting the file type of the container.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-02-06 12:54:34 -05:00
Daniel J Walsh
928d589b7e
Add quadlet support for rootfs= containers
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>

Add rootfs= support for quadlet containers

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-02-06 12:54:33 -05:00
Daniel J Walsh
004d611cba
Merge pull request #17381 from cevich/emergency_graphql_fix
Cirrus: Emergency fix to un-stuck PRs
2023-02-06 12:54:03 -05:00
Chris Evich
6b3073f53e
Cirrus: Emergency fix to un-stuck PRs
All PRs are broken because this test fails, presumably due to a GraphQL
API change.  Disable the test temporarily until a permanent solution
can be found.

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-02-06 10:52:33 -05:00
OpenShift Merge Robot
a62c9b235c
Merge pull request #17367 from xxyzz/fix_doc_build
Move `clean-binaries` before `podman-remote` in podman-remote-docs target
2023-02-06 10:48:06 -05:00
OpenShift Merge Robot
56d13640e2
Merge pull request #17351 from rhatdan/man
Install podman-systemd.unit man page, make quadlet discoverable
2023-02-06 14:35:06 +01:00
OpenShift Merge Robot
3464df2030
Merge pull request #17335 from vrothberg/hack/perf/bz-2162111.sh
[CI:DOCS] hack/perf/bz-2162111.sh: use custom network
2023-02-06 13:24:00 +01:00
OpenShift Merge Robot
26d7efe19c
Merge pull request #17356 from giuseppe/improve-can-mount-sys
oci: bind mount /sys with --userns=(auto|pod:)
2023-02-06 10:51:16 +01:00
xxyzz
8441f01bec
Move clean-binaries before podman-remote in podman-remote-docs target
When run make with muitiple jobs, `clean-binaries` could run after
the `podman-remote` target thus delete the newly built `podman-remote`
binary file. And this would cause the error later in the
`docs/remote-docs.sh` script.

Signed-off-by: xxyzz <gitpull@protonmail.com>
2023-02-05 13:42:25 +08:00
OpenShift Merge Robot
4c8ad63568
Merge pull request #17331 from edsantiago/makedocs_parallel_safe
make hack/markdown-preprocess parallel-safe
2023-02-03 23:08:54 +01:00
OpenShift Merge Robot
51dd01c273
Merge pull request #17347 from sstosh/system-nonexistent-labels
system tests: fix noexistent labels test in the remote
2023-02-03 23:01:11 +01:00
OpenShift Merge Robot
0110014843
Merge pull request #17338 from salevdns/patch-1
[CI:DOCS] Add YAML syntax highlighting in issue template
2023-02-03 22:58:34 +01:00
OpenShift Merge Robot
e0cd18f578
Merge pull request #17303 from arixmkii/config-pipe
Expose Podman named pipe in Inspect output
2023-02-03 22:47:45 +01:00
OpenShift Merge Robot
5925baa33b
Merge pull request #17302 from rhatdan/selinux
Handle filetype field in kubernetes.yaml files
2023-02-03 22:45:08 +01:00
Giuseppe Scrivano
aa0d4b2661
oci: bind mount /sys with --userns=(auto|pod:)
when using --userns=auto or --userns=pod, we should bind mount /sys
from the host instead of creating a new /sys in the container,
otherwise we rely on the fallback provided by crun, which might not be
available in other runtimes.

Also, in the last version of crun the fallback is stricter than it
used to be before and it uses a recursive bind mount through the new
mount API.  That can be missing on old kernel.

Closes: https://github.com/containers/crun/issues/1131

[NO NEW TESTS NEEDED] to trigger the failure, we need a specific
combination of kernel, libc and OCI runtime.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2023-02-03 17:16:19 +01:00
Daniel J Walsh
e6904f6f89
Cleanup podman-systemd.unit file
Sort options alphabetically

Add kubernetes example.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-02-03 08:42:20 -06:00
Daniel J Walsh
3c3526e532
Install podman-systemd.unit man page, make quadlet discoverable
Currently we are shipping no data about quadlet, since the
podman-systemd.unit file is not shipped. Also want to add the
quadlet name to the description of the man page so that

man -k quadlet

will help users find the man page.

Also add a link file such that if the user types in
man quadlet
man will show the podman-systemd.unit file.

Also eliminate the subpackage podman-quadlet

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

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-02-03 08:42:20 -06:00
OpenShift Merge Robot
3654a26421
Merge pull request #17350 from giuseppe/allow-keep-id-for-root
libpod: allow userns=keep-id for root
2023-02-03 15:19:30 +01:00
OpenShift Merge Robot
f247b4d4ec
Merge pull request #17334 from ashley-cui/updatemain
Update main to reflect v4.4.0 release
2023-02-03 13:07:36 +01:00
Giuseppe Scrivano
de63ad7044
libpod: allow userns=keep-id for root
copy the current mapping into a new user namespace, and run into a
separate user namespace.

Closes: https://github.com/containers/podman/issues/17337

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2023-02-03 12:44:30 +01:00
OpenShift Merge Robot
d8ef86a96e
Merge pull request #17325 from flouthoc/clean-cache-api
system-reset: use `CleanCacheMount` to clear build cache
2023-02-03 11:35:13 +01:00
OpenShift Merge Robot
90d338043d
Merge pull request #17343 from giuseppe/fix-cgroup-ro-test-cgroupv1
test: adapt test to work on cgroupv1
2023-02-03 11:10:54 +01:00
Aditya R
9e7f1bea42
system-reset: use CleanCacheMount to clear build cache
Just like buildkit buildah must allow cleaning the buildcache and cache generated on host by --mount=type=cache just like buildkit's prune command.

See: https://github.com/moby/buildkit#cache

Signed-off-by: Aditya R <arajan@redhat.com>
2023-02-03 12:30:28 +05:30
Aditya R
5ca35d6de7
vendor: bump buildah to v1.29.1-0.20230201192322-e56eb25575c7
Signed-off-by: Aditya R <arajan@redhat.com>
2023-02-03 12:30:16 +05:30
Toshiki Sonoda
3ce07b5567 system tests: fix noexistent labels test in the remote
In the remote environment, this test will be failed,
because an error message is different from the local environment.

Signed-off-by: Toshiki Sonoda <sonoda.toshiki@fujitsu.com>
2023-02-03 14:41:06 +09:00
OpenShift Merge Robot
78458e0f89
Merge pull request #17274 from giuseppe/idmap-rootfs
libpod: support idmap for --rootfs
2023-02-03 04:12:25 +01:00
Arthur Sengileyev
a909e2f2d5 Expose Podman named pipe in Inspect output
Signed-off-by: Arthur Sengileyev <arthur.sengileyev@gmail.com>
2023-02-03 00:05:28 +02:00
Giuseppe Scrivano
2bb4c7cdde
libpod: support idmap for --rootfs
add a new option idmap to --rootfs that works in the same way as it
does for volumes.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2023-02-02 22:35:00 +01:00
OpenShift Merge Robot
90b18d2d9c
Merge pull request #17166 from cevich/versionable_suffixes
Cirrus: Use versionable IMAGE_SUFFIX
2023-02-02 22:19:12 +01:00
Giuseppe Scrivano
ed1f769176
test: adapt test to work on cgroupv1
when running on a cgroupv1 host validate that the memory controller is
mounted ro.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2023-02-02 20:41:57 +01:00
Ashley Cui
ed18cdd6e3 Bump to v4.5.0-dev
Signed-off-by: Ashley Cui <acui@redhat.com>
2023-02-02 14:14:49 -05:00
Ashley Cui
b6d91ebfb1 Update main to reflect v4.4.0 release
Update README, API reference and release notes for v4.4.0

Signed-off-by: Ashley Cui <acui@redhat.com>
2023-02-02 14:14:31 -05:00
Miloslav Trmač
be47eeb85c Update from /github.com/vbauerster/mpb/v7 to /v8
Also update to c/image after https://github.com/containers/image/pull/1821 ,
so that we don't ship two versions of the package simultaneously.

[NO NEW TESTS NEEDED]

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2023-02-02 20:01:06 +01:00