14566 Commits

Author SHA1 Message Date
a1e2897e92 Merge pull request #13600 from mheon/exec_cleanup_race
Fix a potential race around the exec cleanup process
2022-03-23 19:38:31 +01:00
5b2597d523 Fix a potential race around the exec cleanup process
Every exec session run attached will, on exit, do two things: it
will signal the associated `podman exec` that it is finished (to
allow Podman to collect the exit code and exit), and spawn a
cleanup process to clean up the exec session (in case the `podman
exec` process died, we still need to clean up). If an exec
session is created that exits almost instantly, but generates a
large amount of output (e.g. prints thousands of lines), the
cleanup process can potentially execute before `podman exec` has
a chance to read the exit code, resulting in errors. Handle this
by detecting if the cleanup process has already removed the exec
session before handling the error from reading the exec exit
code.

[NO NEW TESTS NEEDED] I have no idea how to test this in CI.

Fixes #13227

Signed-off-by: Matthew Heon <mheon@redhat.com>
2022-03-23 09:33:40 -04:00
f049cba47c Merge pull request #13559 from cevich/success_artifacts
[CI:BUILD] Cirrus: Publish binary artifacts on success
2022-03-23 14:03:46 +01:00
a8743d3327 Merge pull request #13588 from flouthoc/import-os-arch
import: allow users to set `--os`, `--arch` and `--variant` of image imports
2022-03-23 13:15:47 +01:00
eedce31eb4 import: allow users to set os, arch and variant of imports
Allows users to set `--os` , `--arch` and `--variant` of the image
created from the custom import.

Following is useful when user is already aware of the values which are
correct for their generated rootfs

Signed-off-by: Aditya R <arajan@redhat.com>
2022-03-23 11:22:55 +05:30
9d8972e0ee Merge pull request #13576 from containers/dependabot/go_modules/github.com/containers/ocicrypt-1.1.3
build(deps): bump github.com/containers/ocicrypt from 1.1.2 to 1.1.3
2022-03-23 01:37:14 +01:00
ad123687d0 Merge pull request #13567 from n1hility/upgrades
Add Windows installer support for upgrades
2022-03-23 01:35:15 +01:00
3404da3afb Merge pull request #13605 from jerrykan/docs
[CI:DOCS] docs: Fix links to Containerfile and containerignore
2022-03-23 01:31:14 +01:00
87f6157b54 Merge pull request #13604 from jwhonce/issues/12804
Update swagger to improve compatibility
2022-03-23 01:27:15 +01:00
13b6ff6529 docs: Fix links to Containerfile and containerignore
The documentation files for `Containerfile` and `containerignore` have
been moved from the `buildah` repository to the `common` repository.

ref: https://github.com/containers/buildah/commit/488e8654ea

Signed-off-by: John Kristensen <john@jerrykan.com>
2022-03-23 10:37:29 +11:00
41a6dd36f6 Update swagger to improve compatibility
[NO NEW TESTS NEEDED]

Improve swagger and handler code compatibility.

Fixes #12804

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2022-03-22 15:20:30 -07:00
8a032368ac Merge pull request #13598 from Luap99/unshare-doc
[CI:DOCS] podman unshare: document that command cannot be used with remote
2022-03-22 22:31:34 +01:00
c840f64e41 Merge pull request #13593 from Luap99/compose-flakev2
fix compose test error in retry logic
2022-03-22 19:36:28 +01:00
5cb827ff17 Merge pull request #13595 from edsantiago/logformatter_netavark
Fix unreadable netavark logs
2022-03-22 19:04:26 +01:00
7b696fb012 Merge pull request #13518 from edsantiago/size_check_part1
Binary growth check, part 1 of 2
2022-03-22 18:44:26 +01:00
3627dfc524 podman unshare: document that command cannot be used with remote
Fixes #13596

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-03-22 17:54:37 +01:00
1a7f5b3d51 Cirrus: Publish binary artifacts on success
In general continuous-delivery (CD) tends to pair well with CI.  More
specifically, there is a need for some reverse-dependency CI testing in
netavark/aardvark-dns.  In all cases, the download URL needs to remain
consistent, without elements like `Build%20for%20fedora-35`.

