Commit graph

23873 commits

Author SHA1 Message Date
Ygal Blum
40f21da0c6
Apply suggestions to man page
Change podman to Podman
Add a period at the end of all sentences

Co-authored-by: Valentin Rothberg <vrothberg@redhat.com>
Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2023-02-21 15:37:58 +02:00
Valentin Rothberg
adacd3b127 vendor c/common@852ca05a1f
Also force an update of c/image to prevent a downgrade.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2023-02-21 14:06:42 +01:00
Ygal Blum
6a3757b73a Quadlet: Add support for LogDriver key in container and kube units
Allow the user to set the log driver while keeping the default of passthrough

Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2023-02-21 11:56:35 +02:00
OpenShift Merge Robot
bac20d1917
Merge pull request #17584 from baude/machinerefactor1
machine refactoring preparations for hyperv
2023-02-20 22:24:41 +01:00
Brent Baude
ebb45b5bdd machine refactoring preparations for hyperv
before we can support hyperv as a virtualization option for podman
machine, several areas in machine will require cleanup.  this is the
first pass of these changes to keep the review burden low.  changes
include:

  * convert artifact, format (image format) and compression to enums
    with string methods
  * rename Provider interface to VirtProvider
  * change Provider implementation in QEMU to QEMUVirt
  * change Provider implementation in WSL to WSLVirt

as mentioned earlier, there will be several more of these refactoring
PRs because assumptions were made about associations of platforms and
virt providers as well as compression and image formats.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2023-02-20 13:43:49 -06:00
Giuseppe Scrivano
af8d649da7
libpod: always use direct mapping
always use the direct mapping when writing the mappings for an
idmapped mount.  crun was previously using the reverse mapping, which
is not correct and it is being addressed here:

https://github.com/containers/crun/pull/1147

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2023-02-20 18:34:11 +01:00
OpenShift Merge Robot
562c033a31
Merge pull request #17574 from containers/dependabot/go_modules/github.com/vbauerster/mpb/v8-8.2.0
build(deps): bump github.com/vbauerster/mpb/v8 from 8.1.6 to 8.2.0
2023-02-20 16:40:07 +01:00
OpenShift Merge Robot
d10af21e14
Merge pull request #17502 from Luap99/passthrough-logs
podman logs: read journald with passthrough
2023-02-20 16:37:04 +01:00
OpenShift Merge Robot
80c5896fbc
Merge pull request #17375 from containers/dependabot/go_modules/github.com/container-orchestrated-devices/container-device-interface-0.5.4
build(deps): bump github.com/container-orchestrated-devices/container-device-interface from 0.5.3 to 0.5.4
2023-02-20 16:34:33 +01:00
OpenShift Merge Robot
b5ef99d8db
Merge pull request #17309 from dwagin/dwagin/ssh_exec_identity
podman image scp: added identity for ssh.Exec
2023-02-20 16:31:57 +01:00
OpenShift Merge Robot
a4f7bdcce0
Merge pull request #17576 from edsantiago/manpage_check
make docs: sanity check for broken man pages
2023-02-20 16:24:04 +01:00
OpenShift Merge Robot
cdd755d20e
Merge pull request #17529 from containers/dependabot/go_modules/github.com/containerd/containerd-1.6.18
build(deps): bump github.com/containerd/containerd from 1.6.16 to 1.6.18
2023-02-20 16:16:04 +01:00
Paul Holzinger
9dc730d9f3
netavark: only use aardvark ip as nameserver
Since commit 06241077cc we use the aardvark per container dns
functionality. This means we should only have the aardvark ip in
resolv.conf otherwise the client resolver could skip aardvark, thus
ignoring the special dns option for this container.

