Commit Graph

653 Commits

Author SHA1 Message Date
OpenShift Merge Robot c385f33cdf
Merge pull request #3290 from edsantiago/bats
BATS tests - get working again
2019-06-11 21:21:33 +02:00
Matthew Heon f909b745ec Add --filename option to generate kube
This allows writing output directly to a file, instead of STDOUT.
Makes things easier for some scripting tasks. Like the unit tests
for 'play kube'.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-06-11 11:26:46 -04:00
Ed Santiago bd0582dd34 BATS tests - get working again
Various small fixes to get BATS tests working again.
Split from #2947 because that one keeps getting stalled,
and I'm hoping these separate changes get approved.

I consider these changes urgent because RHEL8 gating
tests are failing, and will fail even more if/when #2272
gets picked up and packaged for RHEL8, and I consider
it important to have clean passing tests for RHEL8.

  * info test: 'insecure registries' is gone. A recent
    commit (d1a7378aa) changed the format of 'podman info',
    removing the 'insecure registries' key. Deal with it.

  * info test: remove check for .host.{Conmon,OCIRuntime}.package;
    the value on f28 and f29 is 'Unknown' (instead of an NVR).
    We can live without this check.

  * 'load' test: skip when running in CI, because stdin
    is not a tty.

  * container restore: fix arg processing. #2272 broke argument
    processing: 'podman container restore', with no args, should
    exit with 'argument required' error. Root cause is that the
    new --import option takes the place of an argument, so the
    checkAllAndLatest() call had to be changed to not exit on error.
    Workaround is (sigh) to copy/paste the skipped checkAllAndLatest()
    code, with minor tweaks to accommodate --import.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2019-06-11 06:53:03 -06:00
Matthew Heon 53435d4d47 Add a test for 'podman play kube' to prevent regression
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-06-10 18:57:29 -04:00
OpenShift Merge Robot 39f5ea4c04
Merge pull request #3180 from mheon/inspect_volumes
Begin to break up pkg/inspect
2019-06-08 14:45:24 +02:00
OpenShift Merge Robot 346128792c
Merge pull request #2272 from adrianreber/migration
Add support to migrate containers
2019-06-07 14:33:20 +02:00
Matthew Heon b2a8b725af Disable a very badly flaking healthcheck test
We'll reenable once the flake is fixed.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-06-06 10:55:57 -04:00
OpenShift Merge Robot 67c50ab63d
Merge pull request #3249 from baude/testtiming
fix timing issues with some tests
2019-06-04 14:51:32 +02:00
Adrian Reber bef83c42ea
migration: add possibility to restore a container with a new name
The option to restore a container from an external checkpoint archive
(podman container restore -i /tmp/checkpoint.tar.gz) restores a
container with the same name and same ID as id had before checkpointing.

This commit adds the option '--name,-n' to 'podman container restore'.
With this option the restored container gets the name specified after
'--name,-n' and a new ID. This way it is possible to restore one
container multiple times.

If a container is restored with a new name Podman will not try to
request the same IP address for the container as it had during
checkpointing. This implicitly assumes that if a container is restored
from a checkpoint archive with a different name, that it will be
restored multiple times and restoring a container multiple times with
the same IP address will fail as each IP address can only be used once.

Signed-off-by: Adrian Reber <areber@redhat.com>
2019-06-04 14:02:51 +02:00
Adrian Reber 2aa3261744
Add test case for container migration
The difference between container checkpoint/restore and container
migration is that for migration the container which was checkpointed
must not exist during restore. To simulate migration the container
is remove ('podman rm -fa') before being restored. The migration test
does following steps:

 * podman run
 * podman container checkpoint -l -e /tmp/checkpoint.tar.gz
 * podman rm -fa
 * podman container restore -i /tmp/checkpoint.tar.gz

Signed-off-by: Adrian Reber <areber@redhat.com>
2019-06-03 22:05:12 +02:00
Matthew Heon 1be345bd9d Begin to break up pkg/inspect
Let's put inspect structs where they're actually being used. We
originally made pkg/inspect to solve circular import issues.
There are no more circular import issues.

Image structs remain for now, I'm focusing on container inspect.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-06-03 15:54:53 -04:00
OpenShift Merge Robot e41162076a
Merge pull request #3081 from baude/remotecommit
podman remote-client commit
2019-06-03 20:58:13 +02:00
baude c727cd1dc6 fix timing issues with some tests
some integration tests are inherently problematic due to timing issues.
one such case is running a valid health check on container that runs
nginx.  while the container may be running, nginx may not have finished
executing itself and therefore the healthcheck fails.

