16112 Commits

Author SHA1 Message Date
cfa089c361 pkg/autoupdate: s/updateImage/pullImage/
"pull" is more expressive.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-08-04 13:07:58 +02:00
13a8ebd09f pkg/autoupdate: repull image if other containers failed
If two containers use the same image and one rolled back (i.e., tagged
the old image again), make sure to repull the image for the other
container.

Once an image has caused a rollback, it may be worth marking this image
as broken and not update any other container using it but that is
outside of the scope.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-08-04 13:07:58 +02:00
2c999f1ecb pkg/autoupdate: update unit-by-unit
Change the auto-update logic to update unit-by-unit rather by policy.
This allows for, in theory now and in practice later, to have mutliple
containers run in a single systemd unit and update them in sequence
before restarting the unit.

[NO NEW TESTS NEEDED] - should not change behavior.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-08-04 13:07:58 +02:00
f8b6a81ae4 test/system/255-auto-update.bats: add an SELinux comment
Drop a comment on using `chcon` to let the local rollback test pass.
It took me a while to understand why the test failed and future souls
may appreciated the extra breadcrumb.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-08-04 13:07:58 +02:00
87c0c760ec pkg/autoupdate: introduce the notion of a task
A `task` includes data and state for updating a given container image.
It will come in handy in future changes, but we are going there in
baby steps to have smaller incremental changes.

[NO NEW TESTS NEEDED] - should not change behaviour.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-08-04 13:07:58 +02:00
033cc059fa pkg/autoupdate: remove redundant branch
[NO NEW TESTS NEEDED] - should not change behavior.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-08-04 13:07:58 +02:00
328c8ba7b4 pkg/autoupdate: move policy map into updater
[NO NEW TESTS NEEDED] - should not change behavior.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-08-04 13:07:58 +02:00
d476097739 pkg/autoupdate: introduce updater for shared state
Introduce an `updater` type to allow for sharing state.
This will be more useful for future changes.

[NO NEW TESTS NEEDED] as it does not change behavior.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-08-04 13:07:58 +02:00
ccbb8e7444 Merge pull request #15145 from cevich/ec2_get_ci_vm
[CI:DOCS] Cirrus: Support EC2 instances in hack/get_ci_vm.sh
2022-08-04 11:02:00 +00:00
1638218d1b Merge pull request #15158 from cdoern/secrets
add omitempty to Secret in k8s VolumeSource
2022-08-04 07:01:51 -04:00
8f3f683a31 Merge pull request #15188 from Luap99/docs
fix hack/markdown-preprocess to support older python versions
2022-08-04 10:49:00 +00:00
79b10a7c6a readthedocs(sphinx): run the markdown preprocessor
When docs.podman.io is build on readthedocs we have to make sure to
generate the markdown pages first.

It works locally with sphinx but I have no idea if this works on the
readthedocs infra.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-08-04 11:46:54 +02:00
65fb90165a hack/markdown-preprocess: allow to be executed from any dir
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-08-04 10:57:31 +02:00
031b7dec71 fix hack/markdown-preprocess to support older python versions
str.removeprefix() and str.removesuffix() is python 3.9+ only but we need to
support older versions for the OSX cross task.

This fixes broken CI on main.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-08-04 10:26:18 +02:00
ea7c979647 Merge pull request #15068 from n1hility/wsl-as-user
Default to rootless via Windows WSL prompt / Lock to WSL2
2022-08-04 01:51:36 +00:00
7df8d80508 add omitempty to Secret in k8s VolumeSource
Secret was populating a generated kube as `null`. Add omitempty
so that when the volume source is not a secret, we do not print unnecessary info

resolves #15156

Signed-off-by: Charlie Doern <cdoern@redhat.com>
2022-08-03 16:42:28 -04:00
549974d97e Merge pull request #15174 from edsantiago/docs_dedup_phase1
[CI:DOCS] Refactor common options in man pages
2022-08-03 20:29:02 +00:00
328eb2b4ca Cirrus: Remove disused env. var.
Hasn't been used for quite a while.  Remove it and associated comments.

Signed-off-by: Chris Evich <cevich@redhat.com>
2022-08-03 15:38:04 -04:00
1e4a141d88 Cirrus: Support EC2 instances in hack/get_ci_vm.sh
***Depends on:***
https://github.com/containers/automation_images/pull/160

