Commit Graph

9120 Commits

Author SHA1 Message Date
Giuseppe Scrivano 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
Paul Holzinger 02e0d4ab38 fix podman create/run UTS NS docs
Add better error message when using `--pod` and `--hostname`.
Improve the docs to better explain the uts hostname relation.
Add more valid options for the `--uts` flag.

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2020-08-18 18:00:49 +02:00
Jhon Honce 3c1c55c8ce Remove help/usage from --remote pre-check
--remote pre-check was providing usage context, which was also being
provided by the root podman command.

Fixes #7273

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-08-18 08:57:00 -07:00
Ed Santiago 318336ad4b flake fix: podman image trust
The output of 'podman image trust' is in random order; but
its e2e test was assuming a specific one. This caused flakes.

Fixes: #6764

Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-08-18 09:12:36 -06:00
Ed Santiago bc07e1ba70 e2e tests: use actual temp dirs, not "/tmp/dir"
One of the --iidfile tests was flaking:

   Error: failed to write image ID to file "/tmp/dir/idFile": open /tmp/dir/idFile: no such file or directory

Root cause: test was actually not mkdir'ing /tmp/dir. Test was
mostly passing because _other_ tests in the suite were mkdir'ing
it, but once in a while this test ran before the others.

Solution: fixed this test to use CreateTempDirInTempDir(). And,
since hardcoded tempdirs are bad practice, grepped for '"dir"'
and fixed all other instances too.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-08-18 09:12:09 -06:00
OpenShift Merge Robot 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
Ed Santiago 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
OpenShift Merge Robot 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
OpenShift Merge Robot 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
Matthew Heon 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
OpenShift Merge Robot 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
OpenShift Merge Robot 1db18bf107
Merge pull request #7317 from edsantiago/bats
system tests: enable sdnotify tests
2020-08-17 12:16:32 +02:00
Sascha Grunert 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
OpenShift Merge Robot 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
OpenShift Merge Robot 96fb5dc94d
Merge pull request #7314 from aojea/ipv6_default_gw
IPv6 default route
2020-08-16 13:36:47 +02:00
OpenShift Merge Robot 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
OpenShift Merge Robot 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
Jonathan Dieter 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
Daniel J Walsh 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
OpenShift Merge Robot ca4423e94d
Merge pull request #7237 from TomSweeneyRedHat/dev/tsweeney/imagedoc
[CI:DOCS] Update podmanimages README.md
2020-08-15 12:48:06 +02:00
dependabot-preview[bot] 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
OpenShift Merge Robot 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
Antonio Ojea 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
TomSweeneyRedHat 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
dependabot-preview[bot] 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
Ed Santiago 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
OpenShift Merge Robot 81499a5c47
Merge pull request #7312 from vrothberg/fix-7294
podman.service: use sdnotify
2020-08-13 23:00:33 +02:00
OpenShift Merge Robot 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
Matthew Heon 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
Valentin Rothberg 0f4e2be073 podman.service: use sdnotiy
Commit 2b6dd3fb43 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
OpenShift Merge Robot 90831dfdce
Merge pull request #7293 from spearlineltd/fixhang
Fix hang when `path` doesn't exist
2020-08-13 13:01:18 +02:00
Giuseppe Scrivano 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
OpenShift Merge Robot d777a7bd5c
Merge pull request #7073 from QiWang19/save-stdout
podman save use named pipe
2020-08-12 23:26:03 +02:00
OpenShift Merge Robot 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
OpenShift Merge Robot 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
OpenShift Merge Robot 8e4842a14d
Merge pull request #7299 from jobcespedes/patch-1
add xz as a recommended pkg
2020-08-12 13:08:54 -04:00
OpenShift Merge Robot bb3eceae56
Merge pull request #7295 from baude/msiremotefixes
podman-remote fixes for msi and client
2020-08-12 13:06:02 -04:00
OpenShift Merge Robot 73fa527ae1
Merge pull request #7296 from lsm5/make-test
Makefile: use full path for ginkgo
2020-08-12 13:03:02 -04:00
OpenShift Merge Robot b73c78d88c
Merge pull request #7202 from baude/buildevent
add event for image build
2020-08-12 12:59:44 -04:00
Adis Hamzić 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
Brent Baude 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
OpenShift Merge Robot 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
Brent Baude 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
Qi Wang 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
Matthew Heon 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
zhangguanzhang d45bd6e29a Add parameter verification for api creation network
Signed-off-by: zhangguanzhang <zhangguanzhang@qq.com>
2020-08-12 09:38:16 +08:00
Job Cespedes 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
OpenShift Merge Robot 8eaacec150
Merge pull request #7247 from baude/issue7122
Replace deepcopy on history results
2020-08-11 16:25:05 -04:00
OpenShift Merge Robot 43f277156c
Merge pull request #7286 from alvistack/master-linux-amd64
Update nix pin with `make nixpkgs`
2020-08-11 15:03:42 -04:00
OpenShift Merge Robot 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