Commit Graph

21445 Commits

Author SHA1 Message Date
Giuseppe Scrivano 1322f3193b
abi: drop check for IsRootless()
it is the wrong check to do here since we need to setup the user
namespace even in the case we are running as root without
capabilities.

[NO NEW TESTS NEEDED] this happens in nested podman

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

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2023-12-18 14:05:30 +01:00
openshift-merge-bot[bot] c324dbb8b4
Merge pull request #21049 from k9withabone/quadlet-ulimit-multiple
quadlet container support multiple Ulimit options
2023-12-18 12:38:22 +00:00
Daniel J Walsh 4dd58f226d
Move golang requirement from 1.18 to 1.20
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-12-18 07:29:31 -05:00
openshift-merge-bot[bot] 702c6f8ada
Merge pull request #21040 from gardar/docs/oci-dir-compress
[CI:DOCS] Fix `podman save` command example to use correct image format with `--compress` flag
2023-12-18 08:21:55 +00:00
openshift-merge-bot[bot] a5aa970cb3
Merge pull request #21025 from lstolcman/contrib-systemd-readme-fix
[CI:DOCS] Fix path to example files in contrib/systemd/README.md
2023-12-17 11:27:51 +00:00
Daniel J Walsh f169fc76af
Allow PublishPorts to be used with [Pod] entry
Fixed: https://github.com/containers/podman/issues/21035

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-12-17 06:25:36 -05:00
Paul Nettleton 6a96c8b5fc quadlet container support multiple Ulimit options
Add support for using multiple `Ulimit=` options in `.container` files.
Before, only the last `Ulimit=` option was used in the podman command.

Update podman-systemd.unit.5 docs to reflect this change.

Add `test/e2e/quadlet/ulimit.container` to e2e tests.

Signed-off-by: Paul Nettleton <k9@k9withabone.dev>
2023-12-17 04:31:59 -06:00
Gavin Lam ccc3eb774d
Improve compose tests
* Add traps to report setup, tests, and teardown errors as failures
* Pass through return code of podman commands
* Fix unset variables
* Fix simple_port_map image build when installing flask (PEP 668 - externally managed environment error)
* Ignore kill errors in slirp4netns_opts teardown steps

Signed-off-by: Gavin Lam <gavin.oss@tutamail.com>
2023-12-16 12:04:25 -05:00
Łukasz Stolcman e51bab3c97
Remove duplicated content in docs
Signed-off-by: Łukasz Stolcman <lukasz.stolcman@protonmail.com>
2023-12-15 23:54:03 +01:00
openshift-merge-bot[bot] 07834ab39e
Merge pull request #21013 from gavinkflam/17167-compat-base-hosts-file
Fix Docker API compatibility with network alias
2023-12-15 20:44:08 +00:00
openshift-merge-bot[bot] d1d38b2aa4
Merge pull request #21011 from edsantiago/wait_wait_wait
CI: safer podman-stop tests
2023-12-15 20:31:38 +00:00
gardar d76bb978b7
docs: oci-dir does not support compress as suggested
The docs have this note for the `--compress` flag

> Note: This flag can only be set with --format=docker-dir.

Yet the provided example has `--compress` with `--format=oci-dir`

