ODL Docker status


Luis Gomez
 

Just wanted to update the TSC with the ODL docker work we started some time back.


1) Docker image creation:

Today we have infrastructure in the distribution project to generate one docker image per ODL release.

The work to produce a docker image per release consists in 2 steps:

1. Patch to update docker image code, this may include changes in the java version or other aspect of the ODL installation:

https://git.opendaylight.org/gerrit/c/integration/distribution/+/104444

2. Patch to release the docker image:

https://git.opendaylight.org/gerrit/c/integration/distribution/+/104445

After that, you see docker images published in nexus3 release registry: nexus3.opendaylight.org:10002

You can simply download an image with:

docker pull nexus3.opendaylight.org:10002/opendaylight/opendaylight:17.2.0


2) Available releases (docker tags):

There are older tags we used when we tested in the packaging project, the tags below have been created in the distribution project:

Sulfur:
16.1.0
16.2.0
16.3.0

Chlorine:
17.1.0
17.2.0


3) Issues:

Currently there is an issue when merging the patch to release the docker image, the job always fails the first time but works the second. The job definition is part of global-jjb so it is unclear why it fails for us but works for other LFN projects. Anyway Anil is aware of this if you see the comments in this patch:

https://git.opendaylight.org/gerrit/c/integration/distribution/+/104085


4) Next steps:

This is some work that I think is still needed:

1. Publish ODL images in Docker hub: This is not only to make the images more global available but also more accessible: current nexus3 port 10002 may be blocked by corporate firewalls like in my company. I think this task is still on LF (Anil) as I have no inside on the Docker hub required work.

2. Plug some test so no manual intervention is needed to test the docker images. The idea is to plug this test written in pytest by last summer intern:

https://git.opendaylight.org/gerrit/c/integration/test/+/103667

3. Add more parameters (env variables) to the docker installation, today it is only the ODL features that we are passing in:

https://git.opendaylight.org/gerrit/gitweb?p=integration/distribution.git;f=docker/Dockerfile;hb=832f5f7b1040d7396ddd781e7ff0a027868f824b#l30

4. Expand the framework to other projects that also want docker based deliverables.


If anyone has cycles to help in any of the above, feel welcome and free to reach back to me, otherwise I will be slowly progressing some of the tasks above.

BR/Luis