Commit Graph

4885 Commits

Author SHA1 Message Date
OpenShift Merge Robot
d63d91694e Merge pull request #17493 from rhatdan/quadlet
Quadlet use crun specified in containers.conf
2023-02-15 09:26:27 -05:00
OpenShift Merge Robot
0cad682d88 Merge pull request #17392 from sstosh/e2e-kube-unshare
e2e: adapt play kube test on remote rootless
2023-02-15 09:15:33 -05:00
OpenShift Merge Robot
83757ccb55 Merge pull request #17506 from rhatdan/build
Allow specification of podman --remote build -f -
2023-02-15 09:13:05 -05:00
OpenShift Merge Robot
eb75246f31 Merge pull request #17207 from danishprakash/add-systemd-shm-size
add support for limiting tmpfs size for systemd-specific mnts
2023-02-15 05:53:40 -05:00
OpenShift Merge Robot
cfa38114ad Merge pull request #17483 from vyasgun/pr/filter-fix
fix != filter in volume prune
2023-02-15 05:22:41 -05:00
vyasgun
33a918711f fix != filter in volume prune
Signed-off-by: vyasgun <vyasgun20@gmail.com>
2023-02-15 10:55:21 +05:30
Daniel J Walsh
4c5b79120c Allow specification of podman --remote build -f -
Fixes: https://github.com/containers/podman/issues/17495

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-02-15 05:44:15 +02:00
Daniel J Walsh
3d8936642e Quadlet use crun specified in containers.conf
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-02-15 05:39:56 +02:00
Urvashi Mohnani
c0f983db87 Don't set hostPort when generating a service
When generating a kube yaml with kube generate, do not
set the hostPort in the pod spec if the service flag is
set and we are generating a service kind too.

Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
2023-02-14 11:00:28 -05:00
danishprakash
0999991b20 add support for limiting tmpfs size for systemd-specific mnts
* add tests
* add documentation for --shm-size-systemd
* add support for both pod and standalone run

Signed-off-by: danishprakash <danish.prakash@suse.com>
2023-02-14 14:56:09 +05:30
OpenShift Merge Robot
1e06c1a47a Merge pull request #17379 from umohnani8/ulimit
Add ulimit annotation to kube gen & play
2023-02-13 21:59:49 -05:00
OpenShift Merge Robot
26ed4f3447 Merge pull request #17488 from containers/dependabot/go_modules/test/tools/golang.org/x/tools-0.6.0
build(deps): bump golang.org/x/tools from 0.5.0 to 0.6.0 in /test/tools
2023-02-13 16:21:45 -05:00
OpenShift Merge Robot
4debbd108b Merge pull request #17487 from vrothberg/quadlet-stop
quadlet: add ExecStop
2023-02-13 13:45:40 -05:00
OpenShift Merge Robot
aab06f5724 Merge pull request #17489 from vrothberg/fix-16091
install sigproxy before start/attach
2023-02-13 13:06:50 -05:00
Urvashi Mohnani
35d16ea027 Add ulimit annotation to kube gen & play
Add a podman ulimit annotation to kube generate and play.
If a container has a container with ulimits set, kube gen
will add those as an annotation to the generated yaml.
If kube play encounters the ulimit annotation, it will set
ulimits for the container being played.

Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
2023-02-13 11:38:24 -05:00
Valentin Rothberg
7c54d14232 quadlet: add ExecStop
Remove the container in ExecStop to make sure that Quadlet's adheres to
Podman's customizable stop signal/timeout.  Certain programs ignore
SIGTERM which renders the services generated by Quadlet less user
friendly compared to the ones from podman-generate-systemd.

Previously, `systemctl stop` would just hang until systemd's stop
timeout is hit.  Since `podman rm` also removes the CID file, the
additional `rm` can be removed.  Note that `podman rm` will return
immediately if the specified CID file isn't present.

I am working on a short tutorial on Quadlet and hit the issue with a
simple container running `sleep`.  `sleep` ignores SIGTERM and stopping
the service would take forever even with `PodmanArgs=--stop-timeout=0`.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2023-02-13 15:21:48 +01:00
Valentin Rothberg
d2ac85f7aa install sigproxy before start/attach
Install the signal proxy before attaching to/starting the container to
make sure there's no race-condition as revealed in the failing start/run
tests in #16901.  The tests had the valid expectation that signal
forwarding works once the container is running.

Further update the tests to account for the attach test where the
expectation is that signal forwarding works once Podman has attached to
container (or even before).

