9588 Commits

Author SHA1 Message Date
c0757374bf Restore "table" --format from V1
* --format "table {{.field..." will print fields out in a table with
  headings.  Table keyword is removed, spaces between fields are
  converted to tabs
* Update parse.MatchesJSONFormat()'s regex to be more inclusive
* Add report.Headers(), obtain all the field names to be used as
  column headers, a map of field name to column headers may be provided
  to override the field names
* Update several commands to use new functions

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-10-02 06:58:02 -07:00
1492f3c936 --rm option shold conflicts with --restart
Signed-off-by: zhangguanzhang <zhangguanzhang@qq.com>
2020-10-02 21:57:37 +08:00
f9140f7efc Bump github.com/containers/common from 0.23.0 to 0.24.0
Bumps [github.com/containers/common](https://github.com/containers/common) from 0.23.0 to 0.24.0.
- [Release notes](https://github.com/containers/common/releases)
- [Commits](https://github.com/containers/common/compare/v0.23.0...v0.24.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-10-02 08:59:07 -04:00
14fd7b4d6a Merge pull request #7885 from containers/dependabot/go_modules/github.com/containers/buildah-1.16.4
Bump github.com/containers/buildah from 1.16.2 to 1.16.4
2020-10-02 08:13:57 -04:00
08755e59b6 Merge pull request #7456 from giuseppe/modprobe-fuse
spec: modprobe fuse with --device .*/fuse
2020-10-02 07:53:37 -04:00
ff3aa2b3d1 Merge pull request #7867 from vrothberg/fix-7837
remote: fix name and ID collisions of containers and pods
2020-10-02 07:29:46 -04:00
d30121969f libpod: check the gid is present before adding it
check there are enough gids in the user namespace before adding
supplementary gids from /etc/group.

Follow-up for baede7cd2776b1f722dcbb65cff6228eeab5db44

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-10-02 13:13:44 +02:00
51851e10ba Merge pull request #7622 from hxtk/master
Fix for incorrect evaluation of error condition within libpod.LabelVolumePath.
2020-10-02 06:36:53 -04:00
f372f4bea3 Merge pull request #7711 from cevich/migrate_imgs
Migrate container images to automation_images
2020-10-02 06:33:26 -04:00
b3f17936aa podman-remote does not support most of the global flags
podman-remote --help is showing a bunch of global flags that it
does not support

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-10-02 06:32:17 -04:00
ffbeb2f346 Correct to latest version
Signed-off-by: Lars Gohr <elgohr@oss.volkswagen.com>
2020-10-02 12:30:03 +02:00
00c7b493a0 Merge pull request #7815 from jwhonce/wip/creds_remote
Add X-Registry-Config support
2020-10-02 06:13:25 -04:00
0b7b222437 Merge pull request #7877 from baude/compatapipriv
fix compat api privileged and entrypoint code
2020-10-02 06:06:53 -04:00
9212e0499b Bump github.com/containers/buildah from 1.16.2 to 1.16.4
Bumps [github.com/containers/buildah](https://github.com/containers/buildah) from 1.16.2 to 1.16.4.
- [Release notes](https://github.com/containers/buildah/releases)
- [Changelog](https://github.com/containers/buildah/blob/master/CHANGELOG.md)
- [Commits](https://github.com/containers/buildah/compare/v1.16.2...v1.16.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-10-02 05:54:32 -04:00
6c151b98b6 image prune: remove all candidates
Make sure to remove images until there's nothing left to prune.
A single iteration may not be sufficient.

Fixes: #7872
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-10-02 11:04:05 +02:00
4f7da3274b spec: open fuse with --device .*/fuse
If the container uses the /dev/fuse device, attempt to load the fuse
kernel module first so that nested containers can use it.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1872240

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-10-02 10:12:58 +02:00
defd427503 Merge pull request #7869 from vrothberg/system-untag
system test: untag all test
2020-10-02 03:22:25 -04:00
07546cca18 rootless: use sync.Once for GetAvailableGids()
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-10-02 09:05:34 +02:00
baef6eff36 rootless: move GetAvailableGids to the rootless pkg
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-10-02 08:53:54 +02:00
d380ba0394 logformatter: add Synopsis at top of each page
At the top of each generated page, add a Synopsis table with:

  PR number/name, and link to github
  Author name(s)
  Test name (fedora/ubuntu, rootless, etc)
  Cirrus build ID (usually uninteresting)
  Cirrus task ID (usu. important), with link to Cirrus
  The value of $SPECIALMODE

This is all we can get from the Cirrus environment in
which logformatter runs; we can't get things like
cgroup manager or username that the test runs under.

Note that the table is at the top, which is usually
unseen because we autoscroll to the bottom on
page load. I tentatively think that top is a more
natural place for this info than bottom, but am
willing to listen to arguments against.

Also, one minor tweak: highlight podman commands in
the BATS output. The idea is to make it easier for the eye
to spot those, then copy/paste them to find a reproducer.

And, sigh, disable the new 'podman network create'
system test. It is flaking much too much.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-10-01 20:33:20 -06:00
54a9ecc262 Merge pull request #7871 from rhatdan/gid
Add additionalGIDs from users in rootless mode
2020-10-01 21:21:22 -04:00
a88f404fe1 Merge pull request #7874 from rhatdan/volume
Podman containers/pods prune should throw an error if user adds args
2020-10-01 19:35:31 -04:00
6d8339709f Merge pull request #7868 from rhatdan/tuturial
[CI:DOCS] Update rootless_tutorial.md
2020-10-01 18:39:31 -04:00
3ae04f60cc Podman containers/pods prune should throw an error if user adds args
We are not currently checking if a user accidently adds an argument to
all podman * prune commands.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-10-01 17:22:51 -04:00
6a2c7d8831 Merge pull request #7849 from baude/f33tests
misc fixes for f33 integration tests
2020-10-01 16:35:29 -04:00
f0c7116848 fix compat api privileged and entrypoint code
when adding /dev to a privileged container using the compatibility API, we need to make sure we dont pass on devices that are simply symlinks.  this was already being done by specgen but not on the compat. side.

the entrypoint code that was recently rewritten for the compatibility layer was also failing due to the odd inputs that docker is willing to accept in its json, specifically [] vs "".  in the case of the latter, this was being made into a []string with a len of one but no content.  this would then be used to prefix the command to run in the container and would fail.  For example " ls" vs "ls".

Signed-off-by: baude <bbaude@redhat.com>
2020-10-01 15:18:11 -05:00
7c9c159e93 Migrate container images to automation_images
Signed-off-by: Chris Evich <cevich@redhat.com>
2020-10-01 14:27:32 -04:00
5d22eb02f9 Merge pull request #7735 from QiWang19/manifest-inspect
fix allowing inspect manifest of non-local image
2020-10-01 13:32:02 -04:00
11dfe9385c Merge pull request #7835 from Luap99/network-test-cleanup
Fix some flakes in the e2e network tests.
2020-10-01 12:43:52 -04:00
7951a7f13a system test: untag all test
Extend the system tests to test `podman untag $image` without further
arguments to force removing all tags from the image.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-10-01 18:34:08 +02:00
04dddbbf7f remote: fix name and ID collisions of containers and pods
Fix the look up of containers and pods in the remote client.  User input
can refer to both, names or IDs of containers and pods, so there is a
fair chance of collisions (e.g., "c1" name with a "c1...." ID).

Those collisions are well handled (and battle tested) in the local
client which is directly using the libpod backend.  Hence, the remote
client should not attempt to introduce its own logic to prevent bugs and
divergence between the local and the remote clients.  To prevent
collisions such as in #7837, do a container/pod inspect on the
user-provided input to find the corresponding ID and eventually do full
ID comparisons to avoid potential collisions with names.

Note that this has a cost that I am not entirely happy with.  Looking at
issue #7837, the collisions are happening when removing the two
containers.  Remote container removal is now very chatty with the server
as it first queries for all containers, then iterates over the provided
names or IDs and does a remote inspect to figure out the IDs and find a
matching container object.  However, remote removal could just pass the
names and IDs directly to the batch removal endpoint.  Querying for all
containers could be prevented if the batch removal endpoint would remove
all if the slice is empty.

In other words, the bug is fixed but there's room for performance
improvements.

Fixes: #7837
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-10-01 18:30:20 +02:00
a29ef605f9 Merge pull request #7846 from rhatdan/rootless
Attempt to test all Broken SkipIfRootless FIXME
2020-10-01 12:08:14 -04:00
746bb2d678 Merge pull request #7864 from rhatdan/volume
Volume prune should not pass down the force flag
2020-10-01 12:04:52 -04:00
baede7cd27 Add additionalGIDs from users in rootless mode
There is a risk here, that if the GID does not exists
within the User Namespace the container will fail to start.

This is only likely to happen in HPC Envioronments, and I think
we should add a field to disable it for this environment,
Added a FIXME for this issue.

We currently have this problem with running a rootfull container within
a user namespace, it will fail if the GID is not available.

I looked at potentially checking the usernamespace that you are assigned
to, but I believe this will be very difficult to code up and to figure out.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-10-01 10:54:28 -04:00
3948cb76e2 Merge pull request #7851 from zhangguanzhang/fix-apiv2-ctr-workdir-and-env
[apiv2] don't ignore the ENV and WorkDir from the image
2020-10-01 10:00:15 -04:00
45b73c1ed7 Fix some flakes in the e2e network tests.
The network test created config files with random filenames
but the network name was static. Since the tests can run in
parallel podman was not able to distinguish the networks.
We need to make sure that each test has its own config file
and network name. This helps to prevent unnecessary flakes.

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2020-10-01 15:56:59 +02:00
996fe49aa7 Update rootless_tutorial.md
add clarifications in persistently setting unprivileged ping permissions
Signed-off-by: fuzxi <opuspam@posteo.de>

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-10-01 09:13:39 -04:00
686ea56480 Volume prune should not pass down the force flag
podman volume prune -f

Should just tell the prune command to not prompt for confirmation.
It should not be passing the prune flag into the API.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-10-01 06:32:57 -04:00
556117c2e9 Merge pull request #7848 from cevich/fix_tests
Fix two e2e tests
2020-10-01 06:05:00 -04:00
c0dac6c5f3 Merge pull request #7858 from jwhonce/wip/http_proxy
Support --http-proxy for remote builds
2020-10-01 05:48:17 -04:00
c70f5fb19b Merge pull request #7823 from vrothberg/fix-6381
image look up: consult registries.conf
2020-10-01 03:31:06 -04:00
fad55e4730 Support --http-proxy for remote builds
* Fix misspelled parameter
 * add http-proxy support for builds

http_proxy must be set in the podman.service unit file, for example
Environment=http_proxy=<value>

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-09-30 15:56:58 -07:00
cde367c1c0 fix: The container created by APIV2 has an incorrect Env and WorkDir
Signed-off-by: zhangguanzhang <zhangguanzhang@qq.com>
2020-10-01 05:13:01 +08:00
5954d37071 Merge pull request #7834 from xordspar0/patch-1
Don't disable Go modules when generating varlink
2020-09-30 16:44:34 -04:00
df532ee8c1 misc fixes for f33 integration tests
some small fixes for testing on fedora 33 (non-btrfs)

Signed-off-by: baude <bbaude@redhat.com>
2020-09-30 14:15:59 -05:00
1d7cb7f477 Merge pull request #7798 from QiWang19/run-manifest
Use local image if input image is a manifest list
2020-09-30 18:38:07 +00:00
7ac8000cc1 fix allowing inspect manifest of non-local image
Add support of `podman manifest inspect` returning manifest list of non-local manifest.
Close #https://github.com/containers/podman/issues/7726

Signed-off-by: Qi Wang <qiwan@redhat.com>
2020-09-30 14:12:32 -04:00
d4ca13f7c0 Distinguish userns vs containerized tests
The systemd test was inaccurately being skipped when a userns env. var.
flag was set.  At best this is confusing to new developers, and at worse
it actively blocks an otherwise legitimate class of tests.  Improve the
accuracy of skip-logic by adding/using a purpose built set of
functions.

Signed-off-by: Chris Evich <cevich@redhat.com>
2020-09-30 13:33:57 -04:00
6dccaa4f26 Don't disable Go modules when generating varlink
From a fresh install of Fedora 33 Beta and a fresh clone of the repo, `make` fails with the following error when Go modules are disabled:

    # Only generate the varlink code on Linux (see issue #4814).
    GO111MODULE=off go generate ./pkg/varlink/...
    ../../vendor/github.com/varlink/go/cmd/varlink-go-interface-generator/main.go:12:2: cannot find package "github.com/varlink/go/varlink/idl" in any of:
    	/usr/lib/golang/src/github.com/varlink/go/varlink/idl (from $GOROOT)
    	/home/test/src/podman/_output/src/github.com/varlink/go/varlink/idl (from $GOPATH)
    pkg/varlink/generate.go:3: running "go": exit status 1
    make: *** [Makefile:646: pkg/varlink/iopodman.go] Error 1

Signed-off-by: Jordan Christiansen <xordspar0@gmail.com>
2020-09-30 12:24:45 -05:00
f86e01ab10 Merge pull request #7820 from giuseppe/fix-capabilities-not-root
capabilities: always set ambient and inheritable
2020-09-30 17:22:54 +00:00