(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?

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: [email protected]?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to