Commit Graph

375 Commits

Author SHA1 Message Date
Chris Evich e06f17f580
Cirrus: Block CNI use of google VPCs
Specifically pertaining to executing tests in google cloud, there are
default, pre-allocated class-a subnetworks for each region (data-center).
Each includes a gateway using a `.1` LSB and all are routable from other
regions in google cloud via these gateways.

Because the default CNI configuration also utilizes class-a subnetworks,
this creates the possibility for IPv4 address-space clashes.  Since the
default regional cloud subnets are pre-defined/known, preventing clashes
can be accomplished by seeding these subnets in a dummy CNI configuration.

The default behavior of podman is to grab the highest priority CNI
configuration.  Name the dummy config. appropriate so it always loads
last.  Also name the bridge itself with an obvious name `do-not-use`,
such that any related testing errors should be easier to debug.

Also:

* Minor cleanup of `install_test_configs()`
* Move install_test_configs in `setup_environment.sh` to after possible
  run of `remove_packaged_podman_files()` because that also strips out
  `/etc/cni/net.d/87-podman-bridge.conflist`.

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-08-28 09:02:31 -04:00
OpenShift Merge Robot 67926d86b5
Merge pull request #3824 from baude/varlinkendpointtest
Create framework for varlink endpoint integration tests
2019-08-26 17:11:12 +02:00
OpenShift Merge Robot 76f327f73f
Merge pull request #3617 from QiWang19/create_pull
add --pull flag for podman create&run
2019-08-17 14:55:14 +02:00
OpenShift Merge Robot 098ce2f33a
Merge pull request #3822 from cevich/simplify_crun_task
Cirrus: Minor: Simplify crun test task
2019-08-17 08:06:14 +02:00
Chris Evich 7e406fe8e6
Cirrus: Minor: Simplify crun test task
Signed-off-by: Chris Evich <cevich@redhat.com>
2019-08-16 14:33:37 -04:00
baude 04f2f95bb4 Create framework for varlink endpoint integration tests
add the ability to write integration tests similar to our e2e tests for
the varlink endpoints.

Signed-off-by: baude <bbaude@redhat.com>
2019-08-16 10:10:50 -05:00
Chris Evich 122f694159
Cirrus: Confirm networking more
Signed-off-by: Chris Evich <cevich@redhat.com>
2019-08-16 11:03:03 -04:00
OpenShift Merge Robot 2d47f1ae54
Merge pull request #3796 from giuseppe/enable-cgroupsv2-crun
cirrus: enable cgroups v2 tests with crun
2019-08-16 13:20:30 +02:00
Matthew Heon 913c7b08d2 Bump to v1.5.2-dev
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-08-15 17:13:21 -04:00
Giuseppe Scrivano a3fd890b86
cirrus: enable cgroups v2 tests with crun
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-08-13 21:53:00 +02:00
OpenShift Merge Robot ce64c1403d
Merge pull request #3772 from haircommander/snapcraft
fork https://github.com/abitrolly/podman
2019-08-13 18:44:24 +02:00
OpenShift Merge Robot 7a859f064a
Merge pull request #3791 from cevich/install_libvarlink
Cirrus: Install varlink in VM images
2019-08-13 16:24:32 +02:00
OpenShift Merge Robot b6c9b10867
Merge pull request #3662 from marusak/user_socket_service
Add user systemd service and socket
2019-08-13 15:57:27 +02:00
OpenShift Merge Robot 4e21e56406
Merge pull request #3649 from cevich/brent_is_back
Revert "Cirrus: Temp. workaround missing imgprune image"
2019-08-13 15:29:02 +02:00
Chris Evich 386e939acb
Cirrus: Install varlink on Ubuntu
Signed-off-by: Chris Evich <cevich@redhat.com>
2019-08-13 09:16:37 -04:00
Chris Evich 0bf7d599f8
Cirrus: Install varlink on Fedora
Signed-off-by: Chris Evich <cevich@redhat.com>
2019-08-13 09:16:37 -04:00
Jindrich Novy e9365c1a81 Add missing stage-packages in snapcraft.yaml.
Signed-off-by: Jindrich Novy <jnovy@redhat.com>
2019-08-13 08:57:07 -04:00
Peter Hunt c606b3d3f1 Add RHEL and SUSE to snap doc
Signed-off-by: Peter Hunt <pehunt@redhat.com>
2019-08-13 08:57:07 -04:00
Peter Hunt 1ed4d1fa58 start groundwork for adding snap
by forking https://github.com/abitrolly/podman

