8862 Commits

Author SHA1 Message Date
45220340bb Makefile: use full path for ginkgo
Without this change, I get:

```
ginkgo \
        -r \
         \
        --skipPackage test/e2e,pkg/apparmor,test/endpoint,pkg/bindings,hack \
        --cover \
        --covermode atomic \
        --coverprofile coverprofile \
        --outputdir .coverage \
        --tags "   selinux systemd exclude_graphdriver_devicemapper seccomp" \
        --succinct
/bin/sh: line 1: ginkgo: command not found
```

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2020-08-11 14:50:06 -04:00
aa66c062e9 Merge pull request #7288 from tiran/systemd_local_init
Enable systemd mode for /usr/local/sbin/init
2020-08-11 13:32:21 -04:00
846d4c2e01 Use set for systemd commands
Signed-off-by: Christian Heimes <cheimes@redhat.com>
2020-08-11 13:29:17 +02:00
6d3075a6c7 Merge pull request #7269 from openSUSE/seccomp
Allow specifying seccomp profiles for privileged containers
2020-08-11 07:19:21 -04:00
68c67d2430 Merge pull request #7239 from rhatdan/working
Fix handling of working dir
2020-08-11 06:22:57 -04:00
1ae8d2f096 Enable systemd mode for /usr/local/sbin/init
Podman 1.6.2 changed systemd mode auto-detection from commands ending in
``init`` to hard-coded paths ``/sbin/init`` and ``/usr/sbin/init``. This
broke FreeIPA container. ``podman run`` and ``podman create`` now
activate systemd mode when the command is ``/usr/local/sbin/init``.

Fixes: https://github.com/containers/podman/issues/7287
Signed-off-by: Christian Heimes <cheimes@redhat.com>
2020-08-11 11:41:14 +02:00
97a2c86aab Allow specifying seccomp profiles for privileged containers
To sync the behavior between AppArmor and seccomp it is now possible to
also specify seccomp profiles for privileged containers.

Signed-off-by: Sascha Grunert <sgrunert@suse.com>
2020-08-11 11:18:52 +02:00
a90ae00df1 Merge pull request #7261 from zhangguanzhang/ps-format-add-field
Add the `Status` field in the ps --format=json
2020-08-11 04:22:30 -04:00
92b088b4a5 Merge pull request #7266 from rhatdan/man
[CI:DOCS] Add missing pages for docs.podman.io
2020-08-11 04:13:32 -04:00
518e83250e Merge pull request #7282 from ParkerVR/tags-digest
Img Pull - Error pass through
2020-08-11 03:57:04 -04:00
6ebd257245 Add the Status field in the ps --format=json
Signed-off-by: zhangguanzhang <zhangguanzhang@qq.com>
2020-08-11 13:47:54 +08:00
df0ad51075 Merge pull request #7270 from Fodoj/master
Allign container image storage configuration with Buildah
2020-08-10 19:41:30 -04:00
8f346c30c3 Add missing pages for docs.podman.io
Lots of references to man pages missing from docs.podman.io

Also fix sort order in man pages and other documents.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-08-10 19:35:23 -04:00
75d2fe63db Merge pull request #7256 from mheon/fix_cmd_with_entrypoint
Do not use image CMD if user gave ENTRYPOINT
2020-08-10 16:29:48 -04:00
f24538b85e Merge pull request #7244 from rhatdan/test
Remove TEST_ from TEST_REMOTE_*
2020-08-10 16:27:04 -04:00
b20f44f073 Merge pull request #7240 from jwhonce/issues/7123
Default .Repository and .Tag values to <none>
2020-08-10 16:23:52 -04:00
f642b0482f Merge pull request #7221 from baude/issue7127
remove --latest for all remote commands
2020-08-10 16:21:12 -04:00
330e3d3728 Align images with Buildah
Signed-off-by: Kirill Shirinkin <kirill@hey.com>
2020-08-10 22:15:55 +02:00
2266ba7165 Error pass through for more accurate error reporting
Included old error + wrapped

