summaryrefslogtreecommitdiff
path: root/contrib/cirrus
Commit message (Collapse)AuthorAge
* Cirrus: Remove "too new" runc hackChris Evich2019-05-21
| | | | | | | | | Hack was to workaround not having fix for: https://bodhi.fedoraproject.org/updates/FEDORA-2019-b4356521ba Update `RUNC_COMMIT` value to match commit id to working package. Signed-off-by: Chris Evich <cevich@redhat.com>
* Merge pull request #2844 from haircommander/cri-o-updateOpenShift Merge Robot2019-05-17
|\ | | | | move to cri-o/cri-o and build with containers/conmon
| * Use containers/conmonPeter Hunt2019-05-17
| | | | | | | | | | | | There were some build issues updating cri-o to cri-o/cri-o. Since the only thing we need cri-o for is conmon, we should just build using conmon. Signed-off-by: Peter Hunt <pehunt@redhat.com>
| * s|kubernetes-sigs/cri-o|cri-o/cri-o|gPeter Hunt2019-05-17
| | | | | | | | Signed-off-by: Peter Hunt <pehunt@redhat.com>
* | Cirrus: Confirm networking is workingChris Evich2019-05-17
|/ | | | | | Thanks to @edsantiago for suggestion to use nc Signed-off-by: Chris Evich <cevich@redhat.com>
* Merge pull request #3089 from baude/splittestOpenShift Merge Robot2019-05-15
|\ | | | | split remote tests from distro tests
| * split remote tests from distro testsbaude2019-05-13
| | | | | | | | | | | | | | | | 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>
* | Merge pull request #2705 from adrianreber/ci-testOpenShift Merge Robot2019-05-13
|\ \ | |/ |/| Enabling checkpoint/restore testing on Fedora >= 29 again
| * Upgrade to latest criu and selinux-policyAdrian Reber2019-05-06
| | | | | | | | | | | | This fixes all the current errors concerning checkpoint/restore. Signed-off-by: Adrian Reber <areber@redhat.com>
* | enable integration tests for remote-clientbaude2019-05-07
|/ | | | | | | first pass at enabling a swath of integration tests for the remote-client. Signed-off-by: baude <bbaude@redhat.com>
* Cirrus: timestamp all output script outputChris Evich2019-05-02
| | | | | | Also remove direct time-stamping by CI scripts that would compete. Signed-off-by: Chris Evich <cevich@redhat.com>
* cirrus lib.sh: refactor req_env_var()Ed Santiago2019-05-02
| | | | | | | | | | | | | | | Existing code was not working due to a bash gotcha ('exit' from a pipeline). It also had unnecessary duplication. New version is safer; also includes unit tests run under localunit. Existing invocations of req_env_var replaced via: $ [ edit setup_environment.sh, move one closing quote to its own line ] $ perl -ni -e 's/(?<=req_env_var )"(\S+)\s+\$\1"/$1/; if (/req_env_var "$/ .. /^\s*"/) { chomp; s/(?<=\S)\s.*//; if (/^\s*"/) { print "\n" } else { unless (/req_env_var/) { s/^\s+//; print " ";} print;} } else { print }' $(ack -l req_env_var) $ [ hand-massage an incorrect instance of '@' in lib.sh:ircmsg() ] Signed-off-by: Ed Santiago <santiago@redhat.com>
* remove manual install of libsystemd-devbaude2019-04-26
| | | | Signed-off-by: baude <bbaude@redhat.com>
* Merge pull request #2991 from cevich/libsystemd_devOpenShift Merge Robot2019-04-26
|\ | | | | Libsystemd dev + newer runc
| * Cirrus: fix obsolete Ubuntu packageChris Evich2019-04-24
| | | | | | | | Signed-off-by: Chris Evich <cevich@redhat.com>
| * Cirrus: Install libsystemd-dev on UbuntuChris Evich2019-04-24
| | | | | | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* | journald event loggingbaude2019-04-24
|/ | | | | | | | | add the ability for podman to read and write events to journald instead of just a logfile. This can be controlled in libpod.conf with the `events_logger` attribute of `journald` or `file`. The default will be set to `journald`. Signed-off-by: baude <bbaude@redhat.com>
* Cirrus: Temp. override container-selinux on F29Chris Evich2019-04-24
| | | | | | Also, undo oooooold runc package hack Signed-off-by: Chris Evich <cevich@redhat.com>
* podman-remote pause|unpausebaude2019-04-18
| | | | | | | | Add the ability to pause and unpause containers with the remote client. Also turned on the pause tests! Signed-off-by: baude <bbaude@redhat.com>
* cirrus: enable remote tests for rootlessGiuseppe Scrivano2019-04-08
| | | | Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* test: fix remote tests for rootlessGiuseppe Scrivano2019-04-08
| | | | Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* Cirrus: Support special-case modes of testingChris Evich2019-04-03
| | | | | | | | | | | | | | | | | | | | | | Previously libpod CI was fairly straight-forward, run unit and integration tests in a standard set of 3 VMs. Off on the side was a single special case of running tests as an ordinary user. There is a desire to stop using the PAPR system to support testing inside of a container. Since having two special cases potentially invites more down the road, make provisions to handle them more gracefully. This commit introduces an environment variable: ``$SPECIALMODE``. It's value has the following meanings within the CI scripts: Mode 'none': Nothing special, business as usual (default) Mode 'rootless': Rootless testing Mode 'in_podman': Build container, run integration tests in it. This will make adding additional special-cases later easier, as well as extending the special cases in a Matrix across multiple OS's. Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Various fixes for rootless testingChris Evich2019-03-19
| | | | | | | | | * Randomize the user's UID and GID * Simplify `setup_environment.sh` * Support new "-r" option for `hack/get_ci_vm.sh` setting up rootless * Connect as $ROOTLESS_USER when using "-r" with `hack/get_ci_vm.sh` Signed-off-by: Chris Evich <cevich@redhat.com>
* Enable rootless integration testsbaude2019-03-19
| | | | Signed-off-by: baude <bbaude@redhat.com>
* Merge pull request #2689 from cevich/new_imagesOpenShift Merge Robot2019-03-18
|\ | | | | Cirrus: Update VM Cache images
| * Cirrus: Update VM Cache imagesChris Evich2019-03-18
| | | | | | | | | | | | Undo short-term slirp4netns workaround (#2660) Signed-off-by: Chris Evich <cevich@redhat.com>
* | Cirrus: Fix post-merge failure noticeChris Evich2019-03-16
|/ | | | | | | | Likely caused by rebase typos after removing test-commit. This fixes notifications to actually get sent. Also show env. vars after setting up the environment - helps debugging. Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Notify on IRC if post-merge testing failsChris Evich2019-03-15
| | | | | | | | | | | Until recently it was very difficult to execute any scripts if part of a task failed. A new feature in Cirrus-CI makes this easy. Use it to post a notice on IRC when any task fails. Also: Add quotes around yaml-string values for consistency and syntax-highlighting correctness. Signed-off-by: Chris Evich <cevich@redhat.com>
* cirrus: upgrade slirp4netnsGiuseppe Scrivano2019-03-14
| | | | Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* Merge pull request #2531 from cevich/rootless_stubOpenShift Merge Robot2019-03-09
|\ | | | | Cirrus: Add dedicated rootless mode testing
| * Cirrus: Add dedicated rootless mode testingChris Evich2019-03-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Cirrus: Use imgts container to record metadataChris Evich2019-03-06
|/ | | | | | | | | | | Make use of the built imgts container image to track VM image usage statistics for every automation run. Also update and add small check to the gate test that verifies expected formatting/content of the `.cirrus.yml` file WRT VM Image names. Signed-off-by: Chris Evich <cevich@redhat.com>
* Globally increase test timeout to 90-minutesChris Evich2019-03-04
| | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* cirrus: Drop ginkgo, gomega, easyjson installChris Evich2019-03-04
| | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Add BATS package for all platformsChris Evich2019-03-04
| | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* Fix up handling of user defined network namespacesDaniel J Walsh2019-02-23
| | | | | | | | | If user specifies network namespace and the /etc/netns/XXX/resolv.conf exists, we should use this rather then /etc/resolv.conf Also fail cleaner if the user specifies an invalid Network Namespace. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* Cirrus: Install Go 1.11 on Ubuntu VMsChris Evich2019-02-22
| | | | | | | | | | | | | | There is no native package for this, so the packaged version must also be installed, otherwise all the support/dependencies would be removed also (like go-md2man). Fix this by installing from the google released tarball, into /usr/local/go and set $GOROOT to point there. Also, include a small fix for hack/get_ci_vm.sh not installing testing dependencies because of an old assumption. ***CIRRUS: REBUILD IMAGES*** Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Add 20m extra timeout for UbuntuChris Evich2019-02-22
| | | | | | | Tests running slower than normally-slow, bump timeout to allow them to pass until better solution (for slow Ubuntu tests) can be found. Signed-off-by: Chris Evich <cevich@redhat.com>
* packer: Make Makefile host arch sensitiveNitesh Konkar2019-02-18
| | | | | | | | `make localunit` fails on non-amd64 archs as it unzips packer_1.3.2_linux_amd64.zip irrespective of host arch its running on. Signed-off-by: Nitesh Konkar <niteshkonkar@in.ibm.com>
* Cirrus: add vendor_check_taskValentin Rothberg2019-02-06
| | | | | | | | | | | * Make sure that all vendored dependencies are in sync with the code and the vendor.conf by running `make vendor` with a follow-up status check of the git tree. * Vendor ginkgo and gomega to include the test dependencies. Signed-off-by: Chris Evic <cevich@redhat.com> Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
* Cirrus: Add RHEL-7 testingChris Evich2019-01-30
| | | | | | | | | | | | | | Add necessary tweaks to base-image build/import process so that image can successfully boot with networking enabled. Build the base image and update ``.cirrus.yml`` accordingly. Also make a minor improvement to cache-image building to help save space in GCP image storage. Namely, instead of storing every produced image, export them into google storage buckets w/ life-cycle enabled. For production use, they may be converted back into GCE images, otherwise they will expire after a time. Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Enable AppArmor build and testChris Evich2019-01-29
| | | | | | | | | This was specifically disabled early on in transitioning to cirrus due to an excessive number of test failures and lack of knowledge. This commit reverses the stance and unifies build and test commands across all current platforms. Signed-off-by: Chris Evich <cevich@redhat.com>
* cirrus: Record start/end time of important thingsChris Evich2019-01-17
| | | | | | | | | | | | | Previously we only reported the date/time at the beginning of a run since it's not available in the Cirrus-CI system. This commit generalizes the solution, recording start/end times for all major events. Also the timestamps are recorded into a local file on the VMs. This is intended for future use, for example tracking execution-time trends. Signed-off-by: Chris Evich <cevich@redhat.com>
* Run integrations test with remote-clientbaude2019-01-14
| | | | | | | | | | | | Add the ability to run the integration (ginkgo) suite using the remote client. Only the images_test.go file is run right now; all the rest are isolated with a // +build !remotelinux. As more content is developed for the remote client, we can unblock the files and just block single tests as needed. Signed-off-by: baude <bbaude@redhat.com>
* Merge pull request #2129 from cevich/timestampOpenShift Merge Robot2019-01-10
|\ | | | | Cirrus: (Minor) Print timestamp
| * (Minor) Cirrus: Print timestamp at startChris Evich2019-01-10
| | | | | | | | | | | | Also record into a file in case a later reference is required Signed-off-by: Chris Evich <cevich@redhat.com>
* | Minor: Remove redundant basename command in ooe.shChris Evich2019-01-07
|/ | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* cirrus: Use updated images including new cruiChris Evich2018-12-21
| | | | | | | Also add two minor tweaks which were preventing images from building properly. Signed-off-by: Chris Evich <cevich@redhat.com>
* Use existing CRIU packages in CI setupAdrian Reber2018-12-21
| | | | | | | | | | | | For all in testing involved distribution a new enough CRIU exists as a package. Fedora provides CRIU packages directly. For CentOS/RHEL there is a COPR with the latest CRIU version and for Ubuntu there is a PPA for the latest CRIU version. Let's use these packages and fall back to building from git if necessary. Signed-off-by: Adrian Reber <adrian@lisas.de>
* Cirrus: One IRC notice onlyChris Evich2018-12-18
| | | | | | | | | The podbot messages are becoming obnoxious as more distributions are tested. Only call the `success.sh` script once, after all testing was successful. Also make update the message to include more helpful text and url. Signed-off-by: Chris Evich <cevich@redhat.com>