summaryrefslogtreecommitdiff
path: root/contrib
Commit message (Collapse)AuthorAge
* 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>
* Bump to v1.3.0-devMatthew Heon2019-03-30
| | | | Signed-off-by: Matthew Heon <matthew.heon@pm.me>
* Remove ulele/deepcopier in favor of JSON deep copyMatthew Heon2019-03-27
| | | | | | | | | | | | | We have a very high performance JSON library that doesn't need to perform code generation. Let's use it instead of our questionably performant, reflection-dependent deep copy library. Most changes because some functions can now return errors. Also converts cmd/podman to use jsoniter, instead of pkg/json, for increased performance. Signed-off-by: Matthew Heon <matthew.heon@pm.me>
* Cirrus: Verify manpages for all subcommands existChris Evich2019-03-21
| | | | | | fixes #2630 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>
* Merge pull request #2637 from edsantiago/zsh_completionOpenShift Merge Robot2019-03-15
|\ | | | | zsh completion
| * zsh completionEd Santiago2019-03-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Weekend hack by someone who doesn't grok zsh completion but who finds it deeply offensive that most completion files have an unmaintainable duplication of options and arguments. The idea behind this one is to discover the command line using --help, with a few hardcoded helpers for discovering containers, images, pods, and figuring out which args take files/dirs as args. Working remarkably well. I am using this in my daily routine and wondering how I ever managed without it. It's not perfect -- a future version can perhaps show only stopped containers for podman rm, only running ones for podman stop -- but ROI seems low on that given my limited zsh completion skills. Sadly, I can't figure out how to write a regression test suite for this. It would be lovely to have a list if partial command lines and expected completions, because the history of this change is that (seemingly) minor tweaks in one place cause breakage in another. Does anyone know of such a framework? Still... working well enough to ship, IMO. Signed-off-by: Ed Santiago <santiago@redhat.com>
* | cirrus: upgrade slirp4netnsGiuseppe Scrivano2019-03-14
| | | | | | | | Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* | Replace skopeo-containers with containers-commonTomSweeneyRedHat2019-03-14
|/ | | | | | | | | | Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com> Replaces 'skopeo-containers' with 'containers-common' in the files that I feel comfortable changing it in. There are a number of rpm building related files that still have it, but I was hesitant to do so. Signed-off-by: TomSweeneyRedHat <tsweeney@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>
* Add a task to Cirrus gating to build w/o VarlinkMatthew Heon2019-02-27
| | | | | | | We had a regression on master where we broke the build for non-Varlink builds. Catch this in CI in the future. Signed-off-by: Matthew Heon <matthew.heon@pm.me>
* Bump to v1.2.0-devMatthew Heon2019-02-26
| | | | Signed-off-by: Matthew Heon <matthew.heon@pm.me>
* Bump to v1.1.0v1.1.0Matthew Heon2019-02-26
| | | | Signed-off-by: Matthew Heon <matthew.heon@pm.me>
* 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>
* pod infra container is started before a container in a pod is run, started, ↵Peter Hunt2019-02-15
| | | | | | | | | | or attached. Prior, a pod would have to be started immediately when created, leading to confusion about what a pod state should be immediately after creation. The problem was podman run --pod ... would error out if the infra container wasn't started (as it is a dependency). Fix this by allowing for recursive start, where each of the container's dependencies are started prior to the new container. This is only applied to the case where a new container is attached to a pod. Also rework container_api Start, StartAndAttach, and Init functions, as there was some duplicated code, which made addressing the problem easier to fix. Signed-off-by: Peter Hunt <pehunt@redhat.com>
* Fix volume handling in podmanDaniel J Walsh2019-02-14
| | | | | | | | | | | | | | | | | | iFix builtin volumes to work with podman volume Currently builtin volumes are not recored in podman volumes when they are created automatically. This patch fixes this. Remove container volumes when requested Currently the --volume option on podman remove does nothing. This will implement the changes needed to remove the volumes if the user requests it. When removing a volume make sure that no container uses the volume. Signed-off-by: Daniel J Walsh dwalsh@redhat.com Signed-off-by: Daniel J Walsh <dwalsh@redhat.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>
* Merge pull request #2196 from baude/toolboxDaniel J Walsh2019-02-05
|\ | | | | Changes to container runlabel for toolbox project
| * Changes to container runlabel for toolbox projectbaude2019-01-30
| | | | | | | | | | | | | | | | | | | | The toolbox project would benefit from a few changes to more closely resembe the original atomic cli project. Changes made are: * only pull image for container runlabel if the label exists in the image * if a container image does not have the desired label, exit with non-zero Signed-off-by: baude <bbaude@redhat.com>
* | Merge pull request #2213 from cevich/cirrus_imgts_containerOpenShift Merge Robot2019-02-04
|\ \ | | | | | | [skip ci] Cirrus: Container for tracking image use
| * | [skip ci] Cirrus: Container for tracking image useChris Evich2019-01-24
| | | | | | | | | | | | | | | | | | | | | Once built, this container can be utilized by automation to help keep track of VM images. All parameters are passed in via env. vars. Signed-off-by: Chris Evich <cevich@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>
* Update master branch with v1.0 changes from 1.0 branchMatthew Heon2019-01-14
| | | | | | | Grab release notes, changelog, and version changes so master is up to date. Signed-off-by: Matthew Heon <matthew.heon@pm.me>
* Merge pull request #2119 from jwhonce/wip/python_podmanOpenShift Merge Robot2019-01-10
|\ | | | | Move python code from contrib to it's own repo python-podman
| * Move python code from contrib to it's own repo python-podmanJhon Honce2019-01-10
| | | | | | | | Signed-off-by: Jhon Honce <jhonce@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>
* Merge pull request #2023 from rhatdan/configOpenShift Merge Robot2018-12-22
|\ | | | | Switch all references to image.ContainerConfig to image.Config
| * Switch all referencs to image.ContainerConfig to image.ConfigDaniel J Walsh2018-12-21
| | | | | | | | | | | | This will more closely match what Docker is doing. Signed-off-by: Daniel J Walsh <dwalsh@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>
* Merge pull request #1757 from kunalkushwaha/contrib-perftestOpenShift Merge Robot2018-12-20
|\ | | | | perf test a stress test to profile CPU load of podman
| * perf test a stress test to profile CPU load of podmanKunal Kushwaha2018-12-19
| | | | | | | | Signed-off-by: Kunal Kushwaha <kushwaha_kunal_v7@lab.ntt.co.jp>