8546 Commits

Author SHA1 Message Date
b58d2b777c Merge pull request #6904 from cevich/minor_fix
CI:DOCS Minor: Remove two inaccurate comments
2020-07-08 15:08:27 -04:00
85d71aedcc Merge pull request #6907 from cevich/secure_variable
Cirrus: Rotate keys post repo. rename
2020-07-08 13:22:28 -05:00
38327b7571 Minor: Remove two inaccurate comments
Signed-off-by: Chris Evich <cevich@redhat.com>
2020-07-08 13:36:07 -04:00
576ce0f1b5 Cirrus: Rotate keys post repo. rename
Encode credentials at new repository settings page
https://cirrus-ci.com/settings/repository/6707778565701632

Ref: https://cirrus-ci.org/guide/writing-tasks/#encrypted-variables

Signed-off-by: Chris Evich <cevich@redhat.com>
2020-07-08 13:20:20 -04:00
54d16f3b5f Merge pull request #6829 from rhatdan/keepid
Add username to /etc/passwd inside of container if --userns keep-id
2020-07-07 19:23:27 +02:00
cd084853b6 Merge pull request #6881 from vrothberg/events-race
fix race condition in `libpod.GetEvents(...)`
2020-07-07 18:06:31 +02:00
8014008703 Merge pull request #6878 from skorhone/fix/docker_v1_24_image_list_compatibility
Add support for Filter query parameter to list images api
2020-07-07 17:51:27 +02:00
f4a2d25c0f fix race condition in libpod.GetEvents(...)
Fix a race that could cause read errors to be masked.  Masking such
errors is likely to report red herrings since users don't see that
reading failed for some reasons but that a given event could not be
found.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-07-07 16:22:22 +02:00
6c6670f12a Add username to /etc/passwd inside of container if --userns keep-id
If I enter a continer with --userns keep-id, my UID will be present
inside of the container, but most likely my user will not be defined.

This patch will take information about the user and stick it into the
container.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-07-07 08:34:31 -04:00
610118d9bf Add support for Filter query parameter to list images api
Docker api version 1.24 uses a query parameter named Filter
for filtering images by names. In more recent versions of
api name filter is in filters query parameter with other
filters

This patch adds a mapping that translates Filter query
parameter to Filters={"reference": [""]}

Signed-off-by: Sami Korhonen <skorhone@gmail.com>
2020-07-07 13:05:16 +03:00
1a93857acc Merge pull request #6693 from goochjj/libpod-sd-notify-cmdline
Implement --sdnotify cmdline option to control sd-notify behavior
2020-07-06 17:15:26 -04:00
b1cc781c68 Merge pull request #6570 from rhatdan/remote
Change buildtag for remoteclient to remote for testing
2020-07-06 17:00:19 -04:00
fca3434ee7 Merge pull request #6868 from mheon/fix_mount_rootless
Fix bug where `podman mount` didn't error as rootless
2020-07-06 16:41:59 -04:00
f4c649bdec Disable mount tests as rootless
As rootless, `podman mount` must be run inside `podman unshare`.
We don't really have a testing harness that can do this right
now.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-07-06 15:29:11 -04:00
a10d5b42ab Change buildtag for remoteclient to remote for testing
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-07-06 15:22:24 -04:00
f4708a5c49 Merge pull request #6812 from chuanchang/add_apiv2_test
test.apiv2: add testing for container initializing
2020-07-06 14:28:03 -04:00
10ad46eb73 BATS system tests for new sdnotify
Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-07-06 17:47:22 +00:00
0b1c1ef461 Implement --sdnotify cmdline option to control sd-notify behavior
--sdnotify container|conmon|ignore
With "conmon", we send the MAINPID, and clear the NOTIFY_SOCKET so the OCI
runtime doesn't pass it into the container. We also advertise "ready" when the
OCI runtime finishes to advertise the service as ready.

With "container", we send the MAINPID, and leave the NOTIFY_SOCKET so the OCI
runtime passes it into the container for initialization, and let the container advertise further metadata.
This is the default, which is closest to the behavior podman has done in the past.

The "ignore" option removes NOTIFY_SOCKET from the environment, so neither podman nor
any child processes will talk to systemd.

This removes the need for hardcoded CID and PID files in the command line, and
the PIDFile directive, as the pid is advertised directly through sd-notify.

