Deploying fedora infrastructure (koji) across clouds

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




> // small wrapper script around deltacloud:
> $ wget https://raw.github.com/movitto/mycloud/master/mycloud.rb
> $ chmod +x mycloud.rb
>
> // template describing kojihub cloud deployment
> $ wget
> https://raw.github.com/aeolus-incubator/templates/master/fedora_infra/koji/fedora-17/koji_f17.xml
>
> // template describing kojibuild cloud deployment
> $ wget
> https://raw.github.com/aeolus-incubator/templates/master/fedora_infra/koji/fedora-17/koji_builder_f17.xml
>
> // 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!
>

Mo,
  Interesting!

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 
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 lists.fedoraproject.org)

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

Thanks,
-sv



More information about the cloud mailing list