14874 Commits

Author SHA1 Message Date
d24507c1ec Fix upgrade tests assuming storage.conf exists
On F36 / podman 4, at the time of this commit there is no
`/etc/containers/storage.conf` installed by default.  Since the
test volume-mounts this file into the container, it was failing.  Fix
this by using a conditional volume-mount based on the file existing (or
not).

Signed-off-by: Chris Evich <cevich@redhat.com>
2022-04-21 14:38:07 -04:00
c67d6a52c4 Fix using --network-backend on podman-remote
When this option was added to the e2e tests, there was no CI Automation
support for running remote tests w/ netavark.  When added, many
e2e test errors/failures are generated due to this option not being
valid for the remote client.  Fix this in the tests by conditionally
adding the option if the test is running the remote client.

Signed-off-by: Chris Evich <cevich@redhat.com>
2022-04-21 14:29:44 -04:00
121dde6234 Merge pull request #13954 from mheon/update_release_notes
[CI:DOCS] Update release notes for v4.0.3 and v3.4.7
2022-04-21 14:23:31 -04:00
dc02e99d8f Fix size-check to display more context
When going through the rebase+build loop, the repository state won't
match the exact branch or PR history.  This results in the `Building:
XYZSHA` indications being entirely useless.  Fix this by at least
including the title line of the commit being built.  This will allow a
human to make sense of any size-check failure WRT their view of history.

Signed-off-by: Chris Evich <cevich@redhat.com>
2022-04-21 14:07:20 -04:00
b7dcbfed04 Update release notes for v4.0.3 and v3.4.7
Also update README and ensure we point to v4.0.3 as the latest
release, instead of v3.4.7 (which is newer chronologically but
not by actual version).

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2022-04-21 14:05:44 -04:00
55a5bd8a00 Optimization: skip tests in some circumstances
A common pattern is to submit PRs that update only tests or docs.

When the only changes are to test/e2e, there is no point in running
test/system or test/upgrade or test/buildah-bud. Likewise, reciprocally,
and similarly for a bunch of other tests (alt, cross, apiv2, ...)

And when the only changes are under docs/ , there is no point in
running any of the above.

Exception: if $CIRRUS_<mumble> are undefined (e.g., cron), never skip

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-04-21 11:02:57 -06:00
cb09c26c65 Merge pull request #13505 from rst0git/checkpoint-image-1
Add support for checkpoint image
2022-04-21 11:58:56 -04:00
e47dda5d81 Merge pull request #13937 from edsantiago/buildah_vendor_treadmill_script
Buildah Vendor Treadmill: the script
2022-04-21 11:49:38 -04:00
2576e16660 Merge pull request #13949 from containers/dependabot/go_modules/github.com/fsnotify/fsnotify-1.5.2
Bump github.com/fsnotify/fsnotify from 1.5.1 to 1.5.2
2022-04-21 11:19:15 -04:00
bfb23363ed Merge pull request #13950 from Luap99/systemd-activation
systemd socket activation: check listener
2022-04-21 10:03:03 -04:00
de58f58ee6 Merge pull request #13945 from vrothberg/vendor-common
vendor c/common
2022-04-21 09:33:01 -04:00
68e998dbff Merge pull request #13952 from vrothberg/fix-13864
[CI:DOCS] podman build --pull=*missing*
2022-04-21 09:10:45 -04:00
df156ab787 [CI:DOCS] podman build --pull=*missing*
Document the *missing* pull policy in `podman build`.

