21475 Commits

Author SHA1 Message Date
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
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
9c16f1bab8 Merge pull request #21009 from baude/hypervcheckexclusivearch
CheckExclusiveArch should use local JSON too
2023-12-14 18:30:03 +00:00
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
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
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
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
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
b82e336751 Merge pull request #21004 from umohnani8/push-endpoint
Fix push endpoint stream
2023-12-13 22:41:33 +00:00
5e76a88a32 Merge pull request #20998 from edsantiago/safer_isolation
CI: systests: safer isolation in registry & tests
2023-12-13 21:38:12 +00:00
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
7080d9980f Merge pull request #21002 from baude/machinee2edisksize
machine e2e : set default disk size to 11
2023-12-13 20:29:05 +00:00
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
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
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
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
4582b61d7c Merge pull request #20958 from rhatdan/ps
Support podman ps --format '{{ .Label label }}'
2023-12-13 14:26:17 +00:00
bc5dc03bb7 Merge pull request #20990 from baude/hypervbehave
Make hyperv pass
2023-12-13 12:39:01 +00:00
10870e0d8d Merge pull request #20994 from dcermak/remove-NetworkStatusOld
Remove deprecated field ContainerState.NetworkStatusOld
2023-12-13 12:36:12 +00:00
5db4224427 Merge pull request #20976 from Luap99/string-array
cli: use StringArray over StringSlice Part 2
2023-12-13 12:22:31 +00:00
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
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
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
a52f75e20b Merge pull request #20938 from edsantiago/new_vms
CI: unskip tests on new VMs
2023-12-13 10:32:30 +00:00
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
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
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
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
d8c6ca6c1b Merge pull request #20988 from baude/p5standardmachineconfig
Podman 5 machine config file - Step 1
2023-12-12 10:01:29 +00:00
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
9877dc4980 Merge pull request #20946 from cevich/machine_run_sooner
Support a CI-colon-MACHINE mode
2023-12-11 19:37:59 +00:00
47b6a90a82 Merge pull request #20953 from baude/wslregressions
Fix WSL machine test regressions
2023-12-11 19:29:44 +00:00
95eb22c71c Support a machine-test only mode
Because the podman machine tests normally run at the end of the chain,
it's time consuming for developers to validate machine-only changes.
Support a special CI runtime mode, only when a PR is marked as a draft.
Update related documentation

Also: Only run machine tests on PRs, never for branches or new tags.

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-12-11 11:02:32 -05:00
0f02e43cee cli: podman manifest annotate --annotation use StringArray()
This option accepts arbitrary input so we should allow commas in it.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-12-11 15:43:21 +01:00
d8c3e5b3c1 cli: podman manifest add --annotation use StringArray()
This option accepts arbitrary input so we should allow commas in it.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-12-11 15:43:21 +01:00
3e10a68328 cli: podman kube play --configmap use StringArray()
This option accepts a file path so we should allow commas in it.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-12-11 15:43:21 +01:00
2be4b007b0 cli: podman kube play --log-opt use StringArray()
This option accepts arbitrary input so we should allow commas in it.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-12-11 15:43:21 +01:00
48ab4aec31 podman kube play: fix broken annotation parsing
If a user did not set an equal sign in the annotation that old code
would panic when accessing the second element in the slice.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-12-11 15:43:21 +01:00
e916f49f0b cli: podman kube play --annotation use StringArray()
This option accepts arbitrary input so we should allow commas in it.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-12-11 15:43:20 +01:00
47b65086ee cli: podman image trust set --pubkeysfile use StringArray()
This option accepts a file path so we should allow commas in it.
There ar eno tests for this option, I have no idea what this option does
nor how to use it so I cannot write one.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-12-11 15:43:20 +01:00
cdb178e954 cli: podman push --encryption-key use StringArray()
This option accepts a file path so we should allow commas in it.
Also add tests for --decryption-key

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-12-11 15:43:20 +01:00
3e1b9146f7 cli: podman pull --decryption-key use StringArray()
This option accepts a file path so we should allow commas in it.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-12-11 15:43:20 +01:00
71b3437a81 Merge pull request #20979 from edsantiago/emergency
EMERGENCY: fix broken CI
2023-12-11 14:41:03 +00:00
36e29a8432 Fix WSL machine test regressions
WSL is unable to set or change CPU/memory settings.  We should not test
for them.

Skip one test and filed issue #20978

Signed-off-by: Brent Baude <bbaude@redhat.com>
2023-12-11 08:10:47 -06:00
6415471dcd EMERGENCY: fix broken CI
Broken by #20827.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-12-11 06:28:21 -07:00
611ba2ff31 Merge pull request #20827 from kaivol/userns-auto-intermediate-id-lookup
Support lookup of intermediate ID for uidmapping and gidmapping in `--userns=auto`
2023-12-11 10:19:14 +00:00
952c708906 added system test
Signed-off-by: kaivol <github@kavol.de>
2023-12-10 14:16:08 +01:00
23f6c48515 Add test for relative idmap mount
Signed-off-by: Karuboniru <yanqiyu01@gmail.com>
2023-12-10 13:13:30 +00:00
c87311b6d5 Merge pull request #20945 from Luap99/string-array
cli: use StringArray over StringSlice Part 1
2023-12-09 21:11:39 +00:00
e7eb97b84a fix checking of relative idmapped mount
Like stated in [PR for crun](https://github.com/containers/crun/pull/1372)

that HostID is what being mapped here, so we should be checking `HostID` instead of `ContainerID`. `v.ContainerID` here is the id of owner of files on filesystem, that can be totally unrelated to the uid maps.

Signed-off-by: Karuboniru <yanqiyu01@gmail.com>
2023-12-09 20:16:38 +00:00