Commit Graph

6813 Commits

Author SHA1 Message Date
OpenShift Merge Robot
24409daa36 Merge pull request #3470 from QazerLab/docs/system-tests
Update the testing documentation with system tests.
2019-07-11 21:35:30 +02:00
Daniel J Walsh
df75fc62c8 Add support for -env-host
This flag passes the host environment into the container.  The basic idea is to
leak all environment variables from the host into the container.

Environment variables from the image, and passed in via --env and --env-file
will override the host environment.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2019-07-11 13:25:47 -04:00
Giuseppe Scrivano
7b75796a60 cgroups: fix a leak when using cgroupfs
be sure to load all the existing handlers, so that they can also be
freed in addition to the handlers we treat differently.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-11 18:07:49 +02:00
Adrian Reber
c70657a6d1 Add tests for --ignore-rootfs checkpoint/restore option
This adds three tests for the --ignore-rootfs option to verify that it
works in all combination.

1. Not used at all
2. Only used during restore
3. Only used during checkpoint

Signed-off-by: Adrian Reber <areber@redhat.com>
2019-07-11 15:27:38 +02:00
baude
e053e0e05e first pass of corrections for golangci-lint
Signed-off-by: baude <bbaude@redhat.com>
2019-07-10 15:52:17 -05:00
OpenShift Merge Robot
5786a3a7dc Merge pull request #3501 from adrianreber/random
Randomize IP addresses during checkpoint/restore tests
2019-07-09 15:59:02 +02:00
OpenShift Merge Robot
2843d0dc86 Merge pull request #3480 from mheon/potential_ps_test_fix
Restart failed containers in tests
2019-07-09 15:58:50 +02:00
Adrian Reber
d0f540e24d Use random IP addresses during checkpoint/restore tests
This tries to reduce CI errors which might happen due to parallel CI
runs which all are using the same IP addresses. Using random addresses
should reduce the possibility of parallel tests using the same IP address.

Signed-off-by: Adrian Reber <areber@redhat.com>
2019-07-09 08:04:19 +02:00
OpenShift Merge Robot
fce2e6577e Merge pull request #3497 from QazerLab/bugfix/systemd-generate-pidfile
Use conmon pidfile in generated systemd unit as PIDFile.
2019-07-08 23:39:42 +02:00
OpenShift Merge Robot
8d37c2073f Merge pull request #3515 from baude/rootlessintegrationtests
speed up rootless tests
2019-07-08 21:16:04 +02:00
OpenShift Merge Robot
edc7f52c95 Merge pull request #3425 from adrianreber/restore-mount-label
Set correct SELinux label on restored containers
2019-07-08 20:31:59 +02:00
baude
c187da23c4 speed up rootless tests
when running integrations tests as rootless, several tests still
unnecessarily pull images which is costly in terms of time.

Signed-off-by: baude <bbaude@redhat.com>
2019-07-08 12:31:31 -05:00
OpenShift Merge Robot
3fdf1a2c44 Merge pull request #3377 from TomSweeneyRedHat/dev/tsweeney/gate
Add RUN priv'd test for build
2019-07-08 19:25:29 +02:00
Giuseppe Scrivano
fb88074e68 podman: add --ulimit host
add a simple way to copy ulimit values from the host.

if --ulimit host is used then the current ulimits in place are copied
to the container.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-08 19:22:54 +02:00
baude
3dee49f131 fix integration flake tests
attempts to correct three of our flakey integration tests

Signed-off-by: baude <bbaude@redhat.com>
2019-07-08 09:06:40 -05:00
Danila Kiver
8fde4194b6 Move skipping systemd tests to early setup.
There is no meaning of performing setup/teardown for these tests
when we even can not work with systemd.

Signed-off-by: Danila Kiver <danila.kiver@mail.ru>
2019-07-06 20:45:26 +03:00
Danila Kiver
1f435bf92c Reload systemd daemon on creation of units location dir in tests.
Systemd manager drops non-existent directories from the units search
path during initialization, thus, creation of UNIT_DIR, if it did not
exist before, requres reloading the daemon.

