coprs and buildsystems and a question I was asked today.
Work continues on coprs but today someone asked me if I knew of a simpler buildsystem that would let them spin up a builder, stuff a bunch of packages at it, and return a pile of results.
I said well… ansible and mockremote could do it.
I started thinking about HOW that would work and realized I have all the pieces – but not a lot of motivation to put it together at the moment.
So I thought I’d tell folks how I would do it and maybe someone will:
1. write a playbook to spin up an instance in one of the public clouds using ansible and it’s ec2 module:
http://skvidal.fedorapeople.org/misc/ansible-euca-transient.yml
2. then provision the system with mock, a mockbuilder user and mockchain.
3. tell the user the ip the instance has
4. user submits jobs to it with:
mockremote.py -r chroot -b ip –destdir=/somewhere/ -c –recurse pkg1 pkg2 pkg3
5. user comes back whenever it feels like it
6. user runs a terminate playbook like:
http://infrastructure.fedoraproject.org/infra/ansible/files/copr/provision/terminatepb.yml
which shuts down the instance they had spun up.
I can see wrapping that whole thing in a single script or just letting the user do it a bit at a time. Either way – trivial to setup your own personal, temporary and pristine builder.