|Mike Crosson 318c7eb4cd||5 years ago|
|defaults||5 years ago|
|handlers||5 years ago|
|tasks||5 years ago|
|templates||5 years ago|
|LICENSE-APACHE-2.0.txt||5 years ago|
|LICENSE-CC-BY-SA-3.0.html||5 years ago|
|README.md||5 years ago|
|bootstrap_lan.yml||5 years ago|
|playbook_cobbler_register_host.yml||5 years ago|
This Ansible role is meant to configure Cobbler on a given server.
This role also includes a playbook and supporting files to roll out the first host in a Lab/LAN. See the bootstrap_lan.yml file for an automated LAN deployment process. The playbook should be able to run "as-is" after Vagrant, VirtualBox and Ansible are installed on a host machine.
Cobbler is used to provision new bare metal servers. It's a pretty straight forward provisioning platform but it does require a server components. There are a number of Ansible playbooks related to Cobbler to help manage the system and to deploy new systems.
Cobbler documentation can be found at: http://www.cobblerd.org/
WARNING: If the disk isn't paritioned correctly, ensure the disk you're using is at least as large as the minimum's specified in the seed file. If the disks are smaller, it'll partition wrong and fail.
You can generated a crypted password by running the following command
openssl passwd -1
Various commands that are helpful for verifying state of Cobbler and what is registered
cobbler check # Error re reposync is OK (consider running it on a production system -- too big for bootstrap VM) cobbler distro list cobbler distro report --name ubuntu1404-x86_64 cobbler profile report --name ubuntu1404-x86_64
Generate iso(s) for boot If you receive a failure at boot: press tab and then enter the right boot profile and press enter
cobbler buildiso --profiles="profile1 profile2 profile3" cobbler buildiso --systems="system1 system2 system3" cobbler buildiso --standalone --distro="distro1"
Register a new system
cobbler system add --name=[ansible-name] --profile=ubuntu1404-x86_64 \ --interface=mgmt --management=1 --mac=[mgmt nic MAC] --ip-address=[mgmt subnet] --netmask=255.255.255.0 --gateway=[mgmt gw] --static=1 --hostname=[fqdn] --name-servers=[mgmt dns] --name-servers-search=[dns search] \ --ksmeta="disk1=/dev/disk/by-id/ata-disk1 disk2=/dev/disk/by-id/ata-disk2"
View a KickStarter file
cobbler system getks --name=[some system name]
Vagrant is used for boot strapping (see bootstrap Ansible role) the first server in a Lab environment / new LAN. It's automated using an Ansible playbook. The rough process is:
Vagrant documentation can be fount at: https://docs.vagrantup.com/v2/
You only need a Vagrant file in a directory to start working with Vagrant. It's a very simple/straight forward system and the docs have clear information on how to use the Vagrantfile contained within this repo.
A couple useful commands
vagrant up --provider virtualbox vagrant up --provider vmware_fusion
You can run Ansible manually against a Vagrant managed VM. Per the docs
ansible-playbook -i .vagrant/provisioners/ansible/inventory/vagrant_ansible_inventory --private-key=~/.vagrant.d/insecure_private_key -u vagrant playbook.yml
Installing plugins for VMWare
vagrant plugin install vagrant-vmware-fusion vagrant plugin install vagrant-vmware-workstation
All code is licensed under the Apache 2 License (http://www.apache.org/licenses/LICENSE-2.0)
All non-code Assets, documentation, etc is licensed under the Creative Commons Attribution-ShareAlike 3.0 license (https://creativecommons.org/licenses/by-sa/3.0/us/)