Commit Graph

1978 Commits

Author SHA1 Message Date
OpenShift Merge Robot
0b1a60ec27 Merge pull request #8308 from jwhonce/jira/run-976
Refactor to use DockerClient vs APIClient
2020-11-13 15:00:01 +01:00
Jhon Honce
a1187ee6f3 Refactor to use DockerClient vs APIClient
* Update tests and framework
* remove tests for APIClient methods

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-11-12 15:13:09 -07:00
Daniel J Walsh
a7431003b8 Fix issues found with codespell
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-11-12 13:37:38 -05:00
OpenShift Merge Robot
39e3ec767a Merge pull request #8307 from mheon/fix_8221
Ensure we do not double-lock the same volume in create
2020-11-12 16:11:30 +01:00
OpenShift Merge Robot
6c2503ca04 Merge pull request #8272 from rhatdan/logs
Test podman-remote logs works the same as podman logs
2020-11-12 12:00:38 +01:00
Matthew Heon
0f637e09da Ensure we do not double-lock the same volume in create
When making containers, we want to lock all named volumes we are
adding the container to, to ensure they aren't removed from under
us while we are working. Unfortunately, this code did not account
for a container having the same volume mounted in multiple places
so it could deadlock. Add a map to ensure that we don't lock the
same name more than once to resolve this.

Fixes #8221

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-11-11 16:06:03 -05:00
OpenShift Merge Robot
e443c01437 Merge pull request #8295 from baude/issue8294
Set default network driver for APIv2 networks
2020-11-11 15:31:03 +01:00
baude
b917b9925c Set default network driver for APIv2 networks
Recent changes in networking require that the cni network driver be set.
If the user provides no driver, we set the driver to the
defaultnetworkdriver which currently is "bridge".

Fixes: #8294

Signed-off-by: baude <bbaude@redhat.com>
2020-11-10 14:00:54 -06:00
OpenShift Merge Robot
bb07b8c9f1 Merge pull request #8252 from baude/playkubetospecgen
migrate play kube to spec gen
2020-11-10 19:43:47 +01:00
Daniel J Walsh
0fc3c0d91b Add tests to make sure podman-remote logs works correctly.
Fixes: https://github.com/containers/podman/issues/7942

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-11-10 13:40:56 -05:00
OpenShift Merge Robot
ce2ac7d2d2 Merge pull request #8251 from baude/networkaliases
network aliases for container creation
2020-11-10 19:10:59 +01:00
baude
72ec8b0aa2 migrate play kube to spec gen
we need to migrate play kube away from using the old container creation
method.  the new approach is specgen and this aligns play kube with
container creation in the rest of podman.

Signed-off-by: baude <bbaude@redhat.com>
2020-11-10 07:55:24 -06:00
OpenShift Merge Robot
20b26b5210 Merge pull request #8143 from aojea/dual
enable ipv6 networks
2020-11-10 13:50:43 +00:00
OpenShift Merge Robot
da95fb4226 Merge pull request #8270 from andylibrian/log-driver-option-for-play-kube
Add --log-driver to play kube
2020-11-10 12:29:19 +00:00
OpenShift Merge Robot
c20970f2b4 Merge pull request #8286 from baude/dnsnamecleanup
make network name uniq for dnsname tests
2020-11-10 12:24:28 +00:00
Antonio Ojea
aabf28a168 skip ipv6 e2e tests on rootless
The IPv6 e2e tests on the CI for rootles mode fails because
it needs the ip6tables modules loaded.

Example error:

stdout="", stderr="failed to list chains: running [/sbin/ip6tables -t nat -S --wait]: exit status 3: modprobe: can't change directory to '/lib/modules': No such file or directory\nip6tables v1.8.4 (legacy): can't initialize ip6tables table `nat': Table does not exist (do you need to insmod?)\nPerhaps ip6tables or your kernel needs to be upgraded.\n\n"

Signed-off-by: Antonio Ojea <aojea@redhat.com>
2020-11-10 11:04:02 +01:00
Antonio Ojea
98d770747e add e2e test for network with same subnet
add e2e test that checks that is not possible to create
different networks with the same subnet, in IPv6 neither
in IPv4

Signed-off-by: Antonio Ojea <aojea@redhat.com>
2020-11-10 11:03:56 +01:00
Antonio Ojea
e7a72d72fd enable ipv6 network configuration options
enable the ipv6 flag in podman network to be able to create
dual-stack networks for containers.

This is required to be compatible with docker, where --ipv6
really means dual stack.

