Commit graph

10743 commits

Author SHA1 Message Date
OpenShift Merge Robot 6ba8819d33
Merge pull request #9090 from mheon/sync_shutdown
[NO TESTS NEEDED] Ensure shutdown handler access is syncronized
2021-01-25 23:26:52 +01:00
OpenShift Merge Robot b902ad9375
Merge pull request #9091 from edsantiago/more_bats
System tests: cover gaps from the last month
2021-01-25 23:20:53 +01:00
OpenShift Merge Robot 63cef43f0c
Merge pull request #9081 from containers/dependabot/go_modules/github.com/google/uuid-1.2.0
Bump github.com/google/uuid from 1.1.5 to 1.2.0
2021-01-25 21:55:56 +01:00
Matthew Heon 5350254f05 Ensure shutdown handler access is syncronized
There was a potential race where two handlers could be added at
the same time. Go Maps are not thread-safe, so that could do
unpleasant things. Add a mutex to keep things safe.

Also, swap the order or Register and Start for the handlers in
Libpod runtime created. As written, there was a small gap between
Start and Register where SIGTERM/SIGINT would be completely
ignored, instead of stopping Podman. Swapping the two closes this
gap.

Signed-off-by: Matthew Heon <mheon@redhat.com>
2021-01-25 15:44:42 -05:00
Ed Santiago 33179c281e System tests: cover gaps from the last month
- stop: test --all and --ignore (#9051)
- build: test /run/secrets (#8679, but see below)
- sensitive mount points: deal with 'stat' failures
- selinux: confirm useful diagnostics on unknown labels (#8946)

The 'build' test is intended as a fix for #8679, in which
'podman build' does not mount secrets from mounts.conf.
Unfortunately, as of this writing, 'podman build' does
not pass the --default-mounts-file option to buildah,
so there's no reasonable way to test this path. Still,
we can at least confirm /run/secrets on 'podman run'.

The /sys thing is related to #8949: RHEL8, rootless, cgroups v1.
It's just a workaround to get gating tests to pass on RHEL.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2021-01-25 13:34:26 -07:00
Daniel J Walsh 5623cb9d3d
Fix --arch and --os flags to work correctly
Currently podman implements --override-arch and --overide-os
But Podman has made these aliases for --arch and --os.  No
reason to have to specify --override, since it is clear what
the user intends.

Currently if the user specifies an --override-arch field but the
image was previously pulled for a different Arch, podman run uses
the different arch.  This PR also fixes this issue.

Fixes: https://github.com/containers/podman/issues/8001

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-01-25 14:58:24 -05:00
OpenShift Merge Robot 23b879d72f
Merge pull request #9085 from rhatdan/docs
Fix typo
2021-01-25 20:48:51 +01:00
OpenShift Merge Robot f4e857245a
Merge pull request #9079 from Luap99/fish-completion
[CI:DOCS] Fix fish completion issue if the command is prefixed with a space
2021-01-25 17:41:52 +01:00
OpenShift Merge Robot cd62d372e5
Merge pull request #9057 from baude/dnsnameinternal
disable dnsname when --internal
2021-01-25 17:35:52 +01:00
dependabot-preview[bot] a86d23c750
Bump github.com/google/uuid from 1.1.5 to 1.2.0
Bumps [github.com/google/uuid](https://github.com/google/uuid) from 1.1.5 to 1.2.0.
- [Release notes](https://github.com/google/uuid/releases)
- [Commits](https://github.com/google/uuid/compare/v1.1.5...v1.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-01-25 11:07:19 -05:00
TeeVenDick 75698b4b78
Fix typo
Copied from @TeeVenDick patch https://github.com/containers/podman/pull/9072

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-01-25 10:34:23 -05:00
baude 393a8f0261 disable dnsname when --internal
when doing a network creation, the dnsname plugin should be disabled
when the --internal bool is set.  a warning is displayed if this
happens and docs are updated.

Signed-off-by: baude <bbaude@redhat.com>
2021-01-25 08:51:15 -06:00
OpenShift Merge Robot b4b78382cd
Merge pull request #9080 from siretart/patch-1
swagger.go: Fix compilation error
2021-01-25 11:51:09 +01:00
Reinhard Tartler ef76b92b80 swagger.go: Fix compilation error
Error looks like:

  # github.com/containers/podman/pkg/api/handlers/swagger
  src/github.com/containers/podman/pkg/api/handlers/swagger/swagger.go:169:3: undefined: libpod.InspectVolumeData

[NO TESTS NEEDED]

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2021-01-24 17:31:29 -05:00
Paul Holzinger 8c1768e382 Fix fish completion issue if the command is prefixed with a space
Update the completion script like https://github.com/spf13/cobra/pull/1249.

[NO TESTS NEEDED]

Fixes #8829

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2021-01-24 18:04:48 +01:00
OpenShift Merge Robot 479fc22604
Merge pull request #9066 from giuseppe/set-source-to-net
networking: lookup child IP in networks
2021-01-24 16:16:10 +01:00
OpenShift Merge Robot b6765c17e6
Merge pull request #9071 from TomSweeneyRedHat/dev/tsweeney/bump_crypto2
Bump golang.org/x/crypto
2021-01-24 16:15:12 +01:00
root a457c5c928 Bump golang.org/x/crypto
Bump golang.org.x/cyrpto to the latest

Signed-off-by: root <root@localhost.localdomain>
Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2021-01-23 17:04:59 -05:00
Giuseppe Scrivano 0ba1942f26
networking: lookup child IP in networks
if a CNI network is added to the container, use the IP address in that
network instead of hard-coding the slirp4netns default.

commit 5e65f0ba30 introduced this
regression.

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

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2021-01-23 18:28:56 +01:00
OpenShift Merge Robot 3f5af4e806
Merge pull request #9073 from mlegenovic/master
Small API test improvement for compatibility search endpoint
2021-01-23 16:37:10 +01:00
Milivoje Legenovic c182091b02 Small API test improvement for compatibility search endpoint
Signed-off-by: Milivoje Legenovic <m.legenovic@gmail.com>
2021-01-23 13:50:32 +01:00
OpenShift Merge Robot 6cef7c78dd
Merge pull request #9028 from mlegenovic/master
Accept and ignore 'null' as value for X-Registry-Auth
2021-01-23 12:16:09 +01:00
OpenShift Merge Robot 1305f7c47a
Merge pull request #9067 from Luap99/podman-manifest-exists
podman manifest exists
2021-01-23 11:05:09 +01:00
Paul Holzinger 6e6a38b416 podman manifest exists
Add podman manifest exists command with remote support.

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2021-01-22 20:19:13 +01:00
OpenShift Merge Robot 474ba4c3ac
Merge pull request #9068 from rhatdan/remote
Turn on some remote test
2021-01-22 18:34:20 +01:00
Milivoje Legenovic c9baa6b93b Accept and ignore 'null' as value for X-Registry-Auth
docker-client is a library written in Java and used in Eclipse to
speak with Docker API. When endpoint /images/search is called,
HTTP header attribute X-Registry-Auth has value "null". This is for
sure wrong but Docker tolerates this value, and call works. With this
patch call works also with Podman. #7857

Signed-off-by: Milivoje Legenovic <m.legenovic@gmail.com>
2021-01-22 18:26:21 +01:00
Daniel J Walsh 4b8df5903f
Turn on some remote test
Just running through the tests that have SkipIfRemote("FIXME")
and attempting to not skip. Found these tests now work.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-01-22 10:54:39 -05:00
OpenShift Merge Robot 47616fe647
Merge pull request #9050 from xcffl/doc-rm-pod-before-start-systemd-service
[ci:docs] Add a notice to remove pods/containers before starting the systemd service
2021-01-22 06:23:09 -05:00
xcffl 94f96c78a6 Add a notice to remove pod before starting service
Signed-off-by: xcffl <2216902+xcffl@users.noreply.github.com>
2021-01-22 18:28:19 +08:00
OpenShift Merge Robot f02aba6594
Merge pull request #9052 from giuseppe/set-source-to-slirp4netns-ip
rootlessport: set source IP to slirp4netns device
2021-01-22 05:07:15 -05:00
Giuseppe Scrivano ef654941d1
libpod: move slirp magic IPs to consts
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2021-01-22 08:08:27 +01:00
Giuseppe Scrivano 5e65f0ba30
rootlessport: set source IP to slirp4netns device
set the source IP to the slirp4netns address instead of 127.0.0.1 when
using rootlesskit.

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

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2021-01-22 08:08:26 +01:00
Giuseppe Scrivano 37319dec17
vendor: update rootlesskit to v0.12.0
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2021-01-22 08:08:25 +01:00
Ryan Goodfellow 2fa67fe4b0 api: fix import image swagger definition
The podman API implementation only accepts image uploads with the
applicatoin/x-tar content type, however the generated swagger
documentation currently states this should be a form encoded file with
the content type application/x-www-form-urlencoded which does not work.

Signed-off-by: Ryan Goodfellow <rgoodfel@isi.edu>
2021-01-21 15:41:44 -08:00
OpenShift Merge Robot 6fd83de31d
Merge pull request #9027 from Luap99/podman-volume-exists
Podman volume exists
2021-01-21 15:31:32 -05:00
Paul Holzinger 9d31fed5f7 podman volume exists
Add podman volume exists command with remote support.

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2021-01-21 19:18:51 +01:00
OpenShift Merge Robot 3ba1a8de86
Merge pull request #9053 from cevich/master_no_smoke_branches
[CI:DOCS] Cirrus: Skip smoke task on branch-push
2021-01-21 12:11:44 -05:00
Chris Evich 4e4d318b71
Cirrus: Upload swagger YAML in every context
The podman documentation site uses javascript to display
API documentation at:

http://docs.podman.io/en/latest/Reference.html

As input, the javascript sources from a CORS-enabled Google Cloud
Storage object.  This commit ensures the storage object is present and
updated for every Cirrus-CI execution context: Tags, Branches, and PRs.

As of this commit, the documentation site only utilizes the object
uploaded by the Cirrus-CI run on the `master` branch:
`swagger-master.yaml`.  The file produced and uploaded due to a PR is
intended for testing purposes: Confirm it's generation and uploading are
both functional.

Signed-off-by: Chris Evich <cevich@redhat.com>
2021-01-21 10:26:57 -05:00
OpenShift Merge Robot d102d02eb1
Merge pull request #9046 from Luap99/fix-network-tests
Fix e2e network test flakes
2021-01-21 09:49:15 -05:00
Chris Evich dbb99433d5
[CI:DOCS] Cirrus: Skip smoke task on branch-push
There is no need to re-run the same basic validation checks as were
presumably already run on a PR before it merged.  There are also
possible problems properly determining `$EPOCH_TEST_COMMIT` when
there have been no successful CI-runs on the branch (i.e. it's new).
This needlessly fouls up the git-validation tool.  Fix Both problems
by just skipping the 'smoke' task for branches and tags.

Signed-off-by: Chris Evich <cevich@redhat.com>
2021-01-21 09:09:23 -05:00
OpenShift Merge Robot 7d297ddbda
Merge pull request #9044 from TomSweeneyRedHat/dev/tsweeney/coc_2
[CI:DOCS] Update project name in Code of Conduct
2021-01-21 08:03:20 -05:00
Paul Holzinger 836fa4c493 Move the cni lock file into the cni config dir
Commit(fe3faa517e) introduced a lock file for network create/rm calls.
There is a problem with the location of the lock file. The lock file was
stored in the tmpdir. Running multiple podman network create/remove
commands in parallel with different tmpdirs made the lockfile inaccessible
to the other process, and so parallel read/write operations to the cni
config directory continued to occur. This scenario happened frequently
during the e2e tests and caused some flakes.

Fixes #9041

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2021-01-21 11:50:45 +01:00
OpenShift Merge Robot 55982295dd
Merge pull request #9036 from baude/composelog
Set log driver for compatibility containers
2021-01-21 05:48:38 -05:00
Paul Holzinger c1cd512cb8 Use random network names in the e2e tests
Unlike the container storage all e2e test are using the same cni
config directory. This causes problems if the network name already
exists. Using random names will make the second run pass even if the
first failed. This is only done to prevent full CI failures.

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2021-01-21 11:27:56 +01:00
OpenShift Merge Robot 14443ccdfc
Merge pull request #9014 from rhatdan/rm
Fix handling of container remove
2021-01-20 17:58:11 -05:00
TomSweeneyRedHat 3fedb2b6dd [CI:DOCS] Update project name in Code of Conduct
Changes the project name from Libpod to Podman in the
Code of Conduct document.

Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2021-01-20 14:52:53 -05:00
baude f430467453 Set log driver for compatability containers
when using the compatibility api to create containers, now reflect the
use of k8s-file as json-file so that clients, which are
unaware of k8s-file, can work.  specifically, if the container is using
k8s-file as the log driver, we change the log type in container
inspection to json-file.  These terms are used interchangably in other
locations in libpod/podman.

this fixes log messages in compose as well.

[NO TESTS NEEDED]

Signed-off-by: baude <bbaude@redhat.com>
2021-01-20 13:07:31 -06:00
OpenShift Merge Robot fe4f9ba303
Merge pull request #9035 from Luap99/fix-9034
Make generate systemd --new robust against double curly braces
2021-01-20 10:56:50 -05:00
OpenShift Merge Robot d6711a2929
Merge pull request #9020 from vrothberg/fix-9000
make bindings generation more robust
2021-01-20 10:49:20 -05:00
Paul Holzinger c3cbaa355c Make generate systemd --new robust against double curly braces
If the container create command contains an argument with double
curly braces the golang template parsing can fail since it tries
to interpret the value as variable. To fix this change the default
delimiter for the internal template to `{{{{`.

Fixes #9034

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2021-01-20 15:07:37 +01:00