Signed-off-by: Parker Van Roy <pvanroy@redhat.com>
2020-08-10 15:49:46 -04:00
cd74f66bad remove --latest for all remote commands
instead of hiding the latest options for podman-remote or catching an error if podman --remote <cmd> -l is used, we no longer add the latest option to any remote command.  podman will error with a "unknown flag" option.

Fixes: #7127

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-08-10 12:05:39 -05:00
68fd9aa2cf Merge pull request #7223 from mheon/fix_7214
Unconditionally retrieve pod names via API
2020-08-10 12:59:06 -04:00
5ba21849a5 Merge pull request #7272 from vrothberg/issue-7271
generate systemd: fix error handling
2020-08-10 12:50:37 -04:00
49fa3e7399 Remove TEST_REMOTE_CLIENT from RCLI
We know these are TEST_, hoping this makes the display in
cirrus easier for users to see true|false, since this is the
valuable information is.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-08-10 12:47:43 -04:00
afa823e4e7 Fix handling of working dir
Buildah and podman build can create images without a working dir.

FROM fedora
WORKDIR /test

If you build this image with caching twice, the second time the image
will not have a working dir.

Similarly if you execute

podman run --workdir /foobar fedora

It blows up since the workingdir is not created automatically.

Finally there was duplicated code for getting the workingdir
out of an image, that this PR removes.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-08-10 12:46:05 -04:00
162625f2e7 Merge pull request #7138 from cevich/add_python_packages
Cirrus: Add python packages to images
2020-08-10 11:52:45 -04:00
c60b695e64 Default .Repository and .Tag values to <none>
Refactor the processing of Repository and Tag fields to default to <none>
when printing via --format flag. Previously, the default format would
print <none> but --format {{.Tag}} would not in some cases.

Fixes #7123

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-08-10 08:03:58 -07:00
6865058f2f generate systemd: fix error handling
Fix a bug in the error handling which returned nil instead of an error
and ultimately lead to nil dereferences in the client.  To prevent
future regressions, add a test and check for the error message.

Fixes: #7271
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-08-10 16:29:55 +02:00
39c493b3fc Do not use image CMD if user gave ENTRYPOINT
This matches Docker behavior, and seems to make sense - the CMD
may have been specific to the original entrypoint and probably
does not make sense if it was changed.

While we're in here, greatly simplify the logic for populating
the SpecGen's Command. We create the full command when making the
OCI spec, so the client should not be doing any more than setting
it to the Command the user passed in, and completely ignoring
ENTRYPOINT.

Fixes #7115

Signed-off-by: Matthew Heon <mheon@redhat.com>
2020-08-10 10:18:43 -04:00
569854d634 Unconditionally retrieve pod names via API
The ListContainers API previously had a Pod parameter, which
determined if pod name was returned (but, notably, not Pod ID,
which was returned unconditionally). This was fairly confusing,
so we decided to deprecate/remove the parameter and return it
unconditionally.

To do this without serious performance implications, we need to
avoid expensive JSON decodes of pod configuration in the DB. The
way our Bolt tables are structured, retrieving name given ID is
actually quite cheap, but we did not expose this via the Libpod
API. Add a new GetName API to do this.

Fixes #7214

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-08-10 10:15:51 -04:00
da00482ef2 Merge pull request #7238 from edsantiago/bats
system tests: podman-remote, image tree
2020-08-10 10:13:25 -04:00
3c880a9b83 system tests: podman-remote, image tree
- new sanity checks for podman-remote:
  - first, confirm that when PODMAN is "-remote",
    we actually talk to a server (validated by
    presence of "Server:" string in "podman version").
  - second, add test for #7212, in which we run
    "podman --remote" (podman with --remote flag,
    not podman-remote command) and make sure --remote
    is allowed both as the first option and also
    with other flag options preceding.

- new test for "podman image tree" (piggybacking on
  top of a "podman build" test, because that gives
  us lots of layers).

- skip "podman exec - basic test" when remote. It is consistently
  causing CI failures, breaking all of CI, due to #7241.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-08-10 06:27:44 -06:00
