[openstack-dev] [kolla] Functional gate expansion

jpeeler at redhat.com jpeeler at redhat.com
Tue May 26 21:16:16 UTC 2015


(Trying to summarize discussions from earlier on IRC)

On Mon, May 25, 2015 at 06:54:43PM +0000, Steven Dake (stdake) wrote:
>Hey fellow Kolla devs,
>
>With Sam’s recent change to add build from source as an option and build from Debuntian binaries as an option, we will end up in a situation where our gate will take 4+ hours to build all of the images and run the functional tests.  I would like to separate each major distro and source type with a separate functional gate, for example:
>
>centos-rdo
>fedora-rdo
>ubuntu-binary
>debian-bianry
>centos-source
>fedora-source
>debian-source
>ubuntu-source
>
>I propose separating each of these as a separate non-voting check job.  What needs to happen in our image building scripts, our functional tests, and the project-config repo to make this happen?

Sam said he was working on a patch the allowed CLI args to be passed in 
to set the prefix. Then it appears that tox supports passing arguments 
to underlying tests, so a new argument could be passed to 
test_images.py, and that file be modified to pass the different prefix 
to build-all-docker-images. (The project-config repo would be nearly 
identical, just with new jobs executing tox with the different 
argument.)

I really wish we were somehow using caching, though there is one 
downside. If caching were used and a network resource goes down that was 
cached, the build would succeed, which could be confusing. Then again 
that very con could be considered a pro as being more robust to third 
party failures.

Today on IRC it was mentioned that pushing images would take hours, so I 
think we should leverage Docker's trusted builds and not even bother 
trying to push images from our test run (another potential solution).  
The flow would look something like:
submitted to gerrit
approved
gating performed
commit permitted to land in repo
github commit hook triggers trusted build
trusted build updated to latest and available for all to download from 
docker registry

Looking into this further, we'd need infrastructure help to get 
permissions on github to create the webhooks.

Once we get to this point we should be able to do image pulls of trusted 
builds, greatly accelerating the build process. However, if this is 
deemed too risky, the trusted builds would at least allow community 
users to stay up to date easily without any long build times.

>I’d like to make our current functional gate voting asap, but don’t want to block build from source to make that happen.

ASAP? I thought we discussed leaving the job to run for a while before 
making it voting. But if voting is to be turned on in the near term, 
obviously we'd start without caching and just using the centos images 
for now. As far as I can tell, the review is ready: 
https://review.openstack.org/#/c/183417/

Thoughts?



More information about the OpenStack-dev mailing list