Signed-off-by: Joseph Gooch <mrwizard@dok.org>
2020-07-06 17:47:18 +00:00
9532509c50 Merge pull request #6836 from ashley-cui/tzlibpod
Add --tz flag to create, run
2020-07-06 13:28:20 -04:00
195d44bde6 Fix bug where podman mount didn't error as rootless
We require that rootless `podman mount` be run inside a shell
spawned by `podman unshare` (which gives us a mount namespace
which actually lets other commands use the mounted filesystem).

The fix is simple - we need to mark the command as requiring the
rootless user namespace not be configured, so we can test for it
later as part of the mount code and error if we needed to make
one.

Fixes #6856

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-07-06 12:56:52 -04:00
9eac75a967 Merge pull request #6864 from vrothberg/v2-module
move go module to v2
2020-07-06 10:58:38 -04:00
778f34a15c Merge pull request #6859 from containers/dependabot/go_modules/github.com/onsi/ginkgo-1.14.0
Bump github.com/onsi/ginkgo from 1.13.0 to 1.14.0
2020-07-06 10:09:10 -04:00
8489dc4345 move go module to v2
With the advent of Podman 2.0.0 we crossed the magical barrier of go
modules.  While we were able to continue importing all packages inside
of the project, the project could not be vendored anymore from the
outside.

Move the go module to new major version and change all imports to
`github.com/containers/libpod/v2`.  The renaming of the imports
was done via `gomove` [1].