podman, unlike docker, support IPv6 only containers since
07e3f1bba9.

Signed-off-by: Antonio Ojea <aojea@redhat.com>
2020-11-10 08:34:52 +01:00
OpenShift Merge Robot
a64c6dc90a Merge pull request #8284 from edsantiago/bats
system tests: skip journald tests on RHEL8
2020-11-10 01:38:46 +00:00
baude
ddadc99e99 make network name uniq for dnsname tests
ed identified that the dnsname integration test does not use a unique
name and therefore cannot be cleaned up.  this was made worse by a
improper defer statement to remove the network should the test fail.

Signed-off-by: baude <bbaude@redhat.com>
2020-11-09 16:35:12 -06:00
baude
b7b5b6f8e3 network aliases for container creation
podman can now support adding network aliases when running containers
(--network-alias).  It requires an updated dnsname plugin as well as an
updated ocicni to work properly.

Signed-off-by: baude <bbaude@redhat.com>
2020-11-09 15:08:58 -06:00
Ed Santiago
c62c64856e system tests: skip journald tests on RHEL8
(actually, on any system exhibiting the symptom wherein
journalctl fails due to insufficient permissions, which
for all practical purposes means only RHEL8)

Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-11-09 13:44:44 -07:00
OpenShift Merge Robot
716f70b5c5 Merge pull request #8236 from jwhonce/jira/run-976
Update CI tests to run python docker library against API
2020-11-09 20:08:29 +00:00
Jhon Honce
2d50ec6996 Update CI tests to run python docker library against API
* Update reference to docker-py to docker to reflect change in library
  name
* Update tests to create storage sandbox
* Enable all tests that endpoints support
* Refactor containers/{id}/rename to return 404 not 500
* Refactor tests to use quay.io vs. docker.io

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-11-09 10:45:54 -07:00
Paul Holzinger
f14cb5ef61 Add support for podman search --format json
Fixes #8274

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2020-11-09 12:59:59 +01:00
Andy Librian
f3355d9697 Add --log-driver to play kube
addresses #6604

Signed-off-by: Andy Librian <andylibrian@gmail.com>
2020-11-08 08:59:18 +07:00
OpenShift Merge Robot
ab1d3a58d4 Merge pull request #8185 from rhatdan/mount
Add support for mounting external containers
2020-11-05 14:39:16 +01:00
OpenShift Merge Robot
3ef721fa1f Merge pull request #8238 from joelsmith/master
Use regex for "pod ps" name filter to match "ps" behavior
2020-11-05 01:54:22 +01:00
Daniel J Walsh
6ca705bf1a Add support for mounting external containers
Continue progress on use of external containers.

This PR adds the ability to mount, umount and list the
storage containers whether they are in libpod or not.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-11-04 13:52:08 -05:00
Chris Evich
f37d1d2175 Use ping from alpine
As of this commit, in Fedora 33, without without `CAP_NET_ADMIN` and
`CAP_NET_RAW`, require setting `net.ipv3.ping_group_range` in order for
the `ping` command to work inside a container.  However, not all images
`ping` are created equal.  For whatever reason, the busybox version in
the busybox container image, does not function.  Switch to the Alpine
image's busybox ping, which seems to work fine.

Signed-off-by: Chris Evich <cevich@redhat.com>
2020-11-04 09:37:35 -05:00
OpenShift Merge Robot
7699557b5d Merge pull request #8225 from debarshiray/wip/rishi/exec_test-use-containsubstring
Improve error messages from failing tests
2020-11-04 06:18:08 -05:00
Joel Smith
a47fe37a97 Use regex for "pod ps" name filter to match "ps" behavior
Signed-off-by: Joel Smith <joelsmith@redhat.com>
2020-11-03 15:31:39 -07:00
OpenShift Merge Robot
5f897d2abe Merge pull request #8232 from ashley-cui/volfilt
Make volume filters inclusive
2020-11-03 16:25:39 -05:00
Ashley Cui
532bce4ad4 Make volume filters inclusive
When using multiple filters, return a volume that matches any one of the used filters, rather than matching both of the filters.
This is for compatibility with docker's cli, and more importantly, the apiv2 compat endpoint
Closes #6765

