10798 Commits

Author SHA1 Message Date
f2a8562031 Fix compat networks endpoint for a empty result
The networks list compat api endpoint must return `[]`
and not `null` if no networks are found.

Fixes #9293

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2021-02-09 23:03:48 +01:00
f98605e0e4 Merge pull request #9125 from ashley-cui/secretswiring
Implement Secrets
2021-02-09 17:51:08 +01:00
832a69b0be Implement Secrets
Implement podman secret create, inspect, ls, rm
Implement podman run/create --secret
Secrets are blobs of data that are sensitive.
Currently, the only secret driver supported is filedriver, which means creating a secret stores it in base64 unencrypted in a file.
After creating a secret, a user can use the --secret flag to expose the secret inside the container at /run/secrets/[secretname]
This secret will not be commited to an image on a podman commit

Signed-off-by: Ashley Cui <acui@redhat.com>
2021-02-09 09:13:21 -05:00
9da4169e31 Merge pull request #9269 from Luap99/rootfs-shell-completion
Allow path completion for podman create/run --rootfs
2021-02-09 04:25:30 -05:00
58810fbfbb Merge pull request #9272 from rhatdan/VENDOR
Bump containers/buildah to v1.19.4
2021-02-09 04:16:30 -05:00
45981ba29a Bump containers/buildah to v1.19.4
Fix handling of --iidfile to happen on the client side.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-02-08 16:02:20 -05:00
19507d0ffe Merge pull request #9246 from rhatdan/build
Implement missing arguments for podman build
2021-02-08 14:18:31 -05:00
1caace8f4c Allow path completion for podman create/run --rootfs
If the --rootfs flag is set podman create/run expect a host
path as first argument. The shell completion should provide
path completion in that case.

[NO TESTS NEEDED]
This can manually be verified with `podman run --rootfs [TAB]`.

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2021-02-08 20:11:00 +01:00
2bf13219f5 Merge pull request #9266 from vrothberg/fix-6510
make `podman rmi` more robust
2021-02-08 11:35:15 -05:00
c32913d0a3 Merge pull request #9236 from baude/networkprune
add network prune
2021-02-08 09:50:50 -05:00
2aaf631586 Merge pull request #9265 from vrothberg/vendor-common
vendor latest containers/common
2021-02-08 09:15:08 -05:00
feecdf919f make podman rmi more robust
The c/storage library is subject to TOCTOUs as the central container and
image storage may be shared by many instances of many tools.  As shown
in #6510, it's fairly easy to have multiple instances of Podman running
in parallel and yield image-lookup errors when removing them.

The underlying issue is the TOCTOU of removal being split into multiple
stages of first reading the local images and then removing them.  Some
images may already have been removed in between the two stages. To make
image removal more robust, handle errors at stage two when a given image
is not present (anymore) in the storage.

Fixes: #6510
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-02-08 14:58:17 +01:00
407e86dcd2 Implement missing arguments for podman build
Buildah bud passes a bunch more flags then podman build.

We need to implement hook up all of these flags to get full functionality.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-02-08 08:39:18 -05:00
3c3e644c1c vendor latest containers/common
We had a couple of regressions in containers/common in the last release.
Before cutting a new release, let's vendor it here.  Since 3.0 has been
branched, we can vendor a non-release commit of c/common.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-02-08 13:19:08 +01:00
91ea3fabd6 add network prune
add the ability to prune unused cni networks.  filters are not implemented
but included both compat and podman api endpoints.

Fixes :#8673

Signed-off-by: baude <bbaude@redhat.com>
2021-02-06 07:37:29 -06:00
69ddbde983 Merge pull request #9205 from st1971/issue-8710
play kube selinux label issue
2021-02-05 12:25:55 -05:00
c421127dd7 Merge pull request #9231 from vrothberg/rootfs-workdir
fix logic when not creating a workdir
2021-02-05 06:29:05 -05:00
42d4652fed Merge pull request #9048 from matejvasek/apiv2_wait
Fix Docker APIv2 container wait endpoint
2021-02-05 04:41:41 -05:00
4a0ae01261 Merge pull request #9182 from mheon/bump_api
Bump remote API version to 3.0.0
2021-02-05 04:10:29 -05:00
821ef6486a fix logic when not creating a workdir
When resolving the workdir of a container, we may need to create unless
the user set it explicitly on the command line.  Otherwise, we just do a
presence check.  Unfortunately, there was a missing return that lead us
to fall through into attempting to create and chown the workdir.  That
caused a regression when running on a read-only root fs.

