Commit Graph

2993 Commits

Author SHA1 Message Date
OpenShift Merge Robot
210f1040d2 Merge pull request #6952 from baude/systemdpid1fix
add systemd to fedora image
2020-07-14 17:59:12 +02:00
Brent Baude
99cc076700 Fix systemd pid 1 test
fedora removed the systemd package from its standard container image causing our systemd pid1 test to fail.  Replacing usage of fedora to ubi-init.

adding ubi images to the cache for local tests.

also, remove installation of test/policy.json to the system wide /etc/containers

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-07-13 17:11:26 -05:00
OpenShift Merge Robot
d86acf2cae Merge pull request #6842 from rhatdan/pids-limit
Pids-limit should only be set if the user set it
2020-07-13 20:53:20 +02:00
OpenShift Merge Robot
e2a8e037d1 Merge pull request #6896 from mheon/fix_remote_createcommand
Fix container and pod create commands for remote create
2020-07-13 13:20:26 +02:00
OpenShift Merge Robot
a4e080fd2a Merge pull request #6936 from mheon/matt_cant_count
Correctly print STDOUT on non-terminal remote exec
2020-07-11 13:16:08 +02:00
Matthew Heon
be4b4bd862 Correctly print STDOUT on non-terminal remote exec
I confused STDIN and STDOUT's file descriptors (it's 0 and 1, I
thought they were 1 and 0). As such, we were looking at whether
we wanted to print STDIN when we looked to print STDOUT. This
bool was set when `-i` was set in at the `podman exec` command
line, which masked the problem when it was set.

Fixes #6890
Fixes #6891
Fixes #6892

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-07-10 17:15:33 -04:00
Daniel J Walsh
677ad10e07 Pids-limit should only be set if the user set it
Currently we are sending over pids-limits from the user even if they
never modified the defaults.  The pids limit should be set at the server
side unless modified by the user.

This issue has led to failures on systems that were running with cgroups V1.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-07-10 12:46:16 -04:00
Matthew Heon
c4627b5846 Fix container and pod create commands for remote create
In `podman inspect` output for containers and pods, we include
the command that was used to create the container. This is also
used by `podman generate systemd --new` to generate unit files.

With remote podman, the generated create commands were incorrect
since we sourced directly from os.Args on the server side, which
was guaranteed to be `podman system service` (or some variant
thereof). The solution is to pass the command along in the
Specgen or PodSpecgen, where we can source it from the client's
os.Args.

This will still be VERY iffy for mixed local/remote use (doing a
`podman --remote run ...` on a remote client then a
`podman generate systemd --new` on the server on the same
container will not work, because the `--remote` flag will slip
in) but at the very least the output of `podman inspect` will be
correct. We can look into properly handling `--remote` (parsing
it out would be a little iffy) in a future PR.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-07-10 11:22:23 -04:00
Valentin Rothberg
bb9d939155 version/info: format: allow more json variants
Allow more variants to yield json output for `podman version` and
`podman info`.  Instead of comparing strings, use a regex and add
unit and e2e tests.

Fixes: #6927
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-07-10 15:44:17 +02:00
OpenShift Merge Robot
d9cd0032f7 Merge pull request #6906 from rhatdan/VENDOR
Vendor in new version of Buildah
2020-07-09 19:59:58 +02:00
OpenShift Merge Robot
059bd37511 Merge pull request #6835 from zhangguanzhang/master
fix API: Create container with an invalid configuration
2020-07-09 19:28:38 +02:00
Daniel J Walsh
b020d1ad13 Vendor in new version of Buildah
This also pulls in latest runc and containers/common

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-07-09 11:02:28 -04:00
Valentin Rothberg
d0ebea0643 logs: enable e2e tests
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-07-09 15:18:15 +02:00
zhangguanzhang
2086e22624 fix API: Create container with an invalid configuration
Signed-off-by: zhangguanzhang <zhangguanzhang@qq.com>
2020-07-09 10:26:04 +08:00
OpenShift Merge Robot
54d16f3b5f Merge pull request #6829 from rhatdan/keepid
Add username to /etc/passwd inside of container if --userns keep-id
2020-07-07 19:23:27 +02:00
Daniel J Walsh
6c6670f12a Add username to /etc/passwd inside of container if --userns keep-id
If I enter a continer with --userns keep-id, my UID will be present
inside of the container, but most likely my user will not be defined.