Fixes: #16901
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-02-13 15:13:42 +01:00
dependabot[bot]
191e4ce40c build(deps): bump golang.org/x/tools from 0.5.0 to 0.6.0 in /test/tools
Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.5.0 to 0.6.0.
- [Release notes](https://github.com/golang/tools/releases)
- [Commits](https://github.com/golang/tools/compare/v0.5.0...v0.6.0)

---
updated-dependencies:
- dependency-name: golang.org/x/tools
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-13 13:07:08 +00:00
Erik Sjölund
a5ca732256 Fix typos
Software version used
https://github.com/crate-ci/typos/releases/tag/v1.13.10

The binary was downloaded from
https://github.com/crate-ci/typos/releases/download/v1.13.10/typos-v1.13.10-x86_64-unknown-linux-musl.tar.gz

Command that was run:

typos --write-changes docs cmd cni contrib dependencies docs hack libpod pkg utils

False positives were manually removed.
A few marshaling/existant typos were manually fixed.

Signed-off-by: Erik Sjölund <erik.sjolund@gmail.com>
2023-02-11 18:23:24 +01:00
Valentin Rothberg
1541ce56cf kube play: set service container as main PID when possible
Commit 4fa307f149 fixed a number of issues in the sdnotify proxies.
Whenever a container runs with a custom sdnotify policy, the proxies
need to keep running which in turn required Podman to run and wait for
the service container to stop.  Improve on that behavior and set the
service container as the main PID (instead of Podman) when no container
needs sdnotify.

Fixes: #17345
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2023-02-10 13:31:03 +01:00
Erik Sjölund
08e13867a9 Fix typos. Improve language.
Signed-off-by: Erik Sjölund <erik.sjolund@gmail.com>
2023-02-09 21:56:27 +01:00
OpenShift Merge Robot
d5e1e278a3 Merge pull request #17221 from mtrmac/eof-range-requests
Vendor c/image after https://github.com/containers/image/pull/1816
2023-02-09 14:02:28 -05:00
OpenShift Merge Robot
9eaf965a21 Merge pull request #17449 from rhatdan/codespell
Run codespell on codebase
2023-02-09 13:59:35 -05:00
OpenShift Merge Robot
d8de65bb8b Merge pull request #17412 from umohnani8/alias
Add ctrName to network alias during kube play
2023-02-09 13:56:19 -05:00
Ed Santiago
9cba0474b5 events + container inspect test: RHEL fixes
Primarily, add skip_if_journald_unavailable because RHEL.

Secondarily, reverse a flipped actual/expect assertion
that made it difficult to understand the RHEL failure.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-02-09 06:49:32 -07:00
Urvashi Mohnani
5a9074dabb Add ctrName to network alias during kube play
We currently name the container being created during kube play
as ctrName-podName, but this is not how it is done in k8s.
Since we can't change this at the CLI level as it will be a breaking
change (it will be planned for podman 5.0), add only ctrName as an alias
to the network of the pod.

Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
2023-02-09 08:25:13 -05:00
Daniel J Walsh
5865159766 Run codespell on codebase
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-02-09 08:02:43 -05:00
Miloslav Trmač
e308ba0215 Vendor c/image after https://github.com/containers/image/pull/1816
Also includes unreleased https://github.com/openshift/imagebuilder/pull/246 to work
with the updated docker/docker dependency.

And updates some references to newly deprecated docker/docker symbols.

[NO NEW TESTS NEEDED]

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2023-02-08 22:37:38 +01:00
OpenShift Merge Robot
34e76a46ab Merge pull request #17423 from ygalblum/quadlet_container_secret
Quadlet: Add support for the Secret key in Container group
2023-02-08 15:45:41 -05:00
OpenShift Merge Robot
bd40dbc553 Merge pull request #17420 from vrothberg/fix-kube-start
kube play: do not teardown unconditionally on error
2023-02-08 09:29:26 -05:00
OpenShift Merge Robot
82af4dd531 Merge pull request #17380 from sbrivio-rh/pasta
tests: pasta: Mitigation for socat connect() getting EINTR and two other fixes
2023-02-08 09:24:17 -05:00
Ygal Blum
d6dd17fdfe Quadlet: Add support for the Secret key in Container group
Add E2E tests
Add system test
Add to man page

Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2023-02-08 16:12:08 +02:00
OpenShift Merge Robot
b829588a32 Merge pull request #17421 from sstosh/e2e-fix-remote
e2e: fix some tests on remote
2023-02-08 07:29:47 -05:00
Toshiki Sonoda
43b3570680 e2e: fix some tests on remote
- podman-remote unshare returns an error message
  with the exit code '125'.

- Need to run RestartRemoteService() to apply
  changes to the TMPDIR.

Signed-off-by: Toshiki Sonoda <sonoda.toshiki@fujitsu.com>
2023-02-08 18:07:41 +09:00
Valentin Rothberg
83367a6b3b kube play: do not teardown unconditionally on error
Commit 2f29639bd3 added a UX improvement to cleanup/teardown when
running the specified YAML has failed.  However, the teardown happens
unconditionally such that rerunning the same YAML file will teardown the
previously created workload instead of just failing with a name-conflict
error (e.g., "pod already exists").  The regression popped up testing
the Ansible system role with Podman v4.4.0.

For now, do not teardown at all on error to quickly fix this regression
for the upcoming Podman v4.4.1 release.  The UX improvement is still
desired but must be conditional and only happen on newly created
resources, which probably requires moving it down to the backend.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2023-02-08 09:20:16 +01:00
Alex Jia
ac71fa01c3 Fix typos in comments
Signed-off-by: Alex Jia <chuanchang.jia@gmail.com>
2023-02-08 10:05:27 +08:00
OpenShift Merge Robot
6ce76720be Merge pull request #17402 from Luap99/update-lint
update golangci-lint to version 1.51.1
2023-02-07 11:00:16 -05:00
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
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
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
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
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
5925baa33b Merge pull request #17302 from rhatdan/selinux
Handle filetype field in kubernetes.yaml files
2023-02-03 22:45:08 +01: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
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