[JIRA] (OVIRT-873) Implement Standard-CI with containers

Nadav Goldin (oVirt JIRA) jira at ovirt-jira.atlassian.net
Mon Nov 28 08:08:02 UTC 2016


    [ https://ovirt-jira.atlassian.net/browse/OVIRT-873?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=23314#comment-23314 ] 

Nadav Goldin commented on OVIRT-873:
------------------------------------

+1 - I think containers support would be great, especially if we use openshift. 

Few issues that come to mind from my little experience with docker:
1. docker has limitation, for example: running systemd is almost impossible, also I doubt if you can run qemu inside docker, so this is not relevant for OST. 
2. docker wants one process per container(as for the guidelines), I think we have jobs that need to do more than that.
3. docker images are not always one-to-one with the images we want to test on, i.e. can we claim that centos7:latest on docker hub is equivalent to centos7 we "support"? not sure. Moreover, this means we will need to start maintaining images, what we don't do now(in a way we maintain mock configurations which might be considered as maintaining Dockerfiles).

either way, every solution we go with would probably need to be hybrid one(maintaining both flows). 

> Implement Standard-CI with containers
> -------------------------------------
>
>                 Key: OVIRT-873
>                 URL: https://ovirt-jira.atlassian.net/browse/OVIRT-873
>             Project: oVirt - virtualization made easy
>          Issue Type: Task
>          Components: General
>            Reporter: Barak Korren
>            Assignee: infra
>
> oVirt's Standard-CI is currently implemented using mock, and this has worked well for us so far.
> Changing the implementation to use containers will provide several benefits:
> * Faster start-up times - Most container provides have some form of image layering and caching that will be faster as bringing up a basic OS image then installing it with yum like mock does.
> * Broader OS support - mock can only run on the Red Hat family of operating systems, and can only emulate those operating systems. Most container providers can both run on and emulate a broader range of operating systems.
> * Better isolation and cleanup - Mock only isolates the file system, containers can isolate the file system as well as the networking layer and the process space.
> Depending on the container provider, we may gain additional benefits:
> * Some container providers like Kubernetes, can manage distributed compute resources across many nodes. This means can can stop managing Jenkins slaves and instead just have the Jenkins master start up containers on the provider.
> * Some providers like OpenShift have built-in CI processes for creating and testing container images.
> *Note:* At some point, David started an effort going this way: https://gerrit.ovirt.org/#/c/54376/



--
This message was sent by Atlassian JIRA
(v1000.571.2#100021)



More information about the Infra mailing list