[libvirt] [PATCH v3 0/6] Facilitate running libvirt builds via docker containers

Daniel P. Berrangé posted 6 patches 5 years, 8 months ago
Test syntax-check passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/20190327171038.24095-1-berrange@redhat.com
There is a newer version of this series
.gitignore            |   1 +
.travis.yml           |  78 +++++-----------
Makefile.am           |   2 +
Makefile.ci           | 206 ++++++++++++++++++++++++++++++++++++++++++
tests/vircgroupmock.c |   6 +-
5 files changed, 235 insertions(+), 58 deletions(-)
create mode 100644 Makefile.ci
[libvirt] [PATCH v3 0/6] Facilitate running libvirt builds via docker containers
Posted by Daniel P. Berrangé 5 years, 8 months ago
For a while QEMU has provided simple make rules for building QEMU inside
standard docker container environments. This provides an equivalent
mechanism for libvirt inspired by QEMU's.

QEMU actually builds the container images on developer's machines
locally. Libvirt already hosts pre-built images on quay.io, so that is
used directly as it is quicker to download them than to build them
locally. This also ensures the container contents match what the live
CI system is using, as opposed to building an image with newer packages.

NB, there is a currently a test failure with this change to travis
that we don't currently see. Current travis runs a privileged
docker container, but with this change we now run unprivileged
containers. This shows that the "virsh-snapshot" test is trying
to create a file under $HOME, and docker blocks this. Obviously
needs fixing before pushing.

Changed in v3:

 - Lots of new variables & variable renames
 - Rename to top level Makefile.ci
 - Rename make targets to have @ separator for the image
 - Refactor macOS travis config

Changed in v2:

 - Drop cross-compilation patches temporarily. The cross-compiler
   images are not yet built on quay.io and rather than creating and
   bulding many more images manually, I'm working on script to
   automate setup of quay.io images
 - Many changes to the make rules to make it possible to use them
   from Travis CI to match its currently testing setup
 - Modify Travis CI config to use the new make rules for consistency

Daniel P. Berrangé (6):
  tests: don't abort in fopen(/proc/mounts)
  tests: add targets for building libvirt inside docker containers
  travis: convert ubuntu, centos & mingw builds to use new make rules
  travis: use declarative syntax for homebrew packages
  travis: remove display of test-suite.log from macOS
  travis: put macOS script inline in the macOS matrix entry

 .gitignore            |   1 +
 .travis.yml           |  78 +++++-----------
 Makefile.am           |   2 +
 Makefile.ci           | 206 ++++++++++++++++++++++++++++++++++++++++++
 tests/vircgroupmock.c |   6 +-
 5 files changed, 235 insertions(+), 58 deletions(-)
 create mode 100644 Makefile.ci

-- 
2.20.1

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH v3 0/6] Facilitate running libvirt builds via docker containers
Posted by Eric Blake 5 years, 8 months ago
On 3/27/19 12:10 PM, Daniel P. Berrangé wrote:
> For a while QEMU has provided simple make rules for building QEMU inside
> standard docker container environments. This provides an equivalent
> mechanism for libvirt inspired by QEMU's.
> 
> QEMU actually builds the container images on developer's machines
> locally. Libvirt already hosts pre-built images on quay.io, so that is
> used directly as it is quicker to download them than to build them
> locally. This also ensures the container contents match what the live
> CI system is using, as opposed to building an image with newer packages.
> 
> NB, there is a currently a test failure with this change to travis
> that we don't currently see. Current travis runs a privileged
> docker container, but with this change we now run unprivileged
> containers. This shows that the "virsh-snapshot" test is trying
> to create a file under $HOME, and docker blocks this. Obviously
> needs fixing before pushing.

Patch for that fix has been posted.


-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3226
Virtualization:  qemu.org | libvirt.org

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list