Fixes: #9230
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-02-05 09:50:07 +01:00
002f2aca70 Bump remote API version to 3.0.0
Fixes #9175

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2021-02-04 16:42:29 -05:00
b1bd126cda Merge pull request #9235 from Luap99/fix-9234
Fix podman network disconnect wrong NetworkStatus number
2021-02-04 16:34:45 -05:00
e6e3520498 Merge pull request #9113 from cevich/ginkgo_logs_artifact
Cirrus: Collect ginkgo node logs artifacts
2021-02-04 15:55:18 -05:00
6c713984ef play kube selinux test case
added skip to test case where selinux not enabled

Signed-off-by: Steven Taylor <steven@taylormuff.co.uk>
2021-02-04 19:57:08 +00:00
5c6ab3075e Fix podman network disconnect wrong NetworkStatus number
The allocated `tmpNetworkStatus` must be allocated with the length 0.
Otherwise append would add new elements to the end of the slice and
not at the beginning of the allocated memory.

This caused inspect to fail since the number of networks did not
matched the number of network statuses.

Fixes #9234

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2021-02-04 19:41:30 +01:00
aaa86c68c0 Merge pull request #9220 from vrothberg/fix-9211
generate kube: handle entrypoint
2021-02-04 13:12:42 -05:00
d178ba1e86 Merge pull request #9154 from alvistack/master-linux-amd64
Update nix pin with `make nixpkgs`
2021-02-04 13:02:21 -05:00
05444cb2cc Fix per review request
Signed-off-by: Matej Vasek <mvasek@redhat.com>
2021-02-04 18:30:07 +01:00
c995b54607 generate kube: handle entrypoint
The spec of a Kube Container has a `Command` and `Args`.  While both are
slices, the `Command` is the counterpart of the entrypoint of a libpod
container.  Kube is also happily accepting the arguments to as following
items in the slice but it's cleaner to move those to `Args`.

Fixes: #9211
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-02-04 12:34:35 +01:00
96adf0e2a2 play kube selinux test case
fixed typo in the label comparison

