[
https://ovirt-jira.atlassian.net/browse/OVIRT-848?page=com.atlassian.jira...
]
Barak Korren commented on OVIRT-848:
------------------------------------
Some details and considerations about the interaction between containers (specifically
Docker-based) and "Standard CI":
There are two possible ways to use Docker from inside mock:
# Install Docker inside the mock environment, and start up the Docker daemon inside it as
well.
# Install Docker on the slave VM (The host under mock), Docker client in the mock env, and
bind-mount the docket socket ({{/var/run/docker.sock}}) into it.
The obvious benefit of method #1 is that it does not require any adjustments to the
existing CI infrastructure (We just need to teach devs how to implement it). I have
doubts, however, that mock will not cause some difficulties with this (For example, are
cgroups mounted inside mock?). We will need to test this and verify it works.
Method #1 will also cause issues when we come around to implementing something like
OVIRT-873 ([Nested Docker is possible but far from
recommneded|https://jpetazzo.github.io/2015/09/03/do-not-use-docker-in-docker-for-ci/]) or
do anything that causes us to run Docker on the hosts themselves.
Method #2 will not have the same issues as method #1, but it will require us to distribute
and maintain Docker on the slaves which is a step back to the pre-Standard-CI era.
I think we should actually implement _both_ methods like this:
# Try to mount the Docker socket into the mock env.
# If it works use method #2
# If it doesn't, use method #1.
This will require a little change to {{mock_runner.sh}} to allow bind mounts to be
optional, but this change may provide other benefits so we may as well go for it.
Add support for building containers in oVirt CI
-----------------------------------------------
Key: OVIRT-848
URL:
https://ovirt-jira.atlassian.net/browse/OVIRT-848
Project: oVirt - virtualization made easy
Issue Type: Improvement
Reporter: eyal edri [Administrator]
Assignee: infra
more and more projects in oVirt are starting to build containers and using Docker files
in their reops.
We need to start preparing oVirt CI to know how to handle containers and support
containers the same way we support rpms today.
This will be a parent task with multiple sub-tasks that will follow, the following is a
draft list of what we might need to do to add this support:
# Install Registry server ( maybe use
openshift.ovirt.org )
# Add for standard CI 'build-containers.sh' support
# Add verification steps for the build before publishing to registry
# Look at 3rd party OSS projects that might help and integrate with existing solutions
--
This message was sent by Atlassian JIRA
(v1000.571.2#100021)