Signed-off-by: Ashley Cui <acui@redhat.com>
2020-11-03 14:35:01 -05:00
OpenShift Merge Robot
1e83aea9e6 Merge pull request #8204 from jwhonce/jira/run-976
Add test/apiv2/rest_api tests to make target
2020-11-03 14:27:30 -05:00
Debarshi Ray
2b859a9d18 Improve error messages from failing tests
Using a function like ContainSubstring or Equal is better because if
the test fails it will log a descriptive error that includes the
actual string generated during the test. This is more helpful than a
function like BeTrue that will only indicate that an assertion failed
without giving further details of the failure.

Signed-off-by: Debarshi Ray <rishi@fedoraproject.org>
2020-11-03 19:36:44 +01:00
OpenShift Merge Robot
110c1c8b4b Merge pull request #8231 from baude/fedorarootlesscpulimit
fedora rootless cpu settings
2020-11-03 12:21:08 -05:00
OpenShift Merge Robot
2a6e96e7ae Merge pull request #8226 from debarshiray/wip/rishi/toolbox_test-userns-keepid-HOME
Test $HOME when it's parent is bind mounted with --userns=keep-id
2020-11-03 12:04:26 -05:00
baude
73742a0e73 fedora rootless cpu settings
fedora does not have the the ability in rootless to set cpu limits.
this requires a simple fix for fedora 33 to pass ci tests.

Signed-off-by: baude <bbaude@redhat.com>
2020-11-03 09:28:06 -06:00
Debarshi Ray
b00a195ba2 Test $HOME when it's parent is bind mounted with --userns=keep-id
When --userns=keep-id is used, Podman is supposed to set up the home
directory of the user inside the container to match that on the host
as long as the home directory or any of its parents are marked as
volumes to be bind mounted into the container.

Currently, the test only considers the case where the home directory
itself is bind mounted into the container. It doesn't cover the Podman
code that walks through all the bind mounts looking for ancestors in
case the home directory itself wasn't specified as a bind mount.

Therefore, this improves the existing test added in commit
6ca8067956 ("Setup HOME environment when using --userns=keep-id")

Note that this test can't be run as root. The home directory of the
root user is /root, and it's parent is /. Bind mounting the entire /
from the host into the container prevents it from starting:
  Error: openat2 ``: No such file or directory: OCI not found

Signed-off-by: Debarshi Ray <rishi@fedoraproject.org>
2020-11-03 01:56:16 +01:00
Jhon Honce
df8bda8cc0 Add test/apiv2/rest_api tests to make target
* renamed old API tests to not be discovered, they do not pass
* Updated the API tests to use a pristine storage configuration
* Skipped attach test, it needs to be re-written

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-11-02 08:36:22 -07:00
Giuseppe Scrivano
afa4ec0db0 specgen: keep capabilities with --userns=keep-id
if --userns=keep-id is specified and not --user is specified, take the
unprivileged capabilities code path so that ambient capabilities are
honored in the container.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-11-02 15:46:56 +01:00
Giuseppe Scrivano
6a94429098 specgen: fix check for root user
if the username is specified in the USER:GROUP form, make sure we only
check for USER.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-11-02 14:39:02 +01:00
Giuseppe Scrivano
bce8f851c1 specgen: add support for ambient capabilities
if the kernel supports ambient capabilities (Linux 4.3+), also set
them when running with euid != 0.

This is different that what Moby does, as ambient capabilities are
never set.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-11-02 14:36:39 +01:00
OpenShift Merge Robot
5a53c6e5c9 Merge pull request #8203 from Luap99/fix-8194
Fix dnsname when joining a different network namespace in a pod
2020-10-31 11:12:05 +01:00
OpenShift Merge Robot
b6ab2df9d1 Merge pull request #8100 from QiWang19/mirror-manifest
manifest list inspect single image
2020-10-31 00:19:52 +01:00
OpenShift Merge Robot
e5227b9d75 Merge pull request #8201 from QiWang19/search-limit
Remove search limit since pagination support
2020-10-30 20:34:28 +01:00
OpenShift Merge Robot
1fe79dd677 Merge pull request #8177 from rhatdan/wrap
Stop excessive wrapping of errors
2020-10-30 19:52:17 +01:00
Paul Holzinger
2704dfbb7a Fix dnsname when joining a different network namespace in a pod
When creating a container in a pod the podname was always set as
the dns entry. This is incorrect when the container is not part
of the pods network namespace. This happend both rootful and
rootless. To fix this check if we are part of the pods network
namespace and if not use the container name as dns entry.

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2020-10-30 18:53:55 +01:00
OpenShift Merge Robot
e632f3f258 Merge pull request #8187 from jwhonce/wip/table
Restore --format table header support
2020-10-30 17:00:22 +01:00