Commit Graph

22801 Commits

Author SHA1 Message Date
Chris Evich
d53fee511f CI Cleanup: Remove cgroups v1 support
With (esp. Debian) CI VM images built by
https://github.com/containers/automation_images/ pull/338 CI no-longer
tests with runc nor cgroups v1.  Add logic to fail under these
conditions.  Prune back high-level YAML/script envars and logic formerly
required to support these things.

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-06-21 10:08:39 -04:00
openshift-merge-bot[bot]
9ffac33178 Merge pull request #23066 from Luap99/connection-setup
remote: fix incorrect CONTAINER_CONNECTION parsing
2024-06-21 13:29:10 +00:00
Paul Holzinger
4b3890ccac remote: fix incorrect CONTAINER_CONNECTION parsing
When a user specifies a invalid connection in CONTAINER_CONNECTION then
podman should return a proper error saying so. Currently it ignored the
error and in rootFlags() just exited early with defining any flags. This
caused a panic then when trying to use the flags later.

In order to address this first store the connection error in the
PodmanConfig struct and not abort right away during flag setup. This is
important as the user might have specified a flag with a valid remote
connection. As such we check all flags and only when none were given we
return the connection error.

Also while at it I noticed that the default connection reported via
podman --help was wrong as it only used the old containers.conf field
for it and did not consider the podman-connections.json default.

New regression tests have been added to make sure it behaves correctly.

This fixes the problem reported in the PR #22997.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-06-21 14:01:22 +02:00
openshift-merge-bot[bot]
79f0f7707a Merge pull request #23060 from AlexanderNull/docs/pushimage-openapi
[CI:DOCS] Adds all PushImage supported paramters to openapi docs
2024-06-21 09:27:01 +00:00
openshift-merge-bot[bot]
64a9c73330 Merge pull request #23056 from rst0git/fix-restore-into-pod
restore: fix container restore into pod
2024-06-21 08:59:29 +00:00
openshift-merge-bot[bot]
95677f6eb0 Merge pull request #23059 from edsantiago/systest-timeout-bump
systests: kube: bump up a timeout
2024-06-21 08:51:14 +00:00
Radostin Stoyanov
8be9ec7216 e2e: test container restore in pod by name
Add a test to verify that restoring a container in a Pod works when
the `container restore --pod` option is used with Pod *name* (this
functionality was previously limited to support only full Pod ID).

Signed-off-by: Radostin Stoyanov <rstoyanov@fedoraproject.org>
2024-06-21 05:52:40 +01:00
Alexander Clifford
c22ae53d31 docs: Adds all PushImage supported paramters to openapi docs.
Signed-off-by: Alexander Clifford <alexandersinbox@gmail.com>
2024-06-20 15:52:29 -07:00
Ed Santiago
3f785e8735 systests: kube: bump up a timeout
PR #22821 (CI speedup) was overly aggressive in one kube test.
It's flaking. Bump up timeout from 3s to 4.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-06-20 14:37:25 -06:00
openshift-merge-bot[bot]
298f31ba6f Merge pull request #23058 from edsantiago/bump-vms
CI VMs: bump
2024-06-20 20:26:01 +00:00
openshift-merge-bot[bot]
fdaef4609f Merge pull request #23029 from ygalblum/quadlet-template-unescaped
Quadlet - use specifier for unescaped values for templated container name
2024-06-20 18:47:01 +00:00
openshift-merge-bot[bot]
48e1efbe82 Merge pull request #23030 from Luap99/CI-cond
cirrus.yml: implement skips based on source changes
2024-06-20 18:16:46 +00:00
openshift-merge-bot[bot]
f6be78d2c6 Merge pull request #23053 from mariushoch/main
sqlite_state: Fix RewriteVolumeConfig
2024-06-20 17:32:45 +00:00
Paul Holzinger
f134ab77bc cirrus.yml: add CI:ALL mode to force all tests
Now that we have source based skips there might be a case where we have
to run all tests. One option is to simply change a line in one of the
danger files but having something that can be set as title might be
easier for users.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-06-20 19:10:02 +02:00
Paul Holzinger
d9183f0587 cirrus.yml: implement skips based on source changes
We do not have to test everything for each PR, we can know based on the
source if we changed (i.e. machine code) and only run the tests then.

This implements it as skip conditions, due to the nature of yaml files
we unfortunately cannot deduplicate everything, i.e. the is PR check and
danger files apply to everything but as skip is only a single yaml
string we cannot deduplicate parts of that string. If anyone knows a way
to achieve this I like to hear it.

For now I implemented this for int, system, bud and machine tests. Once
we are more comfortable with this I plan on adding it to other tests as
well.

This will replace the current _bail_if_test_can_be_skipped logic as it
covers more, marks tasks actually skipped in the github UI and works
even for the windows/macos machine tests.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-06-20 19:10:02 +02:00
Ed Santiago
2f680eb4b5 CI VMs: bump
Built in: https://github.com/containers/automation_images/pull/361

