Deploying fedora infrastructure (koji) across clouds

Seth Vidal skvidal at
Wed Oct 31 17:07:49 UTC 2012

> // small wrapper script around deltacloud:
> $ wget
> $ chmod +x mycloud.rb
> // template describing kojihub cloud deployment
> $ wget
> // template describing kojibuild cloud deployment
> $ wget
> // edit kojihub deployment to contain openstack credentials
> $ vim koji_f17.xml
> // startup an instance on openstack w/ kojihub setup togo
> $ ./mycloud.rb koji_f17.xml
> // grab public address from output, grab kojibuild ssl credentials from
> new instance
> $ scp -i ~/os.key ec2-user at kojihub:/etc/pki/koji/kojiadmin.pem .
> $ scp -i ~/os.key ec2-user at kojihub:/etc/pki/koji/koji_ca_cert.crt .
> // edit kojibuild deployment to deploy to ec2 w/ correct koji
> credentials & hub address
> $ vim koji_builder_f17.xml
> // startup an instance on ec2 w/ kojibuild communicating w/ the hub

> $ ./mycloud.rb koji_builder_f17.xml
> // open up a webbrowser, navigating to http://kojihub/koji to use your
> Koji instance!


You can orchestrate all of these steps across/between multiple systems 
using ansible: - I've been documenting spinning up and
provisioning instances on my blog in the last week or so. You might take a
look - it should solve the problem of the above needing to be so manual
of a process and it requires nothing other than ssh be installed on the
machine you're trying to configure/control.

The problems we have encountered in the fedora infrastructure with koji 
builders are:

1. having to bring them up and down while waiting for them to complete 
build process (koji enable-host/disable host)
2. them having no way to recover a build w/o manual intervention if a 
builder were to crash or go dead during a build
3. the way the builders connect to the hub to get jobs rather than pushing 
out from the hub to the builders. Mainly this makes it a pain to deal with 
1 and 2 above.
4. For completely arbitrary repositories the tagging process for koji 
seems pretty cumbersome, especially for transient scratch/chain builds.

  I've talked about some of these on the buildsys list 
(buildsys at

If you're interested in discussing this further drop by there.


More information about the devel mailing list