Signed-off-by: Danila Kiver <danila.kiver@mail.ru>
2019-07-06 17:41:29 +03:00
Danila Kiver
c490754ff7 Add debug information to "generate systemd" test.
Signed-off-by: Danila Kiver <danila.kiver@mail.ru>
2019-07-06 01:35:46 +03:00
Danila Kiver
a54429cf87 Use conmon pidfile in generated systemd unit as PIDFile.
By default, podman points PIDFile in generated unit file to non-existent
location. As a result, the unit file, generated by podman, is broken:
an attempt to start this unit without prior modification results in a crash,
because systemd can not find the pidfile of service's main process.

Fix the value of "PIDFile" and add a system test for this case.

Signed-off-by: Danila Kiver <danila.kiver@mail.ru>
2019-07-04 03:58:37 +03:00
Matthew Heon
1322dbc24f Restart failed containers in tests
When we're waiting for a container to come up with healthchecks,
and it's not even running, there's no point to waiting further.
Instead, let's restart the container and continue waiting.

This may fix some flakes we're seeing with 'podman port' tests.
Then again, all the tests there seem to fail, not just a single
test flaking - so I bet there's some other underlying cause.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-07-02 15:46:39 -04:00
Peter Hunt
341f5e22e5 Add test for generate kube with volumes
Signed-off-by: Peter Hunt <pehunt@redhat.com>
2019-07-02 15:18:44 -04:00
Danila Kiver
1a42123710 Update the testing documentation with system tests.
Add Bats installation procedure.

Signed-off-by: Danila Kiver <danila.kiver@mail.ru>
2019-07-02 02:44:14 +03:00
OpenShift Merge Robot
ed394070a8 Merge pull request #3422 from nalind/no-layer-images
Handle images which contain no layers
2019-06-28 19:14:45 +02:00
TomSweeneyRedHat
19ddcf9251 Add RUN priv'd test for build
Podman 1.4.1 had problems with builds with a
RUN command that tried to to a privliged command.

This adds a gating test for that situation.

Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2019-06-28 12:27:45 -04:00
OpenShift Merge Robot
7705f99fe6 Merge pull request #3429 from cevich/strip_crio_conmon
Remove refs to crio/conmon
2019-06-27 03:05:33 +02:00
Chris Evich
fc32439c29 Remove refs to crio/conmon
Conmon has moved out of cri-o and into it's own dedicated repository.
This commit updates configuration and definitions which referenced
the old cri-o based paths.

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-06-26 12:44:22 -04:00
Nalin Dahyabhai
8e79de2848 Add tests that we don't hit errors with layerless images
Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
2019-06-26 10:43:04 -04:00
OpenShift Merge Robot
a488e197a6 Merge pull request #3417 from mheon/fix_play_kube_ports
Only include ports in one container in Kube YAML
2019-06-25 20:21:24 +02:00
Adrian Reber
95719b6d6b Add exec after checkpoint/restore test
A container restored from a checkpoint archive used to have the root
file-system mounted with a wrong (new) SELinux label. This made it, for
example, impossible to use 'podman exec' on a restored container.

This test tests exactly this. 'podman exec' after 'podman container restore'.

Unfortunately this test does not fail, even without the patch that fixes
it as the test seems to run in an environment where the SELinux label of
the container root file-system is not relevant. Somehow.

Signed-off-by: Adrian Reber <areber@redhat.com>
2019-06-25 19:42:04 +02:00
Matthew Heon
068d3bb3bf Update 'generate kube' tests to verify YAML
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-06-25 12:34:53 -04:00
Matthew Heon
101a5cd755 Use a different method to retrieve YAML output in tests
OutputToString() was mangling newlines, which made YAML parsers
very, very angry. But not angry enough to actually error, that
would be too easy. Just angry enough to silently not decode
anything.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-06-25 11:10:50 -04:00
OpenShift Merge Robot
d8b18a9879 Merge pull request #3401 from mheon/templating_is_dumb
Fix inspect --format '{{.Mounts}}.
2019-06-25 00:20:25 +02:00
OpenShift Merge Robot
394e12aa65 Merge pull request #3391 from QiWang19/cp_file
fix bug creats directory copying file
2019-06-24 23:49:57 +02:00
Matthew Heon
79d835457d Fix tests
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-06-24 15:27:37 -04:00
Matthew Heon
803a2b04d1 Change Marshal -> Unmarshal in generate kube tests
We need to verify that valid YAML was produced - Marshal will
just pack the generated YAML even further.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-06-24 14:56:41 -04:00
Matthew Heon
567e7c60fa Add test for generate kube on a pod with ports
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-06-24 14:45:07 -04:00
Matthew Heon
2d9f1e95eb Support aliases for .Src and .Dst in inspect .Mounts
This provides backwards compatability with 1.4.0-1.4.2 releases
which name .Source and .Destination as .Src and .Dst - useful for
not breaking toolbox.