This patch will take information about the user and stick it into the
container.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-07-07 08:34:31 -04:00
Korhonen Sami (Samlink)
610118d9bf Add support for Filter query parameter to list images api
Docker api version 1.24 uses a query parameter named Filter
for filtering images by names. In more recent versions of
api name filter is in filters query parameter with other
filters

This patch adds a mapping that translates Filter query
parameter to Filters={"reference": [""]}

Signed-off-by: Sami Korhonen <skorhone@gmail.com>
2020-07-07 13:05:16 +03:00
OpenShift Merge Robot
1a93857acc Merge pull request #6693 from goochjj/libpod-sd-notify-cmdline
Implement --sdnotify cmdline option to control sd-notify behavior
2020-07-06 17:15:26 -04:00
OpenShift Merge Robot
b1cc781c68 Merge pull request #6570 from rhatdan/remote
Change buildtag for remoteclient to remote for testing
2020-07-06 17:00:19 -04:00
OpenShift Merge Robot
fca3434ee7 Merge pull request #6868 from mheon/fix_mount_rootless
Fix bug where `podman mount` didn't error as rootless
2020-07-06 16:41:59 -04:00
Matthew Heon
f4c649bdec Disable mount tests as rootless
As rootless, `podman mount` must be run inside `podman unshare`.
We don't really have a testing harness that can do this right
now.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-07-06 15:29:11 -04:00
Daniel J Walsh
a10d5b42ab Change buildtag for remoteclient to remote for testing
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-07-06 15:22:24 -04:00
OpenShift Merge Robot
f4708a5c49 Merge pull request #6812 from chuanchang/add_apiv2_test
test.apiv2: add testing for container initializing
2020-07-06 14:28:03 -04:00
Ed Santiago
10ad46eb73 BATS system tests for new sdnotify
Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-07-06 17:47:22 +00:00
OpenShift Merge Robot
9532509c50 Merge pull request #6836 from ashley-cui/tzlibpod
Add --tz flag to create, run
2020-07-06 13:28:20 -04:00
OpenShift Merge Robot
9eac75a967 Merge pull request #6864 from vrothberg/v2-module
move go module to v2
2020-07-06 10:58:38 -04:00
Valentin Rothberg
8489dc4345 move go module to v2
With the advent of Podman 2.0.0 we crossed the magical barrier of go
modules.  While we were able to continue importing all packages inside
of the project, the project could not be vendored anymore from the
outside.

Move the go module to new major version and change all imports to
`github.com/containers/libpod/v2`.  The renaming of the imports
was done via `gomove` [1].

[1] https://github.com/KSubedi/gomove

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-07-06 15:50:12 +02:00
Paul Holzinger
b3dd42a797 podman ps truncate the command
With a long create command the
output from ps is basically unreadable.

This is a regression that was introduced with Podman 2.0.

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2020-07-05 18:14:04 +02:00
Ashley Cui
9a1543caec Add --tz flag to create, run
--tz flag sets timezone inside container
Can be set to IANA timezone as well as `local` to match host machine

Signed-off-by: Ashley Cui <acui@redhat.com>
2020-07-02 13:30:59 -04:00
Brent Baude
a0599b77b7 stop podman service in e2e tests
when running e2e tests, each test knows to stop its service when running remote; however, during setup and teardown remote services were not being killed when we were done with them.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-07-02 10:36:24 -05:00
Alex Jia
eea96235f3 test.apiv2: add testing for container initializing
Signed-off-by: Alex Jia <chuanchang.jia@gmail.com>
2020-07-01 12:50:05 +00:00
OpenShift Merge Robot
957e7a533e Merge pull request #6826 from edsantiago/test_apiv2
APIv2 tests: usability: better test logging
2020-06-30 15:38:56 -04:00
OpenShift Merge Robot
c2a0ccd394 Merge pull request #6747 from giuseppe/fix-user-volumes
container: move volume chown after spec generation
2020-06-30 12:01:40 -04:00
Ed Santiago
ca00067deb APIv2 tests: usability: better test logging
test-apiv2 has two basic comparisons of returned JSON:
equality and likeness ('=' and '~'). When logging failures,
the test runner shows both actual and expected values. When
logging success, for '=' there's no need to show both actual
and expected. But for '~', it can be helpful (for verifying
test correctness) to show the actual returned value.

To be specific:

   old: ok ... .MemTotal~[0-9]\+
   new: ok ... .MemTotal ('33509068800') ~ [0-9]\+

   old: ok ... .[0].State~\(exited\|stopped\)
   new: ok ... .[0].State ('exited') ~ \(exited\|stopped\)