95e2e15a3f Merge pull request #7216 from 5eraph/master
support outbound-addr
2020-08-09 07:45:20 -04:00
3173a18f6f Merge pull request #7215 from vrothberg/flatten-the-curve
images: speed up lists
2020-08-08 07:14:37 -04:00
1298161ae4 Merge pull request #7075 from TomSweeneyRedHat/dev/tsweeney/runman
[CI:DOCS] BZ1860126 - Fix userns defaults in run man page
2020-08-08 06:24:07 -04:00
5aaf6788f9 [CI:DOCS] BZ1860126 - Fix userns defaults in run man page
Addresses the multiple "default" userns values found
in the podman-run(1) man page:  http://docs.podman.io/en/latest/markdown/podman-run.1.html.

This in response to: https://bugzilla.redhat.com/show_bug.cgi?id=1860126
which this PR wil fix.

Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2020-08-07 15:42:13 -04:00
e6a5a56aa6 changes to support outbound-addr
Fixes #6064

Signed-off-by: Bohumil Cervenka <5eraph@protonmail.com>
2020-08-07 19:34:45 +02:00
51159e7b83 Merge pull request #7232 from Luap99/podman-logs-tail
fix podman logs --tail when log is bigger than pagesize
2020-08-07 08:55:43 -04:00
8827100b98 image list: speed up
Listing images has shown increasing performance penalties with an
increasing number of images.  Unless `--all` is specified, Podman
will filter intermediate images.  Determining intermediate images
has been done by finding (and comparing!) parent images which is
expensive.  We had to query the storage many times which turned it
into a bottleneck.

Instead, create a layer tree and assign one or more images to nodes that
match the images' top layer.  Determining the children of an image is
now exponentially faster as we already know the child images from the
layer graph and the images using the same top layer, which may also be
considered child images based on their history.

On my system with 510 images, a rootful image list drops from 6 secs
down to 0.3 secs.

Also use the tree to compute parent nodes, and to filter intermediate
images for pruning.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-08-07 12:14:11 +02:00
2c79f9929d fix podman logs --tail when log is bigger than pagesize
Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2020-08-06 20:56:30 +02:00
0d4a269c6d Merge pull request #7220 from baude/issue7124
podman-remote send name and tag
2020-08-05 23:35:41 +02:00
a948635041 Merge pull request #7212 from jwhonce/issues/7211
Refactor parsing to not require --remote to be first flag
2020-08-05 22:57:48 +02:00
bae6d5ddaf Merge pull request #7236 from mheon/write_error_to_inspect
Ensure that exec errors write exit codes to the DB
2020-08-05 21:57:48 +02:00
7a64ce35db Ensure that exec errors write exit codes to the DB
In local Podman, the frontend interprets the error and exit code
given by the Exec API to determine the appropriate exit code to
set for Podman itself; special cases like a missing executable
receive special exit codes.

Exec for the remote API, however, has to do this inside Libpod
itself, as Libpod will be directly queried (via the Inspect API
for exec sessions) to get the exit code. This was done correctly
when the exec session started properly, but we did not properly
handle cases where the OCI runtime fails before the exec session
can properly start. Making two error returns that would otherwise
not set exit code actually do so should resolve the issue.

Fixes #6893

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-08-05 14:30:48 -04:00
77f7bf9a9c podman-remote send name and tag
when loading an image with podman-remote load, we need to send a name and a tag to the endpoint

Fixes: #7124

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-08-05 12:34:44 -05:00
98da2fa806 Refactor parsing to not require --remote to be first
Use cobra.Command.FParseErrWhitelist to no longer require --remote to be
the first argument in flags when using CLI

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-08-05 10:19:44 -07:00
d1aaf33622 Merge pull request #7176 from mheon/make_entrypoint
Ensure WORKDIR from images is created
2020-08-05 14:48:28 +02:00
7a7c8e9911 Merge pull request #6905 from QiWang19/retry-pull
Retry pulling image
2020-08-05 10:53:49 +02:00
47971909ae Merge pull request #7125 from QiWang19/fd-validate
validate fds --preserve-fds
2020-08-05 09:37:59 +02:00
6260677012 Merge pull request #7224 from rhatdan/remove
Handle podman-remote run --rm
2020-08-05 04:14:22 +02:00
0a3f3c94f8 Merge pull request #7081 from QiWang19/sigature-store
fix bug podman sign storage path
2020-08-05 02:47:44 +02:00