Commit graph

23873 commits

Author SHA1 Message Date
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
Yohan Belléguic
6518391e87 Fix man page for fuse-overlayfs config in rootless mode
Signed-off-by: Yohan Belléguic <yohan.belleguic@arkea.com>
2021-01-20 14:58:42 +01:00
Valentin Rothberg
a3621a7cff Cirrus: add bindings checks
Make sure that bindings are in sync with the code.  The check is similar
to what's already being done with `make vendor`, so integrate the two.

[NO TESTS NEEDED]

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-01-20 14:38:02 +01:00
Daniel J Walsh
e7df73efad
Fix handling of container remove
I found several problems with container remove

podman-remote rm --all
Was not handled

podman-remote rm --ignore
Was not handled

Return better errors when attempting to remove an --external container.
Currently we return the container does not exists, as opposed to container
is an external container that is being used.

This patch also consolidates the tunnel code to use the same code for
removing the container, as the local API, removing duplication of code
and potential problems.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-01-20 07:37:13 -05:00
Valentin Rothberg
41a7e11c7e make bindings generation explicit
Instead of implicitly generating the bindings, make it explicit, similar
to `make vendor`.  This should prevent redundant and possibly error
prone generations.  A following commit will shield CI.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-01-20 13:19:06 +01:00
Valentin Rothberg
f302ce578b make bindings generation more robuts
The Go gods did not shine upon us trying to understand what's going on
in #9000.  The symptom is that `go generate` did not add required
imports to a generated file, ultimately breaking subsequent compilation.

While it still remains unclear *why* Go is behaving like that, the
symptom disappears when `go generate` runs in module mode; that is
without `-mod=vendor` and without `GO111MODULE=off`.  This was
reproducible on two separate machines (Ubuntu and Fedora).

Also, when facing an unset GOPATH, set it to Go's default (i.e.,
$HOME/go) and make sure that GOBIN is in PATH since `goimports`
is required by `go generate`.

Fixes: #9000
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-01-20 13:19:06 +01:00
OpenShift Merge Robot
7d024a2fc8
Merge pull request #9031 from vrothberg/revert-ginkgo
Revert "ginkgo: install on demand via `go get -u`"
2021-01-20 07:17:23 -05:00
OpenShift Merge Robot
54c465bda6
Merge pull request #8911 from edsantiago/prs_must_include_tests
CI: smoke test: insist on adding tests on PRs
2021-01-20 05:57:09 -05:00
Valentin Rothberg
175fc3867a Revert "ginkgo: install on demand via go get -u"
This reverts commit de05e58168.

Running `go get -u` will change the local Go module causing CI to fail
as the local git tree is being changed.  Reverting the change for now
until we have a better idea.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-01-20 10:31:24 +01:00
OpenShift Merge Robot
5e7262ddf5
Merge pull request #9021 from Luap99/podman-network-exists
podman network exists
2021-01-19 16:56:17 -05:00
OpenShift Merge Robot
37470c4d20
Merge pull request #9023 from edsantiago/fix_gomd2man_warnings
[CI:DOCS] fix go-md2man HTMLSpan warnings
2021-01-19 16:38:34 -05:00
Ed Santiago
37abec240a [CI:DOCS] fix go-md2man HTMLSpan warnings
I'm tired of seeing these every time I run 'make':

   WARNING: go-md2man does not handle node type HTMLSpan

Cause: left-angle-brackets ( < ) in document source

Solution:
  1) backquote-escape those that need to be shown, usually
     ones referring to an argument or email address; or
  2) Actual HTML ( <sup> and <a> ) which are meant to be
     shown in generated HTML docs but can't be shown in
     man pages, we filter out via a sed expression.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2021-01-19 12:59:03 -07:00
Ed Santiago
9f6bb3563d CI: smoke test: insist on adding tests on PRs
On each PR (with a few exceptions), check the list of git-touched
files, and abort if no tests are added. Include instructions
on how to bypass the check if tests really aren't needed.

Include a hardcoded exception list for PRs that only touch a
well-known subset of "safe" files: docs, .cirrus.yml, vendor,
version, hack, contrib, or *.md. This list is likely to need
tuning over time.

Add a test suite, but not one recognized by the new script
(because it's a "*.t" file), so: [NO TESTS NEEDED]

Signed-off-by: Ed Santiago <santiago@redhat.com>
2021-01-19 10:45:58 -07:00
OpenShift Merge Robot
d99e475dd7
Merge pull request #9008 from edsantiago/release_deal_with_set_minus_e
runner.sh : deal with bash 'set -e'
2021-01-19 11:34:14 -05:00
Paul Holzinger
a45d22a1dd podman network exists
Add podman network exists command with remote support.

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2021-01-19 15:18:03 +01:00
OpenShift Merge Robot
8c6df5e93e
Merge pull request #9004 from baude/existsoptions
Add binding options for container|pod exists
2021-01-19 08:47:37 -05:00
OpenShift Merge Robot
9a10f20bc1
Merge pull request #9001 from vrothberg/ginkgo
ginkgo: install on demand via `go get -u`
2021-01-19 07:24:29 -05:00
Valentin Rothberg
de05e58168 ginkgo: install on demand via go get -u
Install ginkgo on demand via `go get -u` rather than keeping a copy it's
entire source code in the vendor dirctory.  The main motivation for that
is to make `golangci-lint` happy which is continuously throwing up on
the import of a program (i.e., ginkgo).  The linter is broken and stupid
as it ignores flags to ignore dirs and ignores build tags (at least some
linters do) which is blocking us from updating to newer versions.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-01-19 10:00:53 +01:00
Ed Santiago
d2ee3d8151 runner.sh : deal with bash 'set -e'
Release trigger script failed[1] because the entire script
runs under 'set -e'; so a 'grep -- -dev' that finds no
results will cause a nonzero exit status and hence the
entire script to fail. Work around that.

 [1] https://cirrus-ci.com/task/4541290882793472

Signed-off-by: Ed Santiago <santiago@redhat.com>
2021-01-18 15:10:58 -07:00
baude
4ccb0729b4 Add binding options for container|pod exists
It turns out an options was added to container exists so it makes sense
to have pods and container exists calls have an optional structure for
options.

Signed-off-by: baude <bbaude@redhat.com>
2021-01-18 13:48:51 -06:00
OpenShift Merge Robot
5f1a7a7d27
Merge pull request #9007 from baude/nocomposeoncidocs
[CI:DOCS]Do not run compose tests with CI:DOCS
2021-01-18 13:01:26 -05:00