8916 Commits

Author SHA1 Message Date
b3f5c93ecc abi: fix detection for systemd
create a scope everytime we don't own the current cgroup and we are
running on systemd.

Closes: https://github.com/containers/podman/issues/6734

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-08-18 18:05:38 +02:00
748e8829da Merge pull request #7354 from edsantiago/redisable_sdnotify
Re-disable sdnotify tests to try to fix CI
2020-08-18 17:09:32 +02:00
18f36d8cf6 Re-disable sdnotify tests to try to fix CI
Some CI tests are hanging, timing out in 60 or 120 minutes.
I wonder if it's #7316, the bug where all podman commands
hang forever if NOTIFY_SOCKET is set?

Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-08-18 07:21:47 -06:00
49d6468b93 Merge pull request #7292 from spearlineltd/cleanupzombie
Wait for reexec to finish when fileOutput is nil
2020-08-18 13:14:48 +02:00
8caed30574 Merge pull request #7283 from mheon/pod_infra_has_exit_cmd
Ensure pod infra containers have an exit command
2020-08-17 21:08:32 +02:00
c4b2078508 Clean up pods before returning from Pod Stop API call
This should help alleviate races where the pod is not fully
cleaned up before subsequent API calls happen.

Signed-off-by: Matthew Heon <mheon@redhat.com>
2020-08-17 11:04:26 -04:00
47108e2e09 Merge pull request #7333 from openSUSE/bashify
Use `bash` binary from env instead of /bin/bash for scripts
2020-08-17 12:24:58 +02:00
1db18bf107 Merge pull request #7317 from edsantiago/bats
system tests: enable sdnotify tests
2020-08-17 12:16:32 +02:00
ba9f18e2b8 Use bash binary from env instead of /bin/bash for scripts
It's not possible to run any of the scripts on distributions which do
have `bash` not in `/bin`. This is being fixed by using `/usr/bin/env
bash` instead.

Signed-off-by: Sascha Grunert <sgrunert@suse.com>
2020-08-17 10:42:23 +02:00
fff66f1430 Merge pull request #7326 from TomSweeneyRedHat/dev/tsweeney/knownissuetoissuetemp
Add pointer to troubleshooting in issue template
2020-08-17 08:55:13 +02:00
96fb5dc94d Merge pull request #7314 from aojea/ipv6_default_gw
IPv6 default route
2020-08-16 13:36:47 +02:00
f1f1834f91 Merge pull request #7320 from containers/dependabot/go_modules/k8s.io/api-0.18.8
Bump k8s.io/api from 0.18.6 to 0.18.8
2020-08-16 13:26:25 +02:00
121e182915 Merge pull request #7321 from containers/dependabot/go_modules/github.com/containers/storage-1.23.0
Bump github.com/containers/storage from 1.21.2 to 1.23.0
2020-08-16 13:16:00 +02:00
0cd2f2d974 Wait for reexec to finish when fileOutput is nil
Currently, we're not cleanup up after ourselves when fileOutput is nil.
This patch fixes that.