The main benefit is that a developer or end user can
easily see precisely what was returned; this can help
confirm that the test is working as intended, and/or
help fine-tune how the test is written.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-06-30 09:42:02 -06:00
OpenShift Merge Robot
e0b93af70f Merge pull request #6808 from mheon/allow_empty_hostport
Allow empty host port in --publish flag
2020-06-29 13:52:47 -04:00
Valentin Rothberg
ce74c20ebc test: add tests for --user and volumes
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-06-29 17:58:51 +02:00
OpenShift Merge Robot
d90e8b6873 Merge pull request #6810 from vrothberg/auto-update-test
systemd system test: run auto-update
2020-06-29 11:52:57 -04:00
Valentin Rothberg
43714cac21 systemd system test: run auto-update
Run `podman auto-update` in the systemd system tests.  Note that this is
a first step to at least exercise parts of `auto-update` in the CI.  The
service won't get updated just yet as we need to set up a local
registry, and push a new image.  I do not have enough time at the moment
to do that but consider this change already as an improvement.

We are experiencing some issues in #6793 w.r.t. to auto-updates but
couldn't track down the root cause yet.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-06-29 15:36:34 +02:00
Matthew Heon
3601b96600 Allow empty host port in --publish flag
I didn't believe that this was actually legal, but it looks like
it is. And, unlike our previous understanding (host port being
empty means just use container port), empty host port actually
carries the same meaning as `--expose` + `--publish-all` (that
is, assign a random host port to the given container port). This
requires a significant rework of our port handling code to handle
this new case. I don't foresee this being commonly used, so I
optimized having a fixed port number as fast path, which this
random assignment code running after the main port handling code
only if necessary.

Fixes #6806

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-06-29 09:33:43 -04:00
OpenShift Merge Robot
771c887010 Merge pull request #6783 from edsantiago/bats
system tests: add pod, inspect testing
2020-06-29 05:01:56 -04:00
OpenShift Merge Robot
673116c063 Merge pull request #6767 from vrothberg/sec-opt-test
e2e inspect: HostConfig.SecurityOpt
2020-06-26 09:36:57 -04:00
Ed Santiago
f4643ac02a system tests: add pod, inspect testing
Followup to #6761: confirm that 'podman ps' shows the ports
on a running container in a pod created with -p (not to
be confused with the container itself running with -p,
tested in 500-networking.bats).

While we're at it, test that the port handling itself works,
by sending random text to the container and making sure the
container receives it.

Followup to #6752: 'podman inspect' should show multiple
security opts

Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-06-26 06:44:20 -06:00
OpenShift Merge Robot
bb11b42879 Merge pull request #6756 from mheon/add_dangling_filter
Add support for dangling filter to volumes
2020-06-26 05:11:50 -04:00
OpenShift Merge Robot
358e69cc2d Merge pull request #6761 from mheon/fix_ps_portmappings
Print port mappings in `ps` for ctrs sharing network
2020-06-25 13:22:36 -04:00
OpenShift Merge Robot
7766192293 Merge pull request #6760 from jwhonce/wip/python
Fix podman python docker-py tests
2020-06-25 11:52:06 -04:00
OpenShift Merge Robot
f8036c548c Merge pull request #6754 from edsantiago/man_page_xref
Docs: consistency between man / --help
2020-06-25 08:33:39 -04:00
OpenShift Merge Robot
cd36499d10 Merge pull request #6751 from vrothberg/fix-6744
podman run/create: support all transports
2020-06-25 06:16:54 -04:00
Valentin Rothberg
a8cac24bea e2e inspect: HostConfig.SecurityOpt
Make sure that all specified security options are displayed in a
container's inspect data.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-06-25 10:48:41 +02:00
Matthew Heon
16b3356a89 Print port mappings in ps for ctrs sharing network
In Podman v1.9, we printed port mappings for the container, even
if it shared its network namespace (and thus ports) with another
container. We regressed on this in Podman v2.0, which is fixed
here.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-06-24 17:27:26 -04:00
Jhon Honce
d7770df5ef Fix python dockerpy tests
* Refactor packaging so unittest discovery works
* Refactor tests to use python3-docker.rpm that ships with Fedora32
* Flush image cache between tests suites
* Update documentation to reflect changes

Outstanding issue:
* client.get_image() does not fail if image does not exist

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-06-24 12:40:55 -07:00