Solum Build Farm

Registered by Julien Vey on 2014-06-02

Currently, all our build jobs are executed on the same machine where Solum is running. To be more flexible and scalable, this needs to be extracted. This change proposes to add mechanisms and tools in Solum to set up a build farm to execute build jobs

Work Items
----------
* Create VM and Docker images for {Jenkins, Shell, Drone}
* Create Heat template to run the build farm
* Create API Endpoint for infra section
* Add infra section to pipeline API object to declare infra requirements
* Plug-in heat stack creation in Solum workflow
* Store farm info in our DB
* Add worker handlers for {Jenkins, Shell, Drone}

May be needed :

* Create a build agent that would run on each VM and will be in charge of communication with Solum

Spec Review: https://review.openstack.org/100539

Blueprint information

Status:
Complete
Approver:
Adrian Otto
Priority:
High
Drafter:
Julien Vey
Direction:
Approved
Assignee:
Julien Vey
Definition:
Obsolete
Series goal:
Accepted for juno
Implementation:
Unknown
Milestone target:
milestone icon juno-2
Completed by
Adrian Otto on 2015-06-11

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/solum-build-farm,n,z

Addressed by: https://review.openstack.org/97548
    Add diskimage-builder script for Drone

Addressed by: https://review.openstack.org/97549
    Add Dockerfile for drone container image

Addressed by: https://review.openstack.org/97550
    Add an autoscaling heat template for the build-farm

Addressed by: https://review.openstack.org/98127
    Add BuildFarm API and db object

Addressed by: https://review.openstack.org/98128
    Start heat stack when build_farm is created

Addressed by: https://review.openstack.org/99132
    Add skeleton of a solum-guestagent

Addressed by: https://review.openstack.org/100869
    Add ENTRYPOINT and EXPOSE for Drone

Gerrit topic: https://review.openstack.org/#q,topic:bp/solum-git-push,n,z

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.