Cobbler, Cloud, and Ansible. Drawing (dotted) boundaries.

With all the provisioning, bootstrapping, configuration, and compliance tools I’ve used, there’s always fuzzy areas about which tool best to do which job.

I’m looking to Cobbler users (I’m not one) to comment on Fairly Good practices.

From what I can glean about Cobbler, it’s complements Ansible in two ways:

  1. Bootstrapping new hardware (OS install, network setup, initial key exchange,).
  2. Providing a simple configuration database Ansible can reference (think Puppet External Nodes).
    Is it fair to say that if I’m using EC2, Rackspace, or something else that manages the hardware, network, and OS bootstrapping, I probably don’t need Cobbler for reason #1, but might benefit from it for reason #2?

Said another way, if I’m already using Ansible with EC2, are there good reasons to add Cobbler to the mix other than groups and per-host variables?

Cobbler is pretty much non-cloud, yeah. It has plenty of tools beyond installation though, if you have a real DC and can help bring up hypervisors, manage power, mirror packages, etc.

In EC2, I would skip it.

– Michael

I had similar thoughts with EC2 and Ansible…

I didn’t want to set up another service that needs to be kept in sync with EC2. The way I see it, AWS already has all the inventory and host information - Ansible just needs access to them. This was the goal for the EC2 external inventory tool that is now in the devel branch under examples/scripts. The script has 2 modes:

  1. Get inventory with: --list
  2. Get host information with: --host HOSTNAME

Ansible uses both of these with something like: ansible -i path/to/ec2_external_inventory.py GROUP -m ping.

Feedback on the script is very welcomed.

Peter Sankauskas