Signed-off-by: Jonathan Dieter <jonathan.dieter@spearline.com>
2020-08-15 16:34:58 +01:00
b64e4e92d3 Bump k8s.io/api from 0.18.6 to 0.18.8
Bumps [k8s.io/api](https://github.com/kubernetes/api) from 0.18.6 to 0.18.8.
- [Release notes](https://github.com/kubernetes/api/releases)
- [Commits](kubernetes/api@v0.18.6...v0.18.8)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-08-15 06:49:42 -04:00
ca4423e94d Merge pull request #7237 from TomSweeneyRedHat/dev/tsweeney/imagedoc
[CI:DOCS] Update podmanimages README.md
2020-08-15 12:48:06 +02:00
fec8a29e91 Bump github.com/containers/storage from 1.21.2 to 1.23.0
Bumps [github.com/containers/storage](https://github.com/containers/storage) from 1.21.2 to 1.23.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.21.2...v1.23.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-08-15 06:46:11 -04:00
87e8f91c00 Merge pull request #7319 from containers/dependabot/go_modules/k8s.io/apimachinery-0.18.8
Bump k8s.io/apimachinery from 0.18.6 to 0.18.8
2020-08-15 12:42:47 +02:00
07e3f1bba9 podman support for IPv6 networks
podman containers using IPv6 were missing the default route, breaking
deployments trying to use them.

The problem is that the default route was hardcoded to IPv4, this
takes into consideration the podman subnet IP family to generate
the corresponding default route.

Signed-off-by: Antonio Ojea <aojea@redhat.com>
2020-08-15 12:11:01 +02:00
edc7483e61 Add pointer to troubleshooting in issue template
Add pointers to the Troubleshooting guide, including a new
question that the reporter referenced it in the issue template
that's displayed on GitHub.

Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2020-08-14 17:45:20 -04:00
e8ef2b5f6c Bump k8s.io/apimachinery from 0.18.6 to 0.18.8
Bumps [k8s.io/apimachinery](https://github.com/kubernetes/apimachinery) from 0.18.6 to 0.18.8.
- [Release notes](https://github.com/kubernetes/apimachinery/releases)
- [Commits](https://github.com/kubernetes/apimachinery/compare/v0.18.6...v0.18.8)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-08-14 05:17:54 -04:00
60ab5f3ae6 system tests: enable sdnotify tests
Oops. PR #6693 (sdnotify) added tests, but they were disabled
due to broken crun on f31. I tried for three weeks to get a
magic CI:IMG PR to update crun on the CI VMs ... but in that
time I forgot to actually enable those new tests.

This PR removes a 'skip', replacing it with a check that systemd
is running plus one more to make sure our runtime is crun. It
looks like sdnotify just doesn't work on Ubuntu (it hangs), and
my guess is that it's a crun/runc issue.

I also changed the test image from fedora:latest to :31, because,
sigh, fedora:latest removed the systemd-notify tool.

WARNING WARNING WARNING: the symptom of a missing systemd-notify
is that podman will hang forever, not even stopped by the timeout
command in podman_run! (Filed: #7316). This means that if the
sdnotify-in-container test ever fails, the symptom will be that
Cirrus itself will time out (2 hours?). This is horrible. I
don't know what to do about it other than push for a fix for 7316.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-08-13 19:16:25 -06:00
81499a5c47 Merge pull request #7312 from vrothberg/fix-7294
podman.service: use sdnotify
2020-08-13 23:00:33 +02:00
9ede14e1cd Merge pull request #7227 from giuseppe/procfs-opts
run, create: add new security-opt proc-opts
2020-08-13 21:11:21 +02:00
a071939893 Ensure pod infra containers have an exit command
Most Libpod containers are made via `pkg/specgen/generate` which
includes code to generate an appropriate exit command which will
handle unmounting the container's storage, cleaning up the
container's network, etc. There is one notable exception: pod
infra containers, which are made entirely within Libpod and do
not touch pkg/specgen. As such, no cleanup process, network never
cleaned up, bad things can happen.

There is good news, though - it's not that difficult to add this,
and it's done in this PR. Generally speaking, we don't allow
passing options directly to the infra container at create time,
but we do (optionally) proxy a pre-approved set of options into
it when we create it. Add ExitCommand to these options, and set
it at time of pod creation using the same code we use to generate
exit commands for normal containers.

Fixes #7103

Signed-off-by: Matthew Heon <mheon@redhat.com>
2020-08-13 14:03:57 -04:00
0f4e2be073 podman.service: use sdnotiy
Commit 2b6dd3fb4384 set the killmode of the podman.service to the
systemd default which ultimately lead to the problem that systemd
will kill *all* processes inside the unit's cgroup and hence kill
all containers whenever the service is stopped.

Fix it by setting the type to sdnotify and the killmode to process.
`podman system service` will send the necessary notify messages
when the NOTIFY_SOCKET is set and unset it right after to prevent
the backend and container runtimes from jumping in between and send
messages as well.

Fixes: #7294
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-08-13 17:53:59 +02:00
90831dfdce Merge pull request #7293 from spearlineltd/fixhang
Fix hang when `path` doesn't exist
2020-08-13 13:01:18 +02:00
feff414ae1 run, create: add new security-opt proc-opts
it allows to customize the options passed down to the OCI runtime for
setting up the /proc mount.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-08-12 23:46:38 +02:00
d777a7bd5c Merge pull request #7073 from QiWang19/save-stdout
podman save use named pipe
2020-08-12 23:26:03 +02:00
acae04aaaf Merge pull request #7306 from mheon/private_mount
Change /sys/fs/cgroup/systemd mount to rprivate
2020-08-12 23:23:16 +02:00
4ef4f522f9 Merge pull request #7308 from hamzadis/slirp4netns-cidr
Add support for setting the CIDR when using slirp4netns
2020-08-12 13:11:39 -04:00
8e4842a14d Merge pull request #7299 from jobcespedes/patch-1
add xz as a recommended pkg
2020-08-12 13:08:54 -04:00
bb3eceae56 Merge pull request #7295 from baude/msiremotefixes
podman-remote fixes for msi and client
2020-08-12 13:06:02 -04:00
73fa527ae1 Merge pull request #7296 from lsm5/make-test
Makefile: use full path for ginkgo
2020-08-12 13:03:02 -04:00
b73c78d88c Merge pull request #7202 from baude/buildevent
add event for image build
2020-08-12 12:59:44 -04:00
95e73c65ae Add support for setting the CIDR when using slirp4netns
This adds support for the --cidr parameter that is supported
by slirp4netns since v0.3.0. This allows the user to change
the ip range that is used for the network inside the container.

Signed-off-by: Adis Hamzić <adis@hamzadis.com>
2020-08-12 17:30:13 +02:00
1c9753c230 add event for image build
upon image build completion, a new image type event is written for "build". more intricate details, like pulling an image, that might be done by build must be implemented in different vendored packages only after libpod is split from podman.

Fixes: #7022

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-08-12 10:00:51 -05:00
ac96112d70 Merge pull request #7267 from zhangguanzhang/check-invalid-network-create
Add parameter verification for api creation network
2020-08-12 10:29:17 -04:00
6ff42395d0 podman-remote fixes for msi and client
correct small typo that sets the path on windows via the msi xml.

in the remote client, prompt for SSH password when no identity or alternate means of authentication are provided.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-08-12 09:19:52 -05:00
49dea06037 podman save use named pipe
podman save uses named pipe as output path, not directly using /dev/stdout.
fix #7017

Signed-off-by: Qi Wang <qiwan@redhat.com>
2020-08-12 10:03:41 -04:00
7b3cf0c085 Change /sys/fs/cgroup/systemd mount to rprivate
I used the wrong propagation first time around because I forgot
that rprivate is the default propagation. Oops. Switch to
rprivate so we're using the default.

Signed-off-by: Matthew Heon <mheon@redhat.com>
2020-08-12 09:15:02 -04:00
d45bd6e29a Add parameter verification for api creation network
Signed-off-by: zhangguanzhang <zhangguanzhang@qq.com>
2020-08-12 09:38:16 +08:00
c817e5ab2b add xz as a recommended pkg
xz package is required by buildah and podman when building a
image and ADD a tar.xz file archive is used

See https://github.com/containers/buildah/issues/2525

Signed-off-by: Job Cespedes Ortiz <jobcespedes@gmail.com>
2020-08-11 14:57:34 -06:00
8eaacec150 Merge pull request #7247 from baude/issue7122
Replace deepcopy on history results
2020-08-11 16:25:05 -04:00
43f277156c Merge pull request #7286 from alvistack/master-linux-amd64
Update nix pin with `make nixpkgs`
2020-08-11 15:03:42 -04:00
595c6ef2ba Merge pull request #7281 from mheon/ensure_mountprop_systemd
Ensure correct propagation for cgroupsv1 systemd cgroup
2020-08-11 15:01:00 -04:00
d31a881587 Merge pull request #7291 from edsantiago/man_page_subcommand_sort
[CI:DOCS] cross-reference .rst files
2020-08-11 14:58:10 -04:00
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
be41c58f25 Replace deepcopy on history results
the deepcopy in the remote history code path was throwing an uncaught error on a type mismatch.  we now manually do the conversion and fix the type mismatch on the fly.

Fixes: #7122

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-08-11 12:19:17 -05:00