Signed-off-by: Chris Evich <cevich@redhat.com>
2022-08-03 14:25:09 -04:00
0f002c1600 Merge pull request #15105 from anjannath/sign-qemu
Add steps to sign included qemu and notarize the built pkg
2022-08-03 17:55:57 +00:00
5fc7339aa1 Merge pull request #15084 from sstosh/rm-filter
Add rm --filter option
2022-08-03 17:23:07 +00:00
44212b90bb pkginstaller: makefile improvements to avoid redownloading
this updates downloading of gvproxy and qemu using a standard
makefile rule which will avoid downloading them again if  its
already downloaded

[NO NEW TESTS NEEDED]

Signed-off-by: Anjan Nath <kaludios@gmail.com>
2022-08-03 21:20:10 +05:30
e6670cd297 pkginstaller: add makefile target to notarize the built pkg
[NO NEW TESTS NEEDED]

Signed-off-by: Anjan Nath <kaludios@gmail.com>
2022-08-03 21:20:10 +05:30
c5029d2eea pkginstaller: sign qemu-system-* binary for the pkg
add file hvf.entitlements which has the com.apple.security.hypervisor
entitlement needed for qemu

[NO NEW TESTS NEEDED]

Signed-off-by: Anjan Nath <kaludios@gmail.com>
2022-08-03 21:20:10 +05:30
c1a38eb773 Merge pull request #15161 from lsm5/switch-to-dnf
Cirrus: use dnf instead of rpm to install packages
2022-08-03 15:14:22 +00:00
e54dac4dc6 Merge pull request #15166 from sstosh/ci-mount-rootless
Cirrus: Fix e2e tests for "mount_rootless_test"
2022-08-03 13:55:25 +00:00
56039cffd7 Refactor common options in man pages
podman-create and -run have many options in common. To date,
these are copy-pasted and haphazardly maintained.

Solution: add an include mechanism, '@@option foo', such
that multiple md source files can fetch from one common file.

This is a Phase One commit, a very small subset of what's
possible. Purpose of this commit is ease of review. If this
passes review, much more (trickier stuff) will be forthcoming.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-08-03 06:53:33 -06:00
50981cb846 skip pod resource limits test on aarch64
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2022-08-03 08:29:59 -04:00
1dbd61653d Cirrus: Fix e2e tests for "mount_rootless_test"
e2e `mount_rootless_test` did not load `podman binary path` successfully.
This PR fix this problem.

[It] podman unshare podman mount:
```
[+1596s] Running: ... unshare  mount <cid>
[+1596s] Error: exec: no command
[+1596s] output:
```

[It] podman unshare image podman mount:
```
[+1599s] Running: ... unshare  image mount quay.io/libpod/alpine:latest
[+1599s] Error: exec: no command
[+1599s] output:
```

Signed-off-by: Toshiki Sonoda <sonoda.toshiki@fujitsu.com>
2022-08-03 17:01:18 +09:00
1139cd9b81 Merge pull request #14974 from nicrowe00/kubedown1
add "podman kube down" command
2022-08-03 07:56:13 +00:00
3a7a275c34 Cirrus: use dnf instead of rpm to install packages
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2022-08-02 14:19:48 -04:00
1249cbb75f add "podman kube down" command
The "podman kube down" reads in a structured file of
Kubernetes YAML and removes pods based on the Kubernetes kind described in the YAML,
similiar to "podman play kube --down". Users will still be able to use
"podman play kube --down" and "podman kube play --down" to
perform the same function.

Signed-off-by: Niall Crowe <nicrowe@redhat.com>
2022-08-02 16:27:01 +01:00
c09457e34a Merge pull request #15119 from nicrowe00/15071
switch from "kube/play" endpoint to "play/kube" endpoint.
2022-08-02 16:01:23 +02:00
080cbf1d95 Merge pull request #15136 from Luap99/systemd-generate-hostname
podman generate systemd --new: allow -h hostname
2022-08-02 15:58:50 +02:00
c5150a571e Add support, and default to rootless w/WSL prompt
Also force installation to use WSL2 to prevent accidental usage of WSL1

Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
2022-08-02 06:55:48 -05:00
bce16a58de Disable F36 service that is incompat with WSL kern
(requires psi)

Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
2022-08-02 06:55:48 -05:00
69d7407afb switch from "kube/play" endpoint to "play/kube" endpoint.
When podman kube play was added the endpoint for the kube play/play kube
commands was switched from the "play kube" endpoint to the new "kube play"
endpoint. This caused issues with the remote client, requiring the need
to use the "play kube" endpoint again in order to avoid these issues.