Signed-off-by: Peter Hunt <pehunt@redhat.com>
2019-08-13 08:57:07 -04:00
Matej Marusak daf7044aa9 Add user systemd service and socket
This enables user to interact with varlink and create/manage rootless
containers through it.

Using as:
`varlink call unix:/run/user/1000/podman/io.podman/io.podman.ListContainers`

Signed-off-by: Matej Marusak <mmarusak@redhat.com>
2019-08-13 07:00:56 +02:00
OpenShift Merge Robot f634fd3900
Merge pull request #3607 from cevich/cgroup2_vm
Add another Fedora VM with cgroups v2 enabled
2019-08-12 21:28:56 +02:00
Chris Evich d36c62d88d
Revert "Cirrus: Temp. workaround missing imgprune image"
This reverts commit 9b2e98f1e8.

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-08-12 15:04:30 -04:00
Chris Evich 5f99703594
Cirrus: Add verification for cgroupv2 image
Signed-off-by: Chris Evich <cevich@redhat.com>
2019-08-12 12:01:55 -04:00
Chris Evich 7508179ed9
Cirrus: Add experimental fedora VM image & test
Signed-off-by: Chris Evich <cevich@redhat.com>
2019-08-12 12:01:55 -04:00
Chris Evich fd312ae30a
Cirrus: Minor, use newer Ubuntu base image
Signed-off-by: Chris Evich <cevich@redhat.com>
2019-08-12 11:02:02 -04:00
Giuseppe Scrivano 0798fc5fc4
cirrus: install crun
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-08-12 14:11:59 +02:00
OpenShift Merge Robot 926901d78d
Merge pull request #3594 from cevich/second_partition
Add Second partition for storage-drive testing
2019-08-10 12:10:43 +02:00
OpenShift Merge Robot b6e2bc3cc9
Merge pull request #3770 from cevich/updates_testing
Cirrus: Enable updates-testing repo for Fedora
2019-08-10 11:43:44 +02:00
Matthew Heon 10834c525f Bump to v1.5.1-dev
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-08-09 16:00:38 -04:00
Matthew Heon 54b394bd3e Bump to v1.5.0
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-08-09 16:00:35 -04:00
Qi Wang decfea65be add --pull flag for podman create&run
Requirement from https://github.com/containers/libpod/issues/3575#issuecomment-512238393

Added --pull for podman create and pull to match the newly added flag in docker CLI.
`missing`: default value, podman will pull the image if it does not exist in the local.
`always`: podman will always pull the image.
`never`: podman will never pull the image.

Signed-off-by: Qi Wang <qiwan@redhat.com>
2019-08-09 15:21:34 -04:00
Chris Evich ec2ea0278e
Cirrus: Enable updates-testing repo for Fedora
Signed-off-by: Chris Evich <cevich@redhat.com>
2019-08-09 10:25:50 -04:00
baude 096af85278 add make to make installs
as issue #2702 describes, we want to make podman and podman-remote as
part of make install.

Fixes: #2702

Signed-off-by: baude <bbaude@redhat.com>

avoid `make` in `make install` in the rpmbuild process.

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2019-08-07 14:52:49 -04:00
Chris Evich 0a05af1dd6
Cirrus: Add Second partition for storage testing
This is mainly/initially to support use of Cirrus-CI
in https://github.com/containers/buildah since that setup
re-uses the VM images from this project. However, it also
opens doors here, if libpod ever needs/wants to do things
with a dedicated storage device and/or storage-drivers.

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-08-01 14:07:55 -04:00
Chris Evich 3e3afb942a
Cirrus: Fix release dependencies
The release-task ***must*** always execute last, in order to guarantee a
consistent cache of release archives from dependent tasks.  It
accomplishes this by verifying it's task-number matches one-less than
the total number of tasks.  Previous to this commit, a YAML anchor/alias
was used to avoid duplication of the dependency list between 'success'
and 'release'

However, it's been observed that this opens the possibility for
'release' and 'success' tasks to race when running on a PR.  Because
YAML anchor/aliases cannot be used to modify lists, duplication is
required to make 'release' actually depend upon 'success'.