Signed-off-by: gardar <gardar@users.noreply.github.com>
2023-12-15 19:40:46 +00:00
openshift-merge-bot[bot] 2258329769
Merge pull request #21026 from containers/renovate/github.com-mattn-go-sqlite3-1.x
Update module github.com/mattn/go-sqlite3 to v1.14.19
2023-12-15 13:38:59 +00:00
renovate[bot] f02fe73c3d
Update module github.com/vbauerster/mpb/v8 to v8.7.1
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-15 12:42:21 +00:00
openshift-merge-bot[bot] b132c025db
Merge pull request #21010 from edsantiago/docs_formatting
[CI:DOCS] doc cleanup
2023-12-15 12:41:12 +00:00
renovate[bot] 5c4c76b8c9
Update module github.com/mattn/go-sqlite3 to v1.14.19
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-15 10:42:30 +00:00
Gavin Lam db68764d8b
Fix Docker API compatibility with network alias (#17167)
* Add BaseHostsFile to container configuration
* Do not copy /etc/hosts file from host when creating a container using Docker API

Signed-off-by: Gavin Lam <gavin.oss@tutamail.com>
2023-12-14 23:31:44 -05:00
Łukasz Stolcman 7c72d8c2f3
Fix path to example files
Signed-off-by: Łukasz Stolcman <lukasz.stolcman@protonmail.com>
2023-12-15 00:37:53 +01:00
openshift-merge-bot[bot] 077b000996
Merge pull request #20995 from mheon/error_on_gvproxy_exit
Error on HyperV VM start when gvproxy has failed to start
2023-12-14 20:53:13 +00:00
openshift-merge-bot[bot] fb9e9de1ca
Merge pull request #20966 from ygalblum/kube-play-build-private-reg
Kube Play - pass arguments to build
2023-12-14 20:33:10 +00:00
Matt Heon 5cc5b43473 Error on HyperV VM start when gvproxy has failed to start
After the VM has successfully started, check that gvproxy is
still running. If it is not, throw an error and refuse to
complete machine start.

[NO NEW TESTS NEEDED] I don't think we can deliberately trigger a
bad gvproxy start without a bad Podman binary. We could try and
kill gvproxy after it starts but before the machine is booted but
that's very prone to races.

Slightly restructure code so that starting shares happens later
and has its own configuration write - so the VM is still recorded
as running if starting shares fails.

Signed-off-by: Matt Heon <mheon@redhat.com>
2023-12-14 13:31:37 -05:00
renovate[bot] 58edd06ff0
[skip-ci] Update actions/upload-artifact action to v4
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-14 18:31:35 +00:00
openshift-merge-bot[bot] 9c16f1bab8
Merge pull request #21009 from baude/hypervcheckexclusivearch
CheckExclusiveArch should use local JSON too
2023-12-14 18:30:03 +00:00
openshift-merge-bot[bot] 068eba15fb
Merge pull request #21015 from containers/renovate/github.com-containers-libhvee-0.x
fix(deps): update module github.com/containers/libhvee to v0.6.0
2023-12-14 15:12:07 +00:00
Ygal Blum d026ccf9a7 Kube Play - pass arguments to build
Create a buildah SystemContext from the existing cli arguments
Pass the SystemContext to the build
Add system test

Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2023-12-14 16:31:09 +02:00
Ed Santiago e4ecd7cca3 doc cleanup
Began as a review of #20983, a community PR from @krumelmonster
for moving divisive-language footnotes closer to the point
where they're used. In the process, I noticed a lot of poor
markdown, mostly bad use of whitespace. Cleaned it up, added
some italic/bold/tty markdown to options, and cleaned up
some language I found confusing.

Thanks to @krumelmonster for initial PR.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-12-14 05:17:43 -07:00
Ed Santiago 1c59a9ced1 CI: safer podman-stop tests
A number of tests start a container then immediately run podman stop.
This frequently flakes with:

   StopSignal SIGTERM failed to stop [...] in 10 seconds, resorting to SIGKILL

Likely reason: container is still initializing, and its process
has not yet set up its signal handlers.

Solution: if possible (containers running "top"), wait for "Mem:"
to indicate that top is running. If not possible (pods / catatonit),
sleep half a second.

Intended to fix some of the flakes cataloged in #20196 but I'm
leaving that open in case we see more. These are hard to identify
just by looking in the code.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-12-14 04:49:46 -07:00
renovate[bot] 8d94fc1564
fix(deps): update module github.com/containers/libhvee to v0.6.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-14 10:55:38 +00:00
openshift-merge-bot[bot] b82e336751
Merge pull request #21004 from umohnani8/push-endpoint
Fix push endpoint stream
2023-12-13 22:41:33 +00:00
openshift-merge-bot[bot] 5e76a88a32
Merge pull request #20998 from edsantiago/safer_isolation
CI: systests: safer isolation in registry & tests
2023-12-13 21:38:12 +00:00
Brent Baude 3a842027af CheckExclusiveArch should use local JSON too
When performing CheckExclusiveArch, we should get a list of VMs that
exist on disk (JSON).  We should then iterate those and checking if they
are running in HyperV.

[NO NEW TESTS NEEDED]

Signed-off-by: Brent Baude <bbaude@redhat.com>
2023-12-13 14:41:29 -06:00
openshift-merge-bot[bot] 7080d9980f
Merge pull request #21002 from baude/machinee2edisksize
machine e2e : set default disk size to 11
2023-12-13 20:29:05 +00:00
Chris Evich c290a561b7
Update gitleaks baseline w/ harmless findings
This should prevent false-positives on any PRs which reference these
commits.

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-12-13 13:17:49 -05:00
Brent Baude 446df4379f machine e2e : set default disk size to 11
this default value for podman machine disk sizes is 100GB.  On CI
platforms where the IO is slow and some operations are not done
sparsely, this can really slow things down.

if no disk size is provided by the init command in the test suite, we
set it to 11G.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2023-12-13 12:14:42 -06:00
Urvashi Mohnani 126670d5dd Fix push endpoint stream
The push binding endpoint wasn't actually writing the
output data to the stream when quiet=false and there
was no push error.
Do not hard code quiet=true anymore, take into account the
user input.

Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
2023-12-13 13:01:21 -05:00
Ed Santiago 232c32bd35 CI: systests: safer isolation in registry & tests
Our test registry (used for login & local registry tests)
was being run using the standard podman tmpdir, hence the
standard podman database, This was then getting clobbered
in the 330-corrupt-images test, which runs "system reset".
We just didn't know this was happening. Until we added
a registry test after the system reset. Oops.

Solution: new helper function podman_isolation_opts()
sets --root, --runroot, *and --tmpdir*. Refactor all
existing --root/--runroot usages. Document.

Next problem: the "network reload" test in 500-networking.bats
did not (could not) know about our registry port, so the
"iptables -F" command reverted that to DROP, so the subsequent
podman-auth in 700-play timed out.

Solution: add a podman-isolated "network reload" to start_registry().

Final problem, because, really, those weren't enough: a BATS
bug where running with --filter-tags would set IFS=',' in setup_suite
which in turn has catastrophic consequences:

    https://github.com/bats-core/bats-core/issues/812

See #20966 for details of the failure and further conversation.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-12-13 09:46:09 -07:00
openshift-merge-bot[bot] 4582b61d7c
Merge pull request #20958 from rhatdan/ps
Support podman ps --format '{{ .Label label }}'
2023-12-13 14:26:17 +00:00
openshift-merge-bot[bot] bc5dc03bb7
Merge pull request #20990 from baude/hypervbehave
Make hyperv pass
2023-12-13 12:39:01 +00:00
openshift-merge-bot[bot] 10870e0d8d
Merge pull request #20994 from dcermak/remove-NetworkStatusOld
Remove deprecated field ContainerState.NetworkStatusOld
2023-12-13 12:36:12 +00:00
openshift-merge-bot[bot] 5db4224427
Merge pull request #20976 from Luap99/string-array
cli: use StringArray over StringSlice Part 2
2023-12-13 12:22:31 +00:00
Daniel J Walsh f51ff77644
Support podman ps --format '{{ .Label label }}'
Also Support for podman pod ps  --format '{{ .Label label }}'

Finally fix support for --format '{{ .Podname }}'
   When user specifies .Podname this implies --pod was passed.

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

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-12-13 07:09:54 -05:00
openshift-merge-bot[bot] a5c8bb25cc
Merge pull request #20997 from containers/renovate/golang.org-x-tools-0.x
fix(deps): update module golang.org/x/tools to v0.16.1
2023-12-13 11:02:43 +00:00
openshift-merge-bot[bot] 11f4a8673c
Merge pull request #20996 from containers/renovate/github.com-google-uuid-1.x
fix(deps): update module github.com/google/uuid to v1.5.0
2023-12-13 10:49:00 +00:00
openshift-merge-bot[bot] a52f75e20b
Merge pull request #20938 from edsantiago/new_vms
CI: unskip tests on new VMs
2023-12-13 10:32:30 +00:00
renovate[bot] 36e04599af
fix(deps): update module golang.org/x/tools to v0.16.1
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-12 22:06:35 +00:00
renovate[bot] 5ca255c2c2
fix(deps): update module github.com/google/uuid to v1.5.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-12 19:31:03 +00:00
Dan Čermák 5c7f745468
Remove deprecated field ContainerState.NetworkStatusOld
This field drags in a dependency on CNI and thereby blocks us from disabling CNI
support via a build tag

[NO NEW TESTS NEEDED]

Signed-off-by: Dan Čermák <dcermak@suse.com>
2023-12-12 17:09:39 +01:00
Brent Baude e5c726daff Make hyperv pass
It seems CI generally needs a little more of a default timeout to
complete the init and boot process of a machine.  This extends the
timeout from 90 seconds to 240 seconds.

[NO NEW TESTS NEEDED]

Signed-off-by: Brent Baude <bbaude@redhat.com>
2023-12-12 08:30:03 -06:00
openshift-merge-bot[bot] d8c6ca6c1b
Merge pull request #20988 from baude/p5standardmachineconfig
Podman 5 machine config file - Step 1
2023-12-12 10:01:29 +00:00
Brent Baude e5a4f00b7d Podman 5 machine config file - Step 1
The following PR is the very first step in what will a series of steps
to apply a "common" machine configuration file to all providers.
Function names, method names, struct names, and field names are all up
for debate.  The purpose of this PR is to offer a glimpse at the
direction we intend to take.

This PR also contains temporary structs (i.e. aThing) that are not
exported.  These are merely placeholders.

The configuration work in this PR is also unused of yet.  But the code
is compiled.  Once merged, we can begin the next step of development.

[NO NEW TESTS NEEDED]

Signed-off-by: Brent Baude <bbaude@redhat.com>
2023-12-11 16:26:15 -06:00