Signed-off-by: Niall Crowe <nicrowe@redhat.com>
2022-08-02 12:09:59 +01:00
2685c8dc43 Output messages display rawInput
`init`, `checkpint/restore` and `cleanup` command now display
output messages which is rawInput instead of a container ID.

Example:
```
$ podman init <container name>
<container name>

$ podman init <short container ID>
<short container ID>
```

Signed-off-by: Toshiki Sonoda <sonoda.toshiki@fujitsu.com>
2022-08-02 18:28:37 +09:00
47a814aa6d Merge pull request #15097 from flouthoc/check-common-manifest-inspect
manifest,test: `inspect` should contain `OCI` annotations.
2022-08-02 10:55:16 +02:00
4dfef202cf podman generate systemd --new: allow -h hostname
podman run/create can accept `-h <hostname>` as argument. When parsing
flags -h throws an help requested error from pflag. To prevent this
error we have to define the help flag.

Fixes #15124

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-08-02 08:58:40 +02:00
5ab98f2c07 test: verify manifest inspect must contain OCI annotations
Signed-off-by: Aditya R <arajan@redhat.com>
2022-08-01 21:47:04 +05:30
30cc6dbf08 Merge pull request #15139 from vrothberg/fix-ci
fix e2e sign tests
2022-08-01 17:28:58 +02:00
3a05ddfb73 fix e2e sign tests
The key used in the tests has expired.  Remove the expiration date to
turn CI happy and green.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-08-01 16:21:55 +02:00
034de2948a Merge pull request #15127 from Zocker1999NET/patch-1
[CI:DOCS] man podman-volume-import: Clarify that merge happens
2022-08-01 15:21:04 +02:00
82137dc64e Merge pull request #15108 from mtrmac/sigstore-sign
Sigstore sign
2022-08-01 13:35:43 +02:00
271a9f45a4 Merge pull request #15056 from Luap99/generate-systemd-sdnotify
podman generate systemd: handle --sdnotify correctly
2022-08-01 11:34:17 +02:00
f5f7909932 Merge pull request #15125 from Romain-Geissler-1A/fix-manifest-push
[Closes 15109] Add flag "--compression-format" to "podman manifest push" (and other fixes)
2022-08-01 09:50:52 +02:00
6c69a2ea11 podman-volume-import: Reword "precendence"
Signed-off-by: Felix Stupp <me+github@banananet.work>
2022-07-31 20:34:14 +00:00
c21306f061 man podman-volume-import: Clarify that merge happens
Current directories and files stay the same with the current implementation as long as the tarball does not contain a directories or files with the same name.

Signed-off-by: Felix Stupp <me+github@banananet.work>
2022-07-30 19:02:14 +00:00
d462da676c Add support for creating sigstore signatures, and providing passphrases
- Allow creating sigstore signatures via --sign-by-sigstore-private-key .
  Like existing --sign-by, it does not work remote (in this case
  because we would have to copy the private key to the server).
- Allow passing a passphrase (which is mandatory for sigstore private keys)
  via --sign-passphrase-file; if it is not provided, prompt interactively.
- Also, use that passphrase for --sign-by as well, allowing non-interactive
  GPG use. (But --sign-passphrase-file can only be used with _one of_
  --sign-by and --sign-by-sigstore-private-key.)

Note that unlike the existing code, (podman build) does not yet
implement sigstore (I'm not sure why it needs to, it seems not to
push images?) because Buildah does not expose the feature yet.

Also, (podman image sign) was not extended to support sigstore.

The test for this follows existing (podman image sign) tests
and doesn't work rootless; that could be improved by exposing
a registries.d override option.

The test for push is getting large; I didn't want to
start yet another registry container, but that would be an
alternative.  In the future, Ginkgo's Ordered/BeforeAll
would allow starting a registry once and using it for two
tests.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2022-07-30 17:26:08 +02:00