Signed-off-by: Steven Taylor <steven@taylormuff.co.uk>
2021-02-03 23:35:14 +00:00
2b8d6ca09b Increase timeouts in some tests
Signed-off-by: Matej Vasek <mvasek@redhat.com>
2021-02-03 22:10:27 +01:00
3c57bc845c Add test for Docker APIv2 wait
Signed-off-by: Matej Vasek <mvasek@redhat.com>
2021-02-03 22:10:27 +01:00
4a219aa234 Implement Docker wait conditions
Signed-off-by: Matej Vasek <mvasek@redhat.com>
2021-02-03 22:10:27 +01:00
fc385806df Improve ContainerEngine.ContainerWait()
Signed-off-by: Matej Vasek <mvasek@redhat.com>
2021-02-03 21:49:09 +01:00
570e1587dd Improve container libpod.Wait*() functions
Signed-off-by: Matej Vasek <mvasek@redhat.com>
2021-02-03 21:49:09 +01:00
4e1bcf30f3 Merge pull request #9188 from jwhonce/issues/8865
Report StatusConflict on Pod opt partial failures
2021-02-03 15:30:39 -05:00
4a1614e73f Merge pull request #9217 from vrothberg/attach-warn
bindings: attach: warn correct error
2021-02-03 12:09:39 -05:00
1c0d249609 Merge pull request #9216 from containers/dependabot/go_modules/github.com/containers/storage-1.25.0
Bump github.com/containers/storage from 1.24.5 to 1.25.0
2021-02-03 12:08:40 -05:00
be568738b1 Merge pull request #9215 from containers/dependabot/go_modules/github.com/containernetworking/cni-0.8.1
Bump github.com/containernetworking/cni from 0.8.0 to 0.8.1
2021-02-03 12:07:40 -05:00
4945abb7d1 Merge pull request #9208 from edsantiago/bats
System test for #9096 (truncated stdout)
2021-02-03 12:06:40 -05:00
301e54deb3 Merge pull request #9214 from rhatdan/wait
Fix invalid wait condition on kill
2021-02-03 12:05:40 -05:00
e8db5bb6e3 Merge pull request #9210 from edsantiago/makefile_fixes
Makefile: make bin/* real targets!
2021-02-03 10:57:04 -05:00
6a6e868290 Cirrus: Collect ginkgo node logs artifacts
In rare cases, it's possible for one of the ginkgo processes to "hang".
When this occurs, the main output will contain this message:

``Ginkgo timed out waiting for all parallel nodes to report``

The only way to debug this was to look through concatenated printing
of the ginkgo node logs.  This is a tedious and daunting task,
requiring special search knowledge, facing a "wall of text".

Simplify the situation by collecting the node logs separately, as
individual files in a cirrus-artifact.  In this way, it's faster to
figure out which test "hung" by examining each log individually.  The
log file which does not have a pass/fail summary at the end,
indicates the last test hung (for whatever reason), and includes it's
output (if any).

Signed-off-by: Chris Evich <cevich@redhat.com>
2021-02-03 10:44:41 -05:00
ebc42f5086 Bump github.com/containers/storage from 1.24.5 to 1.25.0
Bumps [github.com/containers/storage](https://github.com/containers/storage) from 1.24.5 to 1.25.0.
- [Release notes](https://github.com/containers/storage/releases)
- [Changelog](https://github.com/containers/storage/blob/master/docs/containers-storage-changes.md)
- [Commits](https://github.com/containers/storage/compare/v1.24.5...v1.25.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-02-03 09:10:07 -05:00
9dc7951915 Bump github.com/containernetworking/cni from 0.8.0 to 0.8.1
Bumps [github.com/containernetworking/cni](https://github.com/containernetworking/cni) from 0.8.0 to 0.8.1.
- [Release notes](https://github.com/containernetworking/cni/releases)
- [Commits](https://github.com/containernetworking/cni/compare/v0.8.0...v0.8.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-02-03 09:08:19 -05:00
bc149a4dd2 bindings: attach: warn correct error
The resize warning logged the wrong error.  While this does not fix
 #9172, it may very well be helpful finding its root cause.

[NO TESTS NEEDED]

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-02-03 14:35:42 +01:00
d87f54fbba Fix invalid wait condition on kill
When using the compatability tests on kill, the kill
function goes into an infinite wait loop taking all of the CPU.

This change will use the correct wait function and exit properly.

Fixes: https://github.com/containers/podman/issues/9206

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-02-03 07:56:13 -05:00
dfa9a340ad Makefile: make bin/* real targets!
Backstory: every time you run 'make podman' or even
just 'make', you get a full recompile. This is sub-ideal.

Cause: I don't really know. It looks complicated. #5017
introduced a .PHONY for bin/podman, for reasons not
explained in the PR. Then, much later, #5880 well-
intentionedly but improperly tweaked the 'find'
command used in defining SOURCES, adding a -prune
but without the corresponding and required -print.
Let's just say, it was an unfortunate cascade of events.

This PR fixes the SOURCES definition and removes the
highly-undesired .PHONY from podman & podman-remote,
making it so you can type 'make' and, oh joy, not
build anything if it's current. The way 'make' is
supposed to work.

Why fix this now? Because my PR (#9209) was failing in CI,
in the Validate step:

    Can't exec "./bin/podman": No such file or directory at hack/xref-helpmsgs-manpages line 223.

It failed even on Re-run, and only passed once I force-pushed
the PR (with no changes, just a new commit SHA). I have no idea
why bin/podman wasn't built, and I have zero interest in pursuing
that right now, but the proper solution is to add bin/podman as
a Makefile dependency for that particular test. So done.

While I'm at it, fix what is pretty clearly a typo in a .PHONY

And, finally, fix a go-md2man warning introduced in #9189

[NO TESTS NEEDED]

Signed-off-by: Ed Santiago <santiago@redhat.com>
2021-02-03 05:49:17 -07:00
4ce8b1281e Merge pull request #9197 from containers/dependabot/go_modules/github.com/onsi/gomega-1.10.5
Bump github.com/onsi/gomega from 1.10.4 to 1.10.5
2021-02-03 07:01:23 -05:00
a086f601e3 Merge pull request #9103 from mattcen/patch-1
[CI:DOCS] typo
2021-02-03 06:57:23 -05:00