// small wrapper script around deltacloud:
$ wget https://raw.github.com/movitto/mycloud/master/mycloud.rb
$ chmod +x mycloud.rb
// template describing kojihub cloud deployment
// template describing kojibuild cloud deployment
// 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
$ scp -i ~/os.key ec2-user@kojihub:/etc/pki/koji/kojiadmin.pem .
$ scp -i ~/os.key ec2-user@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
You can orchestrate all of these steps across/between multiple systems
using ansible: http://ansible.cc
- 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
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
If you're interested in discussing this further drop by there.