[1] https://github.com/KSubedi/gomove

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-07-06 15:50:12 +02:00
4bdc11951e Merge pull request #6790 from QiWang19/set_engine_env
Set engine env from common config
2020-07-06 09:36:08 -04:00
262843e1ce Merge pull request #6855 from Luap99/ps-command-trunc
podman ps truncate the command
2020-07-06 09:33:23 -04:00
9bccb0f091 Merge pull request #6858 from vrothberg/fix-6793
auto-update: clarify systemd-unit requirements
2020-07-06 09:28:08 -04:00
4351e33947 Merge pull request #6846 from mheon/fix_pod_errors
Print errors from individual containers in pods
2020-07-06 06:26:19 -04:00
a7ceed05a0 Merge pull request #6848 from TomSweeneyRedHat/dev/tsweeney/ib_v1.1.6_up
Bump imagebuilder to v1.1.6 in upstream
2020-07-06 06:21:08 -04:00
064bc32b1c Bump github.com/onsi/ginkgo from 1.13.0 to 1.14.0
Bumps [github.com/onsi/ginkgo](https://github.com/onsi/ginkgo) from 1.13.0 to 1.14.0.
- [Release notes](https://github.com/onsi/ginkgo/releases)
- [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md)
- [Commits](https://github.com/onsi/ginkgo/compare/v1.13.0...v1.14.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-07-06 06:17:39 -04:00
0ef5def0be auto-update: clarify systemd-unit requirements
Clarify in the help message and the man page that auto updates only work
with systemd units that are similar to the ones from `generate systemd
--new`.  Units that merely start/stop a container do not work as they
will use the same image.

Fixes: #6793
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-07-06 11:14:33 +02:00
41ccc045fb Merge pull request #6852 from skorhone/fix/6803_null_ports
Fix container inspect endpoint returning null for network settings / ports
2020-07-05 14:22:52 -04:00
b3dd42a797 podman ps truncate the command
With a long create command the
output from ps is basically unreadable.

This is a regression that was introduced with Podman 2.0.

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2020-07-05 18:14:04 +02:00
4192298be3 Set engine env from common config
Set the env that is used by Podman.
related issue containers/common#31

Signed-off-by: Qi Wang <qiwan@redhat.com>
2020-07-03 15:29:38 -04:00
e5bf56a48d Fix issue #6803 Container inspect endpoint returns null for NetworkSettings/Ports
Implement mapping for NetworkSettings/Ports for Container inspect endpoint

Signed-off-by: Sami Korhonen <skorhone@gmail.com>
2020-07-03 17:20:59 +03:00
b9d48a95a1 Merge pull request #6820 from containers/dependabot/go_modules/k8s.io/api-0.18.5
Bump k8s.io/api from 0.18.4 to 0.18.5
2020-07-03 04:59:50 -04:00
a704911061 Bump imagebuilder to v1.1.6 in upstream
Bump the imagebuilder package to v1.1.6 in
the upstream branch.

Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2020-07-02 14:57:56 -04:00
9a1543caec Add --tz flag to create, run
--tz flag sets timezone inside container
Can be set to IANA timezone as well as `local` to match host machine

Signed-off-by: Ashley Cui <acui@redhat.com>
2020-07-02 13:30:59 -04:00
e996bb583d Print errors from individual containers in pods
The infra/abi code for pods was written in a flawed way, assuming
that the map[string]error containing individual container errors
was only set when the global error for the pod function was nil;
that is not accurate, and we are actually *guaranteed* to set the
global error when any individual container errors. Thus, we'd
never actually include individual container errors, because the
infra code assumed that err being set meant everything failed and
no container operations were attempted.

We were originally setting the cause of the error to something
nonsensical ("container already exists"), so I made a new error
indicating that some containers in the pod failed. We can then
ignore that error when building the report on the pod operation
and actually return errors from individual containers.

Unfortunately, this exposed another weakness of the infra code,
which was discarding the container IDs. Errors from individual
containers are not guaranteed to identify which container they
came from, hence the use of map[string]error in the Pod API
functions. Rather than restructuring the structs we return from
pkg/infra, I just wrapped the returned errors with a message
including the ID of the container.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-07-02 12:59:10 -04:00
bd2fca0609 Merge pull request #6845 from baude/v2remotetests
stop podman service in e2e tests
2020-07-02 12:57:20 -04:00
22def2e2d9 Merge pull request #6838 from mheon/fix_panic_events
Fix `system service` panic from early hangup in events
2020-07-02 12:36:04 -04:00
a0599b77b7 stop podman service in e2e tests
when running e2e tests, each test knows to stop its service when running remote; however, during setup and teardown remote services were not being killed when we were done with them.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-07-02 10:36:24 -05:00
9e4cf6ca51 Fix system service panic from early hangup in events
We weren't actually halting the goroutine that sent events, so it
would continue sending even when the channel closed (the most
notable cause being early hangup - e.g. Control-c on a curl
session). Use a context to cancel the events goroutine and stop
sending events.

Fixes #6805

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-07-02 09:57:39 -04:00
c131567401 Merge pull request #6840 from containers/dependabot/go_modules/github.com/opentracing/opentracing-go-1.2.0
Bump github.com/opentracing/opentracing-go from 1.1.0 to 1.2.0
2020-07-02 08:41:52 -04:00
c4248e62ca Bump github.com/opentracing/opentracing-go from 1.1.0 to 1.2.0
Bumps [github.com/opentracing/opentracing-go](https://github.com/opentracing/opentracing-go) from 1.1.0 to 1.2.0.
- [Release notes](https://github.com/opentracing/opentracing-go/releases)
- [Changelog](https://github.com/opentracing/opentracing-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/opentracing/opentracing-go/compare/v1.1.0...v1.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-07-02 06:40:04 -04:00
9fb0b56f58 Merge pull request #6736 from maybe-sybr/maybe/apiv2/volumes-compat
APIv2: Add docker compatible volume endpoints
2020-07-02 05:59:34 -04:00
3aa22cb1be APIv2:fix: Handle docker volume force as expected
In response to input regarding the semantic difference for the `force`
parameter for volume removal between Docker and us, this change ensures
that we emulate the Dockr behaviour correctly when this parameter is
specified.

Signed-off-by: Matt Brindley <58414429+maybe-sybr@users.noreply.github.com>
2020-07-02 16:33:19 +10:00
cb61a2d858 APIv2: Add docker compatible volume endpoints
This change implements docker compatibile endpoint for interacting with
volumes. The code is mostly lifted from the `libpod` API handlers but
decodes and constructs data using types defined in the docker API
package.

Some notable support caveats with the current implementation:
  * we don't return the nullable `Status` or `UsageData` keys when
    returning volume information for inspect and create endpoints
  * we don't support filters when pruning
  * we return a fixed `0` for the `SpaceReclaimed` key when pruning
    since we have no insight into how much space was freed from runtime

Signed-off-by: Matt Brindley <58414429+maybe-sybr@users.noreply.github.com>
2020-07-02 16:33:19 +10:00
a622a30b0f Bump k8s.io/api from 0.18.4 to 0.18.5
Bumps [k8s.io/api](https://github.com/kubernetes/api) from 0.18.4 to 0.18.5.
- [Release notes](https://github.com/kubernetes/api/releases)
- [Commits](https://github.com/kubernetes/api/compare/v0.18.4...v0.18.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-07-01 11:16:40 -04:00
e84695213e Merge pull request #6831 from containers/dependabot/go_modules/github.com/containers/common-0.15.1
Bump github.com/containers/common from 0.14.3 to 0.15.1
2020-07-01 10:17:52 -04:00
eea96235f3 test.apiv2: add testing for container initializing
Signed-off-by: Alex Jia <chuanchang.jia@gmail.com>
2020-07-01 12:50:05 +00:00