This duplication will introduce an additional maintenance burden.
Though when adding a new task, it's already very easy to forget to
update the 'depends_on' list.  Assist both cases by the addition
unit-tests to verify ``.cirrus.yml`` dependency contents and structure.

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-07-31 11:49:53 -04:00
Chris Evich cb2ea1a27b
Cirrus: Fix re-run of release task into no-op.
This task depends upon other tasks caching their binaries.  If for
whatever reason the `release` task is re-run and/or is out-of-order
with it's dependents, the state of cache will be undefined. Previously
this would result in an error, and failing of the release task.
This commit alters this behavior to issue a warning instead.

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-07-31 09:42:52 -04:00
Chris Evich 07b1e331c2
Cirrus: Ubuntu: Set + Test for $RUNC_BINARY
Signed-off-by: Chris Evich <cevich@redhat.com>
2019-07-25 14:02:12 -04:00
Chris Evich f55288c96f
Cirrus: Simplify evil-unit check in image
Signed-off-by: Chris Evich <cevich@redhat.com>
2019-07-25 13:51:33 -04:00
Chris Evich ceb3d76298
Cirrus: Silence systemd-banish noise
It's somewhat hard to predict which units are certinly present
for any given base-image.  Therefore, at image-build time, it's
distracting and unhelpful to see all the errors about units that
don't exist, on every platform.  Simply ignore them and rely on
the `check_image.sh` test to confirm none are enabled.

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-07-25 13:51:33 -04:00
Chris Evich e3082762fe
Cirrus: Fix image build metadata update
Signed-off-by: Chris Evich <cevich@redhat.com>
2019-07-25 13:51:33 -04:00
Chris Evich 6942d3275d
Cirrus: Fix missing -n on CentOS
Signed-off-by: Chris Evich <cevich@redhat.com>
2019-07-25 13:51:33 -04:00
TomSweeneyRedHat 6dc0f1bec3 Change wait to sleep in podmanimage readme
Change wait to sleep 100000 as we've had some reports of problems
with wait:  https://github.com/containers/buildah/issues/1665

Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2019-07-22 16:23:39 -04:00
Peter Hunt 0671dca90d bump conmon to 1.0.0-rc2
Signed-off-by: Peter Hunt <pehunt@redhat.com>
2019-07-22 13:20:51 -04:00
Chris Evich 67098029bc
Cirrus: Minor scripting typo fix
Signed-off-by: Chris Evich <cevich@redhat.com>
2019-07-18 10:40:26 -04:00
OpenShift Merge Robot 04a9cb01fe
Merge pull request #3335 from cevich/imgprune
Cirrus: Print images that should be pruned
2019-07-17 11:47:42 +02:00
Chris Evich f58b754c8d
Cirrus: Add image-test for locked dpkg
Signed-off-by: Chris Evich <cevich@redhat.com>
2019-07-16 14:30:42 -04:00
Chris Evich 1abb217493
Cirrus: Disable most periodic services/timers
For CI testing, it's important to remove as much variability from the
overall system as possible.  This permits focusing just on problems
closely related to code-changes.  To this end, and because VMs are very
short-lived (2 hours at most), disable all systemd services and timers
which perform periodic activities.

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-07-16 14:30:42 -04:00
Chris Evich 35c174f723
Cirrus: Abstract destination branch refs.
Various tasks and scripts behave differently depending on whether or not
the build is running against a PR or on a branch, post-merge.  However,
a great number of them are hard-coded to the string 'master' as the
destination.  Since this is not always the case (there are other
relevant branches), it makes sense to abstract the references with a
single definition.

Add a top-level `$DEST_BRANCH` variable to CI, and otherwise
default to 'master' when unset.  This enables running CI builds on
additional branches without the overhead of updating all the static
references to 'master'.  Simply update `$DEST_BRANCH` at the top-level
and all branch-conditional logic will function as intended.

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-07-15 16:42:41 -04:00
Chris Evich e8564dc44f
Cirrus: Print images that should be pruned
Over time unless they're removed, the project could grow quite a large
collection of VM images.  While generally cheap (less than a penny each,
per month), these will become a significant cost item if not kept
in-check.

Add a specialized container for handling image-pruning, but limit
it to only finding and printing (not actually deleting) images.

Also update the image-building workflow so that base-images used to
compose cache-images are also labeled with metadata.

N/B: As an additional safeguard, the service account which
     executes the new container in production *DOES NOT*
     have access to delete images.  This can be enabled
     by adding the GCE IAM role: CustomComputeImagePrune

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-07-15 15:26:26 -04:00
Chris Evich 9043b816d4
Cirrus: Fix missing removal of packaged podman
This was originally intended, but somehow omitted from #1936

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-07-12 08:44:27 -04:00