Fixes: #13864
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-04-21 14:37:02 +02:00
fa239f2eca Bump github.com/fsnotify/fsnotify from 1.5.1 to 1.5.2
Bumps [github.com/fsnotify/fsnotify](https://github.com/fsnotify/fsnotify) from 1.5.1 to 1.5.2.
- [Release notes](https://github.com/fsnotify/fsnotify/releases)
- [Changelog](https://github.com/fsnotify/fsnotify/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fsnotify/fsnotify/compare/v1.5.1...v1.5.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-21 12:10:08 +00:00
eb71712626 systemd socker activation: check listener
activation.Listeners() can return an net.Listener array which contains
nil entries if it cannot listen on the given fds. This can cause podman
to panic so we should check the we have non nil net.Listener first.

[NO NEW TESTS NEEDED] No idea how to reproduce this.

Fixes #13911

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-04-21 14:07:54 +02:00
ff2e6291a5 vendor c/common
Update the recent events-log changes to fix the build error.

[NO NEW TESTS NEEDED] since there's no functional change.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-04-21 13:43:58 +02:00
13c6fd067c system service: remove unnecessary pointer to listner
Since the listener is already an interface there is no reason to use a
extra pointer for it.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-04-21 13:32:20 +02:00
02ab86a68a Merge pull request #13934 from cevich/fix_debug
Fix e2e tests referencing generic env. var.
2022-04-20 20:02:55 -04:00
97ee411465 system tests: add assert(), and start using it
Problem: the system test 'is()' checker was poorly thought out.
For example, there is no way to check for inequality or for
absence of a substring.

Solution, step 1: introduce new assert(), copied almost verbatim
from buildah, where it has been successful in addressing the
gaps in is().

The logical next step is to search the tests for 'die' and
for 'run', looking for negative assertions which we can
replace with assert(). There were a lot, and in the process
I found a number of ugly bugs in the tests themselves. I've
taken the liberty of fixing these.

Important note: at this time we have both assert() and is().
Replacing all instances of is() would be impossible to review.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-04-20 16:14:42 -06:00
93b8ef627c Buildah Vendor Treadmill: the script
This is the script I've been using (and tweaking) for the past
two weeks. It's ready for general review and use, with the
proviso that there are still corner cases I haven't tested.

See https://github.com/containers/podman/wiki/Buildah-Vendor-Treadmill
for an overview and instructions.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-04-20 14:12:13 -06:00
d865fcc5ec Fix e2e tests referencing generic env. var.
Use of `$DEBUG` is highly likely to clash.  Fortunately this one is in
a very specific/special context, so a rename fix should be perfectly
adequate.

See also https://github.com/containers/automation/pull/96
and https://github.com/containers/podman/issues/13932

Signed-off-by: Chris Evich <cevich@redhat.com>
2022-04-20 14:02:08 -04:00
bbe1063a5a Add checkpoint image tests
The patch introduces the following test cases:

1. An attempt to checkpoint a container that does not exist should fail.
2. Checkpoint of a running container with --create-image should create a
   checkpoint image.
3. A single checkpoint image can be used to restore multiple containers,
   each with a different name.
4. Restoring multiple containers from checkpoint images with a single
   restore command.

Signed-off-by: Radostin Stoyanov <radostin@redhat.com>
2022-04-20 18:55:43 +01:00
756ecd5400 Add support for checkpoint image
This is an enhancement proposal for the checkpoint / restore feature of
Podman that enables container migration across multiple systems with
standard image distribution infrastructure.

A new option `--create-image <image>` has been added to the
`podman container checkpoint` command. This option tells Podman to
create a container image.  This is a standard image with a single layer,
tar archive, that that contains all checkpoint files. This is similar to
the current approach with checkpoint `--export`/`--import`.

This image can be pushed to a container registry and pulled on a
different system.  It can also be exported locally with `podman image
save` and inspected with `podman inspect`. Inspecting the image would
display additional information about the host and the versions of
Podman, criu, crun/runc, kernel, etc.

`podman container restore` has also been extended to support image
name or ID as input.

Suggested-by: Adrian Reber <areber@redhat.com>
Signed-off-by: Radostin Stoyanov <radostin@redhat.com>
2022-04-20 18:55:39 +01:00
fca3397dc9 Update github.com/checkpoint-restore/checkpointctl
The changes in this commit have been generated with the following
commands:

    go get github.com/checkpoint-restore/checkpointctl
    make vendor

Signed-off-by: Radostin Stoyanov <radostin@redhat.com>
2022-04-20 18:52:41 +01:00
6250667aa1 Merge pull request #13929 from Luap99/ipv6-slirp
slirp4netns: actually make ipv6 default
2022-04-20 09:51:58 -04:00
3571a7e2eb Merge pull request #13835 from vrothberg/run-1436
benchmarking Podman: proof of concept
2022-04-20 08:41:54 -04:00
51237bba2c Merge pull request #13928 from flouthoc/healthcheck-defaults
healthcheck: set default healthcheck `Interval` if not specified in image
2022-04-20 08:35:57 -04:00
9c36d8458c Merge pull request #13885 from n1hility/fix-wsl-rootless
Respect "Rootful" when starting WSL API Forwarding
2022-04-20 08:12:01 -04:00
80d1752791 slirp4netns: actually make ipv6 default
We already have ipv6 enabled as default via the containers.conf setting.
However the documentation did not reflect this. Also if no options were
set in contianers.conf it would have ipv6 disabled.

We can now remove the extra option from containers.conf.

Also fix another outdated option description for host.containers.internal
and add that the options can also be set in contianers.conf.

[NO NEW TESTS NEEDED]

Fixes #13914

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-04-20 13:59:01 +02:00
519535daa0 healthcheck: set default healthcheck Interval if not specified in image
Set appropriate defaults for `--interval` when
processing a Containerfile with build format as docker.

Signed-off-by: Aditya R <arajan@redhat.com>
2022-04-20 16:12:45 +05:30
0162f678c0 benchmarking Podman: proof of concept
Add a proof of concept for benchmarking Podman.  The benchmarks are
implemented by means of the end-to-end test suite but hidden behind
a `benchmarks` build tag.  Running `make localbenchmarks` will run
`test/e2e` with the specific build tag and set ginkgo's "focus" to
the specific "Podman Benchmark Suite" to only run this spec and skip
all others.

ginkgo will print a report before terminating listing the CPU and memory
stats for each benchmark.  New benchmarks can easily be added via the
`newBenchmark` function that also supports adding an `init()` function
to each benchmark which allows for performing certain setups for the
specific benchmark.  For instance, benchmarking `podman start` requires
creating a container beforehand.

Podman may be called more than once in the main function of a benchmark
but note that the displayed memory consumption is then a sum of all
Podman invocations.  The memory consumption is collected via
`/usr/bin/time`.

A benchmark's report is split into CPU and memory as displayed below:

```
[CPU] podman images:
  Fastest Time: 0.146s
  Slowest Time: 0.187s
  Average Time: 0.180s ± 0.015s
[MEM] podman images:
  Smallest: 41892.0KB
   Largest: 42792.0KB
   Average: 42380.7KB ± 286.4KB
```

Note that the benchmarks are not wired into the CI yet.  They are meant
as a proof of concept.  More benchmarks and the plumbing into CI will
happen in a later change.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-04-20 11:31:28 +02:00
bc8d8737b7 Merge pull request #13921 from rhatdan/rename
Add missing events to podman-events man page
2022-04-19 19:46:18 -04:00
9d2ad5b839 Merge pull request #13890 from fulminemizzega/main
[CI:DOCS] Fix selinux docs for kubernetes yaml
2022-04-19 16:37:00 -04:00
a2077e5eae Add missing events to podman-events man page
[NO NEW TESTS NEEDED]

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-04-19 16:30:26 -04:00
712c3bb226 Merge pull request #13839 from cdoern/swap
Translate Memory Limit to Swap in API
2022-04-19 07:54:39 -04:00
be0da4a222 Translate Memory Limit to Swap in API
in specgen, CLI path uses the given memory limit to define the swap value (if not already specified)
add a route to this piece of code from within the api handlers

resolves #13145

Signed-off-by: cdoern <cdoern@redhat.com>
2022-04-18 15:38:24 -04:00
d6f47e692b Merge pull request #13910 from edsantiago/ultra_minor_message_fix
[CI:DOCS] manpage vs --help checker: better error messages
2022-04-18 13:39:54 -04:00
1b3dc899d6 manpage vs --help checker: better error messages
Use quotes to indicate the command, and remove some duplication

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-04-18 10:09:38 -06:00
cc4bc25bd0 Merge pull request #13898 from baude/machinelistquiet
Add --quiet to machine ls
2022-04-18 10:27:16 -04:00
667dae3b8d Merge pull request #13865 from rhatdan/VENDOR
Update vendor of storage,common
2022-04-16 14:24:02 -04:00
08fa6c7701 Merge pull request #13838 from bwduncan/patch-1
[CI:DOCS] Update troubleshooting.md
2022-04-16 14:22:13 -04:00
8d3075e332 Merge pull request #13583 from rhatdan/ipc
Add support for ipc namespace modes "none, private, sharable"
2022-04-16 12:30:01 -04:00
99bcd65959 Add --quiet to machine ls
The podman machine ls command would benefit from a --quiet flag which
would only print the machine names without the extra information.  It
also implies --noheader as well.  This can be helpful for scripting with
the podman cli.

Signed-off-by: Brent Baude <bbaude@redhat.com>

[NO NEW TESTS NEEDED]

Signed-off-by: Brent Baude <bbaude@redhat.com>
2022-04-16 08:54:56 -05:00
e716790af9 Fix typo in generate kube docs for selinux labeling
Signed-off-by: Federico Rizzo <fulminemizzega@users.noreply.github.com>
2022-04-15 21:51:30 +00:00
08d08f995e Correct play kube docs for selinux labeling
Signed-off-by: Federico Rizzo <fulminemizzega@users.noreply.github.com>
2022-04-15 21:51:30 +00:00
b03466cb79 Update troubleshooting.md
- Consistent code block highlighting
- Minor spelling, formatting.

Signed-off-by: Bruce Duncan <bwduncan@gmail.com>
2022-04-15 12:02:39 +01:00
25eeaec219 Merge pull request #13849 from baude/defaultvolumess
Mount $HOME:$HOME by default in podman machine init
2022-04-15 06:10:17 -04:00
92625eadc6 Merge pull request #13641 from nicrowe00/logfile
Add log rotation based on log size
2022-04-15 06:02:02 -04:00
f2ab79cc02 Merge pull request #13868 from cdoern/cloneSwap
Fix Memory Swappiness passing in Container Clone
2022-04-15 05:54:05 -04:00
a4798ab4ef Respect "Rootful" when starting WSL API Forwarding
Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
2022-04-15 00:14:49 -05:00