Fixes #17499

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-02-20 15:56:17 +01:00
OpenShift Merge Robot
59fff50a8e
Merge pull request #17573 from containers/dependabot/go_modules/github.com/onsi/gomega-1.27.1
build(deps): bump github.com/onsi/gomega from 1.27.0 to 1.27.1
2023-02-20 15:30:30 +01:00
dependabot[bot]
e9942c61dd build(deps): bump github.com/container-orchestrated-devices/container-device-interface
Bumps [github.com/container-orchestrated-devices/container-device-interface](https://github.com/container-orchestrated-devices/container-device-interface) from 0.5.3 to 0.5.4.
- [Release notes](https://github.com/container-orchestrated-devices/container-device-interface/releases)
- [Commits](https://github.com/container-orchestrated-devices/container-device-interface/compare/v0.5.3...v0.5.4)

---
updated-dependencies:
- dependency-name: github.com/container-orchestrated-devices/container-device-interface
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

[NO NEW TESTS NEEDED]

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2023-02-20 14:51:04 +01:00
OpenShift Merge Robot
a9ec6492e8
Merge pull request #17536 from cevich/fix_version_check_cron
[CI:DOCS] Cirrus: Fix version-check to only run on `main` job
2023-02-20 14:45:29 +01:00
Paul Holzinger
79a05ca2b4
podman logs passthrough driver support --cgroups=split
When run with --cgroups=split mode (e.g. quadlet) we do not use the a
separate cgroup for the container and just run in the unit cgroup.
When we filter logs we thus must match the unit name.
Added a small test to the quadlet test to make sure it will work.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-02-20 13:58:16 +01:00
Paul Holzinger
d7e96536ee
journald logs: simplify entry parsing
It makes little sense to create a log line string from the entry just to
parse it again into a LogLine. We have the typed fields so we can
assemble the logLine direclty, this makes things simpler and more
efficient.

Also entries from the passthrough driver do not use the CONTAINER_ID_FULL
field, instead we can just access c.ID() directly.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-02-20 13:58:15 +01:00
Paul Holzinger
1590c7bf42
podman logs: read journald with passthrough
The passthrough driver is designed for use in systemd units. By default
we can expect systemd to log the output on journald unless the unit sets
differen StandardOutput/StandardError settings.

At the moment podman logs just errors out when the passthrough driver is
used. With this change we will read the journald for the unit messages.
The logic is actually very similar to the existing one, we just need to
change the filter. We now filter by SYSTEMD_UNIT wich equals to the
contianer cgroup, this allows us the actually filter on a per contianer
basis even when multiple contianers are started in the same unit, i.e.
via podman-kube@.service.

The only difference a user will see is that journald will merge
stdout/err into one stream so we loose the separation there.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-02-20 13:58:12 +01:00
Ed Santiago
5754df806c make docs: sanity check for broken man pages
A recent commit to an included option file resulted in
completely broken man pages, where the markdown processor
just choked and sent the "included file blah blah" markdown
straight through to the nroff source. Hilarity ensued.

The string "included file options/" should never appear
in nroff. This adds a last-minute check to make sure
a similar error never happens again.

(As suggested by @Luap99 we should also add validators for
markdown and/or nroff.)

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-02-20 05:52:24 -07:00
dependabot[bot]
5056bd45f8
build(deps): bump github.com/vbauerster/mpb/v8 from 8.1.6 to 8.2.0
Bumps [github.com/vbauerster/mpb/v8](https://github.com/vbauerster/mpb) from 8.1.6 to 8.2.0.
- [Release notes](https://github.com/vbauerster/mpb/releases)
- [Commits](https://github.com/vbauerster/mpb/compare/v8.1.6...v8.2.0)

---
updated-dependencies:
- dependency-name: github.com/vbauerster/mpb/v8
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-20 12:20:18 +00:00
dependabot[bot]
5fcd2c3fae
build(deps): bump github.com/onsi/gomega from 1.27.0 to 1.27.1
Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.27.0 to 1.27.1.
- [Release notes](https://github.com/onsi/gomega/releases)
- [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md)
- [Commits](https://github.com/onsi/gomega/compare/v1.27.0...v1.27.1)

---
updated-dependencies:
- dependency-name: github.com/onsi/gomega
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-20 12:19:32 +00:00
OpenShift Merge Robot
37352a0c8c
Merge pull request #17550 from containers/dependabot/go_modules/github.com/onsi/gomega-1.27.0
build(deps): bump github.com/onsi/gomega from 1.26.0 to 1.27.0
2023-02-20 12:57:33 +01:00
OpenShift Merge Robot
b8b386b7ea
Merge pull request #17522 from giuseppe/relative-idmapping
libpod: support relative positions for idmaps
2023-02-20 12:54:45 +01:00
OpenShift Merge Robot
8d9517c38f
Merge pull request #17508 from vrothberg/fix-17181
auto-update: support pods
2023-02-20 12:51:43 +01:00
OpenShift Merge Robot
4ffaa2a7c8
Merge pull request #17564 from lioutall/main
Update remote_client.md
2023-02-20 12:48:50 +01:00
danishprakash
2659a3228a
kube: rm secret on down, print secret on play
Signed-off-by: danishprakash <danish.prakash@suse.com>
2023-02-20 16:24:40 +05:30
OpenShift Merge Robot
2e0ee6ed50
Merge pull request #17561 from TomSweeneyRedHat/dev/tsweeney/optionreadme
[CI:DOCS] Add restriction to option README
2023-02-19 20:56:58 +01:00
OpenShift Merge Robot
7c15d8e16f
Merge pull request #17566 from rahilarious/main
[CI:DOCS] Fix spacing typo & indent units in podman-systemd.unit(5)
2023-02-19 19:24:17 +01:00
OpenShift Merge Robot
157177008e
Merge pull request #17547 from Luap99/no-init-journal
journald: remove initializeJournal()
2023-02-19 19:21:57 +01:00
Rahil Bhimjiani
9ce589a4a8
Fix spacing typo that triggered OCD & indent units in podman-systemd.unit(5)
Signed-off-by: Rahil Bhimjiani <rahil3108@gmail.com>
2023-02-19 19:56:35 +05:30
lioutall
ad866fecb5
Update remote_client.md
ssh user name should be used here

Signed-off-by: lioutall <lioutall@163.com>
2023-02-18 23:54:41 +08:00
tomsweeneyredhat
e74f60deea [CI:DOCS] Add restriction to option README
Add a note about the restriction of the use of
thre back-ticks in the md files in the options directory.
If this is not done properly, it can quietly corrupt
the compliled man pages.

[NO NEW TESTS NEEDED]
Signed-off-by: tomsweeneyredhat <tsweeney@redhat.com>
2023-02-17 16:29:55 -05:00
OpenShift Merge Robot
ed03493487
Merge pull request #17554 from cevich/revert_unstuck_ci
[CI:BUILD] Revert "CI: Temporarily disable all AWS EC2-based tasks"
2023-02-17 19:41:21 +01:00
Chris Evich
975b096bc9
Revert "CI: Temporarily disable all AWS EC2-based tasks"
This reverts commit 7f8bc6f510.

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-02-17 10:07:13 -05:00
OpenShift Merge Robot
f9b066ff38
Merge pull request #17548 from vrothberg/fix-17482
kube play: only enforce passthrough in Quadlet
2023-02-17 16:00:55 +01:00
OpenShift Merge Robot
445f72d35a
Merge pull request #17544 from edsantiago/emergency_man_fix
Emergency fix for man pages: check for broken includes
2023-02-17 15:37:39 +01:00
dependabot[bot]
22a207d453
build(deps): bump github.com/onsi/gomega from 1.26.0 to 1.27.0
Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.26.0 to 1.27.0.
- [Release notes](https://github.com/onsi/gomega/releases)
- [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md)
- [Commits](https://github.com/onsi/gomega/compare/v1.26.0...v1.27.0)

---
updated-dependencies:
- dependency-name: github.com/onsi/gomega
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-17 12:59:10 +00:00
OpenShift Merge Robot
b55df7f151
Merge pull request #17538 from edsantiago/system_test_assert
System tests: assert(): friendlier failure messages
2023-02-17 12:04:56 +01:00
Valentin Rothberg
c95978f600 kube play: only enforce passthrough in Quadlet
Only enforce the passthrough log driver for Quadlet. Commit 68fbebf
introduced a regression on the `podman-kube@` template as `podman logs`
stopped working and settings from containers.conf were ignored.

Fixes: #17482
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2023-02-17 11:57:10 +01:00
OpenShift Merge Robot
f9af49622d
Merge pull request #17464 from hasan4791/issue-16711
[FEAT] Support sysctl configurations from Pod Spec
2023-02-17 11:41:49 +01:00
Paul Holzinger
21cddd7235
journald: remove initializeJournal()
This was added as hack in commit 6b06e9b77c because the journald logs
code was not able to handle an empty journal. But since commit
767947ab88 this is no longer the case, we correctly use the sd_journal
API and know when the journal is empty.

Therefore we no longer need this hack and it should be removed because
it just adds overhead and an empty journal entry for no good reason.

[NO NEW TESTS NEEDED]

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-02-17 11:24:18 +01:00
OpenShift Merge Robot
33622f7df4
Merge pull request #17527 from lsm5/copr-fixes
[CI:BUILD] copr: podman.spec.rpkg cleanups
2023-02-17 10:49:54 +01:00
Valentin Rothberg
6dd7978442 auto-update: support pods
Support auto updating containers running inside pods.  Similar to
containers, the systemd units need to be generated via
`podman-generate-systemd --new $POD` to generate the pod's units.

Note that auto updating a container inside a pod will restart the entire
pod.  Updates of multiple containers inside a pod are batched, such that
a pod is restarted at most once.  That is effectively the same mechanism
for auto updating containers in a K8s YAML via the `podman-kube@`
template or via Quadlet.

Updating a single container unit without restarting the entire pod is
not possible.  The reasoning behind is that pods are created with
--exit-policy=stop which will render the pod to be stopped when auto
updating the only container inside the pod.  The (reverse) dependencies
between the pod and its containers unit have been carefully selected for
robustness.  Changes may entail undesired side effects or backward
incompatibilities that I am not comfortable with.

Fixes: #17181
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2023-02-17 10:31:28 +01:00
Ed Santiago
9622d25be9 Emergency fix for man pages: check for broken includes
Somehow the options/secret.md file generated corrupt md which
then generated corrupt .man files. Fix, and add a Makefile
check to prevent this from happening again.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-02-16 18:54:38 -07:00
Ed Santiago
c81fbd5d0a System tests: assert(): friendlier failure messages
...safer, too: the big change is using 'mapfile' to split
multiline strings; this preserves empty lines, making it
easy to see spurious (or missing) blank lines in output.

Another change is to indent the expected-output string
consistently, for readability.

Then, to handle \r (CR) and other control characters, use
bash %q to format special chars. But %q makes\ it\ hard\ to
read\ lines\ with\ spaces, so strip off those backslashes.
This makes assert() much larger and uglier, but this is
code that shouldn't be touched often.

Finally, because these are big changes to critical code,
write a complicated regression test suite for assert().

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-02-16 17:47:10 -07:00
OpenShift Merge Robot
71f3e9834b
Merge pull request #17541 from cevich/unstuck_ci
CI: Temporarily disable all AWS EC2-based tasks
2023-02-16 18:59:53 -05:00
Chris Evich
761da776a5
Cirrus: Fix version-check to only run on main job
A conditional in `version-check` bypasses the test for PRs.  However,
it appears it was intended to execute during the daily cirrus-cron runs.
However, the cron-job it references (`nightly`) doesn't exist.  This is
causing the test to run for every merge into `main`, and never run for
`main` branch cirrus-cron job.  Fix the name so the test **ONLY**
runs for the `main` branch cron-job.

Also, since the test is currently failing, update the docs as per the
output instructions.

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-02-16 17:33:26 -05:00
Chris Evich
7f8bc6f510
CI: Temporarily disable all AWS EC2-based tasks
An ongoing issue with uploading artifacts is hindering development
progress.  Temporarily disable all aflicted tasks until the problem is
resolved.  Typical error message:

```
Uploading 1 artifacts for
Failed to upload artifacts: Put
...cut...
tls: server selected unsupported protocol version 303
Re-trying to artifacts upload...
```

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-02-16 16:44:41 -05:00
OpenShift Merge Robot
e7616b457d
Merge pull request #17528 from flouthoc/volume-security-patch
volume,container: `chroot` to source before exporting content
2023-02-16 11:20:03 -05:00