/foreman-clt

Some files used at the talk i gave about Foreman/Puppet at CLT 2014

Primary LanguageRuby

This are some example files from the demo environment of a talk i gave at 
Chemnitzer Linuxtage (http://chemnitzer.linux-tage.de/2014/en/vortraege/detail/227)

Directory structure:

foreman:

Provisioning templates and snippets to use with foreman. These are the ones used in the demo

puppet:

Sample puppet modules. Most of them were downloaded from forge.puppetlabs.com:

https://forge.puppetlabs.com/puppetlabs/puppetdb
https://forge.puppetlabs.com/puppetlabs/apache
https://forge.puppetlabs.com/saz/ssh <-- this one is customized in order to work on SLES
http://forge.puppetlabs.com/saz/ntp

Custom modules are profile, base and webapp

Some requirements like stdlib and concat were downloaded automatically.

scripts:

Some scripts used to automate the build and decomissioning of VMs

trash-node: 
  - destroys the VM/delete the VM image
  - deletes the system in spacewalk
  - deactivates the node in puppetdb
  - remove it from puppet (cert revocation and so on)
  - delete it in foreman
  - clean icinga config files and reload icinga

destroy-vm: helper script for trash-node, connects to remote hypervisor and deletes the vm
clean-icinga: helper for trashnode, purges icinga config

vmspawn:
This script uses virt-install and virsh to create and connect to VMs.
It's somehow bound to the process-flow described in the provisioning-templates.
For example, machines that are successfully installed should be powered off (defined in the
templates) and vmspawn goes ahead and starts them again in order to continue the process.
This is a hacky workaround for buggy VM reboot on Ubuntu 12.04
Read about kvmclock and RHEL6 on Ubuntu 12.04 KVM: https://bugs.launchpad.net/centos/+bug/1025188
Configuration inside the script. This is run on the hypervisor.

You may catch me as lowercase in irc.freenode.net

Regards,

Mattias