Signed-off-by: baude <bbaude@redhat.com>
2019-06-03 11:06:46 -05:00
Matthew Heon 25aac813bd Fix podman cp test by reordering operations
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-31 12:58:44 -04:00
OpenShift Merge Robot b5b461ac28
Merge pull request #3147 from baude/testimagecache
use imagecaches for local tests
2019-05-30 21:56:26 +02:00
baude 2df462024b podman remote-client commit
add the ability to commit a container to an image using the remote
client.

Signed-off-by: baude <bbaude@redhat.com>
2019-05-30 10:14:23 -05:00
Matthew Heon 5a07311d9e Fix podman cp tests
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-30 10:53:52 -04:00
Matthew Heon f456825fe8 Fix bug in e2e tests for podman cp
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-29 22:53:51 -04:00
Matthew Heon 431e633b48 Add test to ensure symlinks are resolved in ctr scope
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-29 22:53:51 -04:00
baude f610a485c1 use imagecaches for local tests
when doing localized tests (not varlink), we can use secondary image
stores as read-only image caches.  this cuts down on test time
significantly because each test does not need to restore the images from
a tarball anymore.

Signed-off-by: baude <bbaude@redhat.com>
2019-05-29 15:12:05 -05:00
OpenShift Merge Robot 294448c2ea
Merge pull request #2709 from haircommander/journald
Add libpod journald logging
2019-05-29 17:51:27 +02:00
Peter Hunt 88429242dd Add --follow to journald ctr logging
Signed-off-by: Peter Hunt <pehunt@redhat.com>
2019-05-28 11:14:08 -04:00
Peter Hunt 51bdf29f04 Address comments
Signed-off-by: Peter Hunt <pehunt@redhat.com>
2019-05-28 11:10:57 -04:00
Peter Hunt 02f971131a Implement podman logs with log-driver journald
Add a journald reader that translates the journald entry to a k8s-file formatted line, to be added as a log line

Note: --follow with journald hasn't been implemented. It's going to be a larger undertaking that can wait.

Signed-off-by: Peter Hunt <pehunt@redhat.com>
2019-05-28 11:10:57 -04:00
OpenShift Merge Robot 7b6dac300d
Merge pull request #3194 from QiWang19/cptar
fix bug dest path of copying tar
2019-05-28 16:44:58 +02:00
OpenShift Merge Robot 335a1ef160
Merge pull request #3189 from vrothberg/apparmor-fixes
Apparmor fixes
2019-05-28 16:23:48 +02:00
OpenShift Merge Robot b1d590b441
Merge pull request #3196 from giuseppe/keep-id
userns: add new option --userns=keep-id
2019-05-25 12:32:08 +02:00
OpenShift Merge Robot 3c85122faa
Merge pull request #3185 from mheon/fix_cp_test
Fix a potential flake in the tests for podman cp
2019-05-25 12:20:08 +02:00
Qi Wang bb7b0aad0e fix bug dest path of copying tar
when podman cp tar without --extract flag, if the destination already exists, or ends with path seprator, cp the tar under the directory, otherwise copy the tar named with the destination

Signed-off-by: Qi Wang <qiwan@redhat.com>
2019-05-24 11:51:30 -04:00
Giuseppe Scrivano f09370c68b
userns: add new option --userns=keep-id
it creates a namespace where the current UID:GID on the host is mapped
to the same UID:GID in the container.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-05-24 17:34:12 +02:00
Valentin Rothberg bcbf5c4894 baseline tests: apparmor with --privileged
https://github.com/containers/libpod/issues/3112 has revealed a
regression in apparmor when running privileged containers where the
profile must not be set or loaded.  Add a simple test to avoid potential
future regressions.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2019-05-24 11:09:25 +02:00
Matthew Heon 0b571ede78 Fix a potential flake in the tests for podman cp
Instead of using the working directory, use a subdirectory of the
temporary directory created for the individual test, to prevent a
potential EEXIST for shared working directory.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-23 16:30:11 -04:00
Yiqiao Pu 3a3c558f60 Add test cases for login and logout
As logout test request login to the registry, we plan to test them
together. There are five test cases added:
1. Podman login and logout with default value
3. Podman login and logout with --authfile
2. Podman login and logout with --tls-verify
4. Podman login and logout with --cert-dir
5. Podman login and logout with multi registry

