9191 Commits

Author SHA1 Message Date
d6ae56113a Merge pull request #7369 from containers/dependabot/go_modules/github.com/containers/image/v5-5.5.2
Bump github.com/containers/image/v5 from 5.5.1 to 5.5.2
2020-08-19 20:28:40 +02:00
71adbcc52e Cirrus: special-case CI colon-IMG and colon-DOCS only in subject
As of a few minutes ago (relative to this commit), Cirrus
defines the CIRRUS_CHANGE_TITLE envariable as "First line
of CIRRUS_CHANGE_MESSAGE"[1]. Replace all conditionals
accordingly.

 [1] f8d2530c60

Reasoning: up until this PR, the presence of CI:IMG
or CI:DOCS *in the body* of the commit message would trigger
those magic CI code flows. This violates POLA, and actually
led to a bad PR (#7317) being merged because CI never ran.

Fixes: #7374

Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-08-19 11:31:48 -06:00
eb9e8fc558 Add support for --connection
* override --url and/or --identity fields from containers.conf
* --connection flag has higher precedence than ActiveService from
containers.conf. Which is set via podman system connection default
* Add newline to error message printed on stderr
* Added --connection to bash completion and documentation
* Updated bindings to query server in case of no path or /

Closes #jira-991
Fixes #7276

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
Signed-off-by: Jhon Honce <jhonce@redhat.com>

Squashed commits to work around CI issue
2020-08-19 08:37:44 -07:00
d254fa4c35 system tests: enable more remote tests; cleanup
info, images, run, networking tests: remove some skip_if_remote()s
that were added in the varlink days. All of these tests now seem
to work with APIv2.

help test: check that first output line from 'podman --help'
is the program description (regression check for #7273).

load test: clean up stray images, rewrite test to make it conform
to existing convention. In the process, discover and file #7337

exec test (and networking): file #7360, and add FIXME comment
to skip()s suggesting evaluating those tests once that is fixed.

pod test: now that #6328 is fixed, use 'podman pod inspect --format'
instead of relying on jq

Various other tests: add an explanation of why test is disabled
so we can more easily distinguish "this will never be meaningful
under remote" vs "hey, doesn't work for now, but maybe someday".

Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-08-19 08:12:14 -06:00
dd4e0da424 Merge pull request #7350 from vrothberg/fix-7285
generate systemd: quote arguments with whitespace
2020-08-19 15:51:20 +02:00
45b3d61c55 Merge pull request #7343 from mheon/update_defaultenv
Ensure DefaultEnvVariables is used in Specgen
2020-08-19 15:48:25 +02:00
65b8bf795b Note port publishing needs in pods for create/run
Add notes to the podman-create and podman-run man pages
to note that ports do not need to be published and should not
be, for containers that will be part of a pod.

Addresses: #6769

Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2020-08-19 09:21:31 -04:00
a1e0a78425 Cirrus: Increase integration-testing timeout
Observed timeout problems hitting some integration-testing
tasks differently than others.  Given the current `Makefile`
has a ginkgo timeout of 90-minutes, the task timeout for
integration tests should be longer. Increase the timeout
of the main integration-test running tasks to the (default)
120min global valie in `.cirrus.yml`.

Signed-off-by: Chris Evich <cevich@redhat.com>
2020-08-19 09:17:22 -04:00
7e2a1b34c3 Merge pull request #7311 from QiWang19/service-reload
Support sighup reload configuration files
2020-08-19 12:05:12 +02:00
8a25e6ab6e Bump github.com/containers/image/v5 from 5.5.1 to 5.5.2
Bumps [github.com/containers/image/v5](https://github.com/containers/image) from 5.5.1 to 5.5.2.
- [Release notes](https://github.com/containers/image/releases)
- [Commits](https://github.com/containers/image/compare/v5.5.1...v5.5.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-08-19 05:57:00 -04:00
b1ffa2324e generate systemd: quote arguments with whitespace
Make sure that arguments with whitespace are properly quoted so they are
interpreted as one (and not multiple ones) by systemd.

Now `-e tz="america/new york"` will be generated as `-e "tz=america/new york"`.
The quotes are moving but the argument is still correct.

Fixes: #7285
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-08-19 08:32:51 +02:00
9d096c1c4e Merge pull request #7361 from Luap99/version-builttime
fix podman version output to include git commit and builttime
2020-08-19 00:53:58 +02:00
a7e864e6e7 Ensure DefaultEnvVariables is used in Specgen
When we rewrote Podman's pkg/spec, one of the things that was
lost was our use of a set of default environment variables, that
ensure all containers have at least $PATH and $TERM set.

While we're in the process of re-adding it, change it from a
variable to a function, so we can ensure the Join function does
not overwrite it and corrupt the defaults.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-08-18 15:17:46 -04:00
ff1f81b14a Merge pull request #7341 from edsantiago/e2e_use_tmpdirs
e2e tests: use actual temp dirs, not "/tmp/dir"
2020-08-18 20:52:44 +02:00
7995f85f75 Merge pull request #7339 from giuseppe/change-systemd-detection
abi: fix detection for systemd
2020-08-18 20:49:45 +02:00
13b307e7cc Merge pull request #7338 from edsantiago/image_trust_flake_fix
flake fix: podman image trust
2020-08-18 20:46:54 +02:00
c3c902f831 Merge pull request #7352 from Luap99/uts-pod
fix podman create/run UTS NS docs
2020-08-18 20:44:11 +02:00
5b02b69ea8 Support sighup reload configuration files
Support podman service sighup reload configuration files(containers.conf, registries.conf, storage.conf).

Signed-off-by: Qi Wang <qiwan@redhat.com>
2020-08-18 14:42:49 -04:00
c1fef2af3e Merge pull request #7358 from jwhonce/issues/7273
Remove help/usage from --remote pre-check
2020-08-18 20:37:40 +02:00
d9f0c48176 fix podman version output to include git commit and builttime
Add the go module version v2 to the libpod path.

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2020-08-18 20:37:18 +02:00
bd63a252f3 Don't limit the size on /run for systemd based containers
We had a customer incident where they ran out of space on /run.

If you don't specify size, it will be still limited to 50% or memory
available in the cgroup the container is running in.  If the cgroup is
unlimited then the /run will be limited to 50% of the total memory
on the system.

Also /run is mounted on the host as exec, so no reason for us to mount
it noexec.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-08-18 14:31:00 -04:00
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
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
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
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
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
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