Also add a test.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-06-24 14:08:25 -04:00
OpenShift Merge Robot
a1a4a75abe Merge pull request #3412 from mheon/fix_ps_sync_segfault
Fix a segfault in 'podman ps --sync'
2019-06-24 18:36:20 +02:00
Matthew Heon
de75b1a277 Fix a segfault in 'podman ps --sync'
We weren't properly populating the container's OCI Runtime in
Batch(), causing segfaults on attempting to access it. Add a test
to make sure we actually catch cases like this in the future.

Fixes #3411

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-06-24 09:26:03 -04:00
Giuseppe Scrivano
bd5e113b71 rootless: add an entry to /etc/hosts when using slirp4netns
Closes: https://github.com/containers/libpod/issues/3405

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-06-24 10:12:33 +02:00
Adrian Reber
1e706a021d Add --latest, -l to 'podman diff'
The man page of 'podman diff' claims that the diff sub-command knows
about --latest, -l. This adds support, as described in the man-page, to
the diff sub-command for --latest, -l.

Signed-off-by: Adrian Reber <areber@redhat.com>
2019-06-21 13:37:04 +02:00
Qi Wang
c962d214e6 fix bug creats directory copying file
close #3384

Signed-off-by: Qi Wang <qiwan@redhat.com>
2019-06-20 17:52:12 -04:00
OpenShift Merge Robot
4d470c73ca Merge pull request #3369 from mheon/add_cached_delegated
Add support for cached, delegated mounts
2019-06-19 20:16:08 +02:00
OpenShift Merge Robot
360adac374 Merge pull request #3366 from edsantiago/test_typo_fixes
fix broken healthcheck tests
2019-06-19 19:34:00 +02:00
OpenShift Merge Robot
c60d7ca5d6 Merge pull request #3372 from TomSweeneyRedHat/dev/tsweeney/testpriv
Add RUN with priv'd command build test
2019-06-19 18:51:47 +02:00
OpenShift Merge Robot
7be87f5551 Merge pull request #3078 from cevich/cirrus_f30
Cirrus F30
2019-06-19 16:13:47 +02:00
Matthew Heon
30f24bb760 Add tests for cached and delegated mounts
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-06-19 09:57:33 -04:00
root
7eda299e91 Add RUN with priv'd command build test
Update build test to include test for RUN with a priv'd command.

Signed-off-by: TomSweeneyRedHat  <tsweeney@redhat.com>
2019-06-18 19:34:14 -04:00
Ed Santiago
40eb0453ad fix broken healthcheck tests
Four of the healthcheck tests were completely broken. They
were written with the option '--healthcheck-cmd' which is
not an option (it should be  '--healthcheck-command', with
'command' as a full word). The tests were merely checking
exit code, not error message, so of course they failed.
I have fixed the command line and added checks for the
expected diagnostic.

(Side note: do not write tests that check exit code but
nothing else. This should not need to be said).

One of the four tests was invalid: --healthcheck-interval 0.5s.
Per Brent:

   initially i was going to restrict sub one-second intervals

That test has been removed. It would probably be a good idea
for a future PR to add some validation such as preventing
negative values, but that's left as an exercise for later.

Also: grammar fix in an error message.

Caught by my ginkgo log greasemonkey script, which
highlights 'Error' messages and grabbed my attention.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2019-06-18 15:07:53 -06:00
Brent Baude
d87cb1a5f9 fix port -l timing with healthchecks
many of the port tests use our nginx container image.  in some cases, we have timing
issues between when the nginx and the container are running and when the port -l
command is run causing test flakes.  we now use the container image's built in
healthcheck to ensure that nginx is running (and subsequently the container
itself) before running the port command.

Fixes: #3309

Signed-off-by: Brent Baude <bbaude@redhat.com>
Signed-off-by: baude <bbaude@redhat.com>
2019-06-18 10:43:53 -05:00