All above test cases are using docker rgistry v2

Signed-off-by: Yiqiao Pu <ypu@redhat.com>
2019-05-22 14:34:42 +08:00
OpenShift Merge Robot 488b698040
Merge pull request #3177 from mheon/duplicate_volumes
When superceding mounts, check for opposite types
2019-05-22 00:10:40 +02:00
OpenShift Merge Robot 8f43d08d96
Merge pull request #2561 from cevich/cirrus_test_images
Cirrus: Support testing of VM cache-image changes
2019-05-21 22:08:00 +02:00
Matthew Heon 43f28cdc16 Add test for image volume conflict with user volume
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-21 12:36:48 -04:00
Chris Evich c4d9b03f78
Cirrus: Overhaul/Simplify env. var setup
Signed-off-by: Chris Evich <cevich@redhat.com>
2019-05-21 08:44:02 -04:00
Divyansh Kamboj c6f7066e77 Minor fix filtering images by label
Added test to avoid future regressions

Fix #3163

Signed-off-by: Divyansh Kamboj <kambojdivyansh2000@gmail.com>
2019-05-20 23:11:48 +05:30
Divyansh Kamboj ee3381f8f2 Minor fix splitting env vars in podman-commit
`string.Split()` splits into slice of size greater than 2
which may result in loss of environment variables

fixes #3132

Signed-off-by: Divyansh Kamboj <kambojdivyansh2000@gmail.com>
2019-05-19 06:51:30 +05:30
Chris Evich ae64e4e547
Replace root-based rootless tests
Since CI automation is now executing all tests as a regular user, there
is no need for root-based testing to run special rootless tests.  Remove
them.

However, the root-based rootless tests did include one test for exercising
the '--rootfs' option which is needed.  Add a new general, and more through
test to replace it - meaning it will be executed as root and non-root.

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-05-16 09:44:00 -04:00
Divyansh Kamboj 2a961a7113 Add unshare to podman
This command lets the user run a command in a new user namespace like `unshare -u`.
It uses the implementation of unshare in buildah. ( fixes #1388 )

Signed-off-by: Divyansh Kamboj <kambojdivyansh2000@gmail.com>
2019-05-16 13:38:31 +05:30
OpenShift Merge Robot 95d90c1de7
Merge pull request #3127 from mheon/fix_start_race
Ensure that start() in StartAndAttach() is locked
2019-05-16 01:08:05 +02:00
Matthew Heon 5b3f3c4110 Kill os.Exit() in tests, replace with asserts
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-15 16:33:08 -04:00
OpenShift Merge Robot 7ede159465
Merge pull request #3089 from baude/splittest
split remote tests from distro tests
2019-05-15 22:20:04 +02:00
baude a86aa4b1e9 split remote tests from distro tests
We want the remote tests for our distributions to be tested in a
different VM than the local tests.  This allows for faster CI runs and
easier debug as well as seperation of flakes.

Signed-off-by: baude <bbaude@redhat.com>
2019-05-13 12:17:55 -05:00
OpenShift Merge Robot 2ded1f6199
Merge pull request #2705 from adrianreber/ci-test
Enabling checkpoint/restore testing on Fedora >= 29 again
2019-05-13 15:58:39 +02:00
OpenShift Merge Robot d2571c7fd4
Merge pull request #3105 from mheon/use_ctr_remove_funcs
Use standard remove functions for removing pod ctrs
2019-05-12 19:12:24 +02:00
Matthew Heon 952f8620b6 Add fix for an issue breaking our CI
Buildah no longer updates the create time of single-action images
(e.g. `FROM ...` with no other instructions. This isn't a bug (it
matches Docker's behavior), but it broke one of our tests.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-10 16:12:09 -04:00
OpenShift Merge Robot d54a2d2f81
Merge pull request #3041 from QiWang19/cpdash
implement cp reads tar file from stdin/to stdout
2019-05-09 19:35:53 +02:00
Qi Wang 4479b8eec3 implement cp reads tar file from stdin/stdout
enables podman cp uses - to stream a tar archive from STDIN or to STDOUT.

Signed-off-by: Qi Wang <qiwan@redhat.com>
2019-05-09 10:12:39 -04:00