Thanks again for your reply!
In the case of driving Cobbler from YAML, I'd think it might be easier to
just write an API script that talked to cobbler to do that, as Cobbler has a
lot of structured data in it and driving Cobbler from Ansible would be like
cracking a safe through the keyhole of a room.
Good point. I could put the data in host_vars files, but read it
outside of ansible. I could even do that from inside a module
launched by ansible...wheee And the template module already has that
data, so that could handle the kickstart template.
Now, given the idea of using Ansible to kick off provisioning and wait for
completion is pretty interesting, especially where you could wait for a
playbook to complete, however, I'd do that quite differently.
I probably explained myself badly. I don't think there's much difference.
What I'd prefer to see is the kickstart post set up the SSH key, and that's
about it.
Yeah, that's exactly what I do. Everything beyond that is done by
ansible after the VM is up. Kickstart failing is ugly, so I like to
keep kickstart as minimal as possible.
One of the features we are adding in AWXis the ability to have a simple
callback, where a machine can make a http:// request to start a job to
configure itself. This will make it very easy for any provisioning system
to fire off Ansible when it gets ready to take the configuration of the
machine the rest of the way -- whether this is cloud or bare metal. (AWX
will be available at the end of the month -- see
http://www.ansibleworks.com/ansibleworks-awx/ )
So the new box just does a curl or wget or whatever and then the AWX
server runs ansible plays to do whatever you want? Sounds cool.
Sounds like ansible-pull but with fewer requirements.
I could definitely see a lot of cobbler ansible module types to ensure
configurations are in one place or the other, but it just seems to be that
that sort of functionality -- being able to configure the provisioning tool
through just text files versus the main interface, should be done in that
project instead.
So, a python script that reads yaml and talks xmlrpc with cobbler
should be considered more in a cobbler context than an ansible
context. That makes sense. And if one happens to use it with
ansible, that's fine.
Plus, I think you'd lose out on some core usefulness in Cobbler command line
-- namely, all the validation and checking it does on user inputs.
Are you saying the xmlrpc interface doesn't do the same validation &
checking as the command line? Or are you warning me away from editing
the cobbler back-end files?
Thanks again for taking the time to answer my questions!
-Dylan