summaryrefslogtreecommitdiff
path: root/contrib/cirrus/README.md
diff options
context:
space:
mode:
authorChris Evich <cevich@redhat.com>2019-03-04 16:57:20 -0500
committerChris Evich <cevich@redhat.com>2019-03-05 11:03:37 -0500
commit142442edaad3ba4c76645f3806519039cb6b7007 (patch)
treebdc74dbd3f6f13be97113558ab520e8c78f6704d /contrib/cirrus/README.md
parentac690126f8db7016a8de6f988a10a2a4a39b7301 (diff)
downloadpodman-142442edaad3ba4c76645f3806519039cb6b7007.tar.gz
podman-142442edaad3ba4c76645f3806519039cb6b7007.tar.bz2
podman-142442edaad3ba4c76645f3806519039cb6b7007.zip
Cirrus: Add dedicated rootless mode testing
Certain integration tests require execution as a regular user. This is acomplished by `PodmanTest.PodmanAsUserBase()` wrapping a specialized execution environment, in `test/utils/utils.go`. However, doing this requires passing through python, which vastly increases the complexity of debugging low-level problems. This commit introduces a new parallel task, run as a regular user on the VM as set by three environment variables. All commands executed in the ``rootless_test.sh`` script, will occur as a real user with a name and home directory, just as `$DIETY` intended. All env. vars established during `environment_setup.sh` (for root) are available. The PR source in `$GOSRC` and `$GOPATH` are owned by this user, and ready for use. Signed-off-by: Chris Evich <cevich@redhat.com>
Diffstat (limited to 'contrib/cirrus/README.md')
-rw-r--r--contrib/cirrus/README.md20
1 files changed, 20 insertions, 0 deletions
diff --git a/contrib/cirrus/README.md b/contrib/cirrus/README.md
index 0d91301c6..da87fd2e4 100644
--- a/contrib/cirrus/README.md
+++ b/contrib/cirrus/README.md
@@ -52,6 +52,26 @@ task (pass or fail) is set based on the exit status of the last script to execut
Total execution time is capped at 2-hours (includes all the above)
but this script normally completes in less than an hour.
+### ``rootless_testing`` Task
+
+***N/B: Steps below are performed by automation***
+
+1. After `gating` passes, spin up one VM per
+ `matrix: image_name` item. Once accessible, ``ssh``
+ into each VM as the `root` user.
+
+2. ``setup_environment.sh``: Configure root's `.bash_profile`
+ the same as for other tasks. However, also add a regular
+ user account, chown all the source code to them. Set up
+ fresh ssh pub/priv. keys for the root user, adding the
+ public part to the user's `authorized_keys` file.
+
+3. As root, call ssh to connect to localhost as the user,
+ and run the ``rootless_test.sh`` script from the source
+ tree. This is needed so the user has a clean process tree
+ and environment - i.e. without `sudo`, `su`, `runuser`,
+ etc. in the mix. From here, all testing as the user may
+ be performed.
### ``optional_testing`` Task