Main changes:
 - lots of package bumps, see link above. Most important
   is debian systemd, which should fix the XDG bug in 256-rc3
 - workaround for rawhide IMA (signed rpms) issue
 - rawhide now includes composefs

Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-06-20 10:50:06 -06:00
Radostin Stoyanov
7dc288dbed restore: fix container restore into pod
Currently, when Podman restores a container into a Pod, it always fails
with the following error:

    Error: cannot add container f96670b26e53e70f7f451191ea39a093c940c6c48b47218aeeef1396cb860042 to pod h2-pod: no such pod

This error occurs because r.state.Pod() is called in setupContainer()
with the Pod name instead of ID. This patch fixes this problem by
setting ctrConfig.Pod to pod.ID().

Reported-by: Stanislav Kosorin <stanokosorin4@gmail.com>
Signed-off-by: Radostin Stoyanov <rstoyanov@fedoraproject.org>
2024-06-20 13:24:53 +01:00
openshift-merge-bot[bot]
a2bf49abb8 Merge pull request #23047 from containers/renovate/setuptools-70.x
chore(deps): update dependency setuptools to ~=70.1.0
2024-06-20 12:21:59 +00:00
Marius Hoch
6dd9abf9ec sqlite_state: Fix RewriteVolumeConfig
The VolumeConfig table does not have an ID column, thus
use the Name column to update it.

Fixes #23052

Signed-off-by: Marius Hoch <mail@mariushoch.de>
2024-06-20 11:39:44 +02:00
renovate[bot]
83549ba11f chore(deps): update dependency setuptools to ~=70.1.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-19 13:37:57 +00:00
Ygal Blum
91a5c0de2a Quadlet - use specifier for unescaped values for templated container name
The escaped version replaces - with / which creates an invalid container name
See https://github.com/containers/podman/issues/22874#issuecomment-2175559746

Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2024-06-19 14:44:21 +03:00
openshift-merge-bot[bot]
b8d95a5893 Merge pull request #23024 from containers/renovate/github.com-containernetworking-plugins-1.x
Update module github.com/containernetworking/plugins to v1.5.1
2024-06-18 15:01:34 +00:00
openshift-merge-bot[bot]
5b62c2cc2b Merge pull request #23021 from containers/renovate/github.com-checkpoint-restore-checkpointctl-1.x
Update module github.com/checkpoint-restore/checkpointctl to v1.2.1
2024-06-18 14:58:51 +00:00
openshift-merge-bot[bot]
b869efae52 Merge pull request #22909 from Luap99/fast-system-test-4
test/system: speed up basic_{setup,teardown}()
2024-06-18 12:57:52 +00:00
Paul Holzinger
0eaec1a2e9 cirrus: check for system test leaks in nightly
The leak check is slower (over 5mins) so we do not wnat them on PR runs
to speed system tests up. However that opens the door for someone to add
a test which forgets to do the correct cleanup themselves. This might
not cause a fatal error right away and only later when new tests would
be added. To prevent this happening the nighlty run will check leaks so
that we can fix them quickly and not notice them months/years later when
a new test is added that might trip over it.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-06-18 11:06:52 +02:00
Paul Holzinger
4e0cd49148 test/system: check for leaks in teardown suite
At the end of all tests always check for leaks. That should make us more
robust against adding tests at the end that would leak stuff otherwise.

TODO: something seems wrong with bats when returning an error in
teardown_suite(), it prints a warning:
bats warning: Executed <NUM+1> instead of expected <NUM> tests
And also the output is formatted weirdly in this case where the podman
args are split over multiple lines.
But the test fails as expected so I don't think it is a problem.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-06-18 11:06:51 +02:00
Paul Holzinger
81c90f51c2 test/system: speed up basic_{setup,teardown}()
While these are not really slow they still take about 100-250ms if I
time this locally. Given they are run for every test this adds up
quickly. Looking at CI logs I can see the timings for skipped
tests are all in 600ms range. So I think it is safe to assume that these
functions need to get faster.

We have over 670 test cases currently so we talk about over 400s spend
in these functions in CI. This allows for big gains.

Now overall this is a tricky trade of, while all tests should cleanup
after themselves there is no guarantee for that as such errors can be
leaked into other tests making debugging much harder. To work at least a
bit against this teardown checks if the test was successful and only
skips the podman commands bases on that. Without it a single flake could
cause all following tets to fail.

As such this commit does the proper setup once one suite start then only
after a test failed.

In order for this to work at all we have to fix all leaks first, see
previous commits. And then for the future keep a very strong eye on
this during reviews.

Also add a PODMAN_BATS_LEAK_CHECK option