The 'Total Success' task only ever executes when all dependencies are
successful.  When a non `[CI:DOCS]` build is successful, gather all
binary/release artifacts in a new task which depends on 'Total Success'.
This will provide a uniform name (`artifacts`) and URL for downstream
users to use.  For example:

https://api.cirrus-ci.com/v1/artifact/github/containers/podman/artifacts/binary.zip

or

https://api.cirrus-ci.com/v1/artifact/github/containers/podman/artifacts/binary/FILENAME

Where ***FILENAME*** is one of:

* `podman`
* `podman-remote`
* `rootlessport`
* `podman-release-386.tar.gz`
* `podman-release-amd64.tar.gz`
* `podman-release-arm64.tar.gz`
* `podman-release-arm.tar.gz`
* `podman-release-mips64le.tar.gz`
* `podman-release-mips64.tar.gz`
* `podman-release-mipsle.tar.gz`
* `podman-release-mips.tar.gz`
* `podman-release-ppc64le.tar.gz`
* `podman-release-s390x.tar.gz`
* `podman-remote-release-darwin_amd64.zip`
* `podman-remote-release-darwin_arm64.zip`
* `podman-remote-release-windows_amd64.zip`
* `podman-v4.0.0-dev.msi`

Signed-off-by: Chris Evich <cevich@redhat.com>
2022-03-22 11:01:45 -04:00
b4b8b8b537 Merge pull request #13398 from giuseppe/fix-warning-pod-create-rm
libpod: drop warning if cgroup doesn't exist
2022-03-22 15:56:45 +01:00
501355d4a5 Fix unreadable netavark logs
ginkgo netavark logs (and, to a lesser extent, cni logs)
are unreadable because the hide-boring-opts code did not
know about --network-backend. Now it does.

Manually filtered an existing netavark log to confirm there
are no other new options we should know about.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-03-22 08:56:36 -06:00
c25213c8f8 fix compose test error in retry logic
We cannot use local var outside of a function. We have to use a global
one.

Log: https://storage.googleapis.com/cirrus-ci-6707778565701632-fcae48/artifacts/containers/podman/5970023511490560/html/compose_v2-podman-fedora-35-root-host.log.html

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-03-22 15:22:17 +01:00
901066acd1 Merge pull request #13580 from vrothberg/enable-linters
enable linters
2022-03-22 15:14:38 +01:00
fc963159b8 Merge pull request #13590 from giuseppe/add-note-for-additional-stores-deletions
[CI:DOCS] troubleshooting: document rm in image stores
2022-03-22 15:10:29 +01:00
02aae4a658 Merge pull request #13585 from flouthoc/fix-no-healthcheck
healthcheck: stop showing wrong status when `--no-healthcheck` is set
2022-03-22 14:44:26 +01:00
84e7ce82d9 Binary growth check, part 1 of 2
Add a CI check to prevent unwanted bloat in binary images,
by building a baseline (pre-PR) binary then comparing file
sizes post-PR.

We piggyback onto the existing 'Build Each Commit' CI check
because it gives us an easy way to run 'make' against the
parent commit.

This is part 1 of 2: adding the script, not the Makefile rule.
We can't add the Makefile rule now because the script it would
invoke does not exist in the parent commit.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-03-22 07:38:05 -06:00
06dd9136a2 fix a number of errcheck issues
Numerous issues remain, especially in tests/e2e.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-03-22 13:15:28 +01:00
07999b2373 [CI:DOCS] troubleshooting: document rm in image stores
Closes: https://github.com/containers/podman/issues/13003

[NO NEW TESTS NEEDED]

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2022-03-22 13:14:17 +01:00
6c030cd573 fix a number of godot issues
Still an unknown number remains but I am running out of patience.
Adding dots is not the best use of my time.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-03-22 13:04:35 +01:00
68b94338ba linter: enable makezero
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-03-22 13:04:35 +01:00
0f12b6fe55 linter: enable nilerr
A number of cases looked suspicious, so I marked them with `FIXME`s to
leave some breadcrumbs.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-03-22 13:04:35 +01:00
081e091437 linter: document nolintlint
We need to keep disabling the `nolintlint` linter to continue using
`nolint` directives in the code.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-03-22 13:04:35 +01:00
7c047bfbe9 linter: document tagliatelle
Disabling tagliatelle would mean disabling it for hundreds of fields
that cannot be changed due to K8s or Docker or backwards compat.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-03-22 13:04:35 +01:00
9e8cca26a1 test/e2e/inspect_test.go: wait for sessions
Make sure we're waiting for the ls container to finish to prevent
potential flakes or future regressions.

