*What are we talking about exactly?*
The CI team had been doing work over the last few weeks to create and
enable a container-based CI backend that is usable as an alternative for
the legacy VM-and-chroot backend we've been using so far.
*Why?*
1. *You asked for it: *We've been approached by several developer teams
asking for this kind of functionality
2. *Faster:* The new backend requires far less setup overhead then the
legacy one, and therefore would allow jobs to start and finish faster
3. *More flexible: *The old backend allowed specifying build/test
dependencies in terms of RPM packages, the container based one uses
container images for this which are far more flexible
4. *More versatile:* There were some limits to what could be done
reliably with chroots. The greater isolation provided by containers would
provide better testing capabilities
5. *Less maintenance:* With the legacy backend, the CI team had to take
the time and provide support for every new release of a target
distribution, the new backend is designed to allow using upstream container
images directly therefore letting developers use them as soon as they are
released instead of having to wait for the CI team to provide support.
*Tell me more!*
A pending documentation update describing the new features and how to use
them can be found here:
- 104660 <
https://gerrit.ovirt.org/104660>: Document the new STDCI
containers syntax
*Great! so can I use this now?*
Unfortunately this is not yet enabled in production, while most of the
functionality had already been developed and tested, code review efforts
are still ongoing. If you'd like to help us move this along, please take
the time and help reviewing the following patches:
- 103937 <
https://gerrit.ovirt.org/103937>: Adda an STDCI DSL option for
using containers
- 104066 <
https://gerrit.ovirt.org/104066>: Add STDCI DSL `podspecs`
pseudo option
- 104164 <
https://gerrit.ovirt.org/104164>: stdci_runner: Support
container-based threads
I'd like to thank @Marcin Sobczyk <msobczyk(a)redhat.com> and @Miguel Duarte
de Mora Barroso <mdbarroso(a)redhat.com> for helping with the review effort
so far, further work is needed as changes had been made following the
reviews.
*Hey, it's nice and all, but I think you forgot to make it do X*
Hold on! we are not done yet! While we want to put an initial set of
features in the hands of developers as soon as possible, work is already
under way to provide more functionality. To check out what is coming down
the line (And perhaps help it along), please have a look at the following
patches:
- 104668 <
https://gerrit.ovirt.org/104668>: Document source cloning
extension for containers
- 104213 <
https://gerrit.ovirt.org/104213>: Implement STDCI DSL support
for initContainers
- 104590 <
https://gerrit.ovirt.org/104590>: STDCI DSL: Add the
`decorate` option
- 104273 <
https://gerrit.ovirt.org/104273>: STDCI PODS: Unique UID for
each job build's POD
--
Barak Korren
RHV DevOps team , RHCE, RHCi
Red Hat EMEA
redhat.com | TRIED. TESTED. TRUSTED. |
redhat.com/trusted