By default test must cleanup themselves and to speed up CI we no longer
do any cleanup in teardown by default. However there is still many cases
where we might have to debug a leak so add a new PODMAN_BATS_LEAK_CHECK
env option that can be set and should cause teardown to fail if the test
did not cleanup properly.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-06-18 11:06:50 +02:00
Paul Holzinger
a2352fa3ea test/system: fix up many tests that do not cleanup
All tests should cleanup themselves and not leak stuff.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-06-18 11:06:49 +02:00
Paul Holzinger
e9c6cd1559 test/system: fix podman --authfile=nonexistent-path
Remove leaking containers and remove unessesary push/pull args. For push
it tries to push an image as argument which makes no sense and for pull
we try to pull argument as image which is also wrong.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-06-18 11:06:47 +02:00
renovate[bot]
f611ac9304 Update module github.com/containernetworking/plugins to v1.5.1
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-17 21:28:37 +00:00
openshift-merge-bot[bot]
afe55cded0 Merge pull request #23006 from containers/renovate/github.com-gorilla-schema-1.x
Update module github.com/gorilla/schema to v1.4.0
2024-06-17 19:38:02 +00:00
renovate[bot]
043ce618bc Update module github.com/checkpoint-restore/checkpointctl to v1.2.1
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-17 19:36:33 +00:00
openshift-merge-bot[bot]
86bab1bb74 Merge pull request #23005 from containers/renovate/github.com-spf13-cobra-1.x
Update module github.com/spf13/cobra to v1.8.1
2024-06-17 19:35:16 +00:00
renovate[bot]
f4aa71e730 Update module github.com/spf13/cobra to v1.8.1
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-17 18:07:20 +00:00
renovate[bot]
0627fce798 Update module github.com/gorilla/schema to v1.4.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-17 18:05:54 +00:00
openshift-merge-bot[bot]
67bbbb9e94 Merge pull request #23017 from Luap99/wsl-error
pkg/machine/wsl: wrap command errors
2024-06-17 17:34:17 +00:00
Paul Holzinger
5c1e5cd026 pkg/machine/wsl: force terminate wsl instance
We do a soft stop via systemd to allow graceful shutdown behavior.
Hoewever for unknown reason we are hitting such a case in CI right now.
Regardless of the CI issue we should always to the hard terminate in
such case so only log the timeout as warning.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-06-17 17:52:01 +02:00
Paul Holzinger
bd906cb314 pkg/machine/wsl: wrap command errors
First of some commands ignored cmd.Wait() error which means it was
impossible to notice any command errors. And others only returned
the wait error as it which when a command fails is just
`exit status <code>` which is not helpful at all.

This commit should add proper error wrapping with stderr to get useful
strings back hopefully.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-06-17 17:46:23 +02:00
openshift-merge-bot[bot]
aa2bbeea48 Merge pull request #23010 from ygalblum/quadlet-doc-relative-path
[CI:DOCS] Quadlet - add note about relative path resolution
2024-06-17 15:30:58 +00:00
Ygal Blum
dca94be028 [CI:DOCS] Quadlet - add note about relative path resolution
Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2024-06-17 17:32:34 +03:00
Matt Heon
f269485295 Merge pull request #23013 from Luap99/fix-CI
CI: do not install python packages at runtime
2024-06-17 08:48:16 -04:00
Paul Holzinger
c20767120f CI: do not install python packages at runtime
No idea why we need them, it passes without them so I just remove them.
Currently CI is broken as this install is failing on rawhide for some
reason. I don't know what changed there but this is working and unblocks
CI so I like to get this in.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-06-17 13:03:25 +02:00
openshift-merge-bot[bot]
1d339e4ae3 Merge pull request #22999 from cevich/candidate_release
[skip-ci] Release workflow: Include candidate descriptor
2024-06-14 16:52:34 +00:00
Chris Evich
54edf3d8ee Release workflow: Include candidate descriptor
Assist humans by indicating clearly whe a release announcement is
pertaining to a candidate.  Otherwise, it's possible someone may
overlook the `-rcX` version suffix.

Also fix a quoting problem missed in testing.

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-06-13 17:22:03 -04:00
Ashley Cui
26370c95b7 Merge pull request #22988 from cevich/send_release_mail
[skip-ci] GHA: Send release notification mail
2024-06-13 13:30:29 -04:00
Chris Evich
19989380b8 Minor: Fix indentation in GHA release workflow
Simply indent list items two spaces to the right WRT their parent.

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-06-13 10:49:37 -04:00
Chris Evich
82973c38e4 GHA: Send release notification mail
Rather than manually crafting what ends up being nearly identical
release e-mails, do it automatically whenever a release is created.

Note: At the time of this commit, there is a possible race condition
with the `mac-pkg.yml` workflow, since it runs in parallel.  It could
fail, or fail to complete prior to the e-mail content being generated.
This should be unlikely, if `release-artifacts.yml` goes through and
compiles every artifact, but it's not guaranteed.

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-06-13 10:48:14 -04:00
Chris Evich
ad56dc7e2b GHA: Validate release version number
There's a reasonable chance this workflow will be triggered by a human
(via `workflow_dispatch``), and a non-zero chance with an invalid
version number for which a release should not be created.  Detect this
and provide a way for the operator to debug the source of the error.

Also fix some whitespace inconsistencies.

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-06-13 10:47:26 -04:00
openshift-merge-bot[bot]
00bcd9aa81 Merge pull request #22733 from nalind/system-check
Add `podman system check`
2024-06-13 10:35:56 +00:00
openshift-merge-bot[bot]
6180052534 Merge pull request #22983 from edsantiago/exitwitherror-continued
ExitWithError, continued
2024-06-13 10:27:47 +00:00