Spotted while enabling a linter.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-03-22 13:04:35 +01:00
fb792f7ed4 linter: enable ineffassign
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-03-22 13:04:35 +01:00
f72a678f2a linter: enable errchkjson
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-03-22 13:04:35 +01:00
bb6b69b4ab linter: enable wastedassign
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-03-22 13:04:34 +01:00
070e401499 linter: enable interfacer
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-03-22 13:04:34 +01:00
d0e9f28f87 Merge pull request #13584 from lsm5/fix-podman-remote-static
Makefile: build podman-remote-static with cgo disabled
2022-03-22 12:16:25 +01:00
095f97100f Merge pull request #13577 from giuseppe/drop-fedora-31-warning
libpod: drop warning for Fedora 31
2022-03-22 12:12:25 +01:00
90f37e1a68 build(deps): bump github.com/containers/ocicrypt from 1.1.2 to 1.1.3
Bumps [github.com/containers/ocicrypt](https://github.com/containers/ocicrypt) from 1.1.2 to 1.1.3.
- [Release notes](https://github.com/containers/ocicrypt/releases)
- [Commits](https://github.com/containers/ocicrypt/compare/v1.1.2...v1.1.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-22 11:11:50 +00:00
b726d75f20 Merge pull request #13536 from dcermak/storage-autodetect-mount_program
Storage autodetect mount program
2022-03-22 12:10:27 +01:00
6d6bdabc8c healthcheck: stop showing wrong status when --no-healthcheck is set
Containers started with `--no-healthcheck` are configured to contain no
healthcheck and test configured as `NONE`. Podman shows wrong status as
such use cases.

Following commit fixes the faulty behavior of stauts field for
containers started with `--no-healthcheck`

Signed-off-by: Aditya R <arajan@redhat.com>
2022-03-22 12:28:55 +05:30
8961dd345b Makefile: build podman-remote-static with cgo disabled
Resolves: #13557

[NO NEW TESTS NEEDED]

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2022-03-21 16:20:00 -04:00
e034db16bf Merge pull request #13575 from Luap99/percent
podman system df: fix percent calculation
2022-03-21 15:04:46 +01:00
4282f56533 Merge pull request #13574 from edsantiago/bats
pod system tests: clean up stray image
2022-03-21 14:58:45 +01:00
1b68c38262 libpod: drop warning for Fedora 31
drop a warning for runc not supporting cgroup v2 on Fedora 31.

[NO NEW TESTS NEEDED]

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2022-03-21 14:01:16 +01:00
63bf3991ef vendor containers/storage with https://github.com/containers/storage/pull/1165
Signed-off-by: Dan Čermák <dcermak@suse.com>
2022-03-21 13:21:25 +01:00
18d333f53d Merge pull request #13573 from vrothberg/golangci-lint
bump golangci-lint to v1.45.0
2022-03-21 13:20:46 +01:00
e3cc0717b2 podman system df: fix percent calculation
The calculate the percentage we need floating point numbers. The current
code however casted the result of reclaimable/size to an int first.
Casting to an int in go will just discard the decimal points, thus the
result was either 0 or 1 so if multiplied by 100 it would show up as 0%
or 100%.

To fix this we have to multiply by 100 first before casting the result
to an int. Also add a check for div by zero which results in NaN and use
math.Round() to correctly round a number.

Ref #13516

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-03-21 13:19:31 +01:00
53e770566b pod system tests: clean up stray image
One of the pod tests was leaving a stray image behind,
causing scary red warnings in CI logs. Clean that up.

Also, now that #13541 has merged, use 'rmi --ignore' instead of
ignoring exit status from rmi

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-03-21 05:07:34 -06:00
026bd9b205 bump golangci-lint to v1.45.0
* supports Go 1.18
* disable a number of new linters
* fix minor stylecheck issues

[NO NEW TESTS NEEDED]

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-03-21 10:42:53 +01:00