5. We had tools!?
• Provisioning using Cobbler
• Automation using Puppet/Chef/. . .
• Puppet reporting with Puppet Dashboard
Julien Pivotto
Foreman
6. Then came virtualisation
• Cobbler was not enough
• Using virt-install to automate VM creation
• One shot command line, decentralized
• Cobbler does not cluster
Julien Pivotto
Foreman
7. Then came cloud
• Where is my machine?
• Bare-Metal? Bare-what?
• Dynamic environments
• Change quickly and often
Julien Pivotto
Foreman
8. Cobbler
• Not intuitive or reactive
• Support for Xen
• TFTP on the local machine
• Direct control of DHCP configuration
• Basic yumrepo support
Julien Pivotto
Foreman
9. Puppet-dashboard
• Puppet web frontend
• It was the reference
• Until the arrival of Foreman
• Puppetlabs abandoned it for PuppetDB
Julien Pivotto
Foreman
10. Provisioning
• Bare metal and virtual
• Multiple backends
• Decentralized (control remote TFTP, DNS, DHCP)
Julien Pivotto
Foreman
11. Automation
• (puppet) ENC
• Trigger puppet runs
• Advanced use: parameters,. . .
• History of changes
• ENC is optional
Julien Pivotto
Foreman
21. Foreman installer
• kafo
• a rubygem
• Command line installer
• Using puppet modules
• Generic Project
Julien Pivotto
Foreman
22. Foreman installer
• a lot of options
• interactive installation: -i
• enables/disables stuff
• sets up git repositories
• creates a puppet tree skeleton
Julien Pivotto
Foreman
30. Features of providers
• Depending on the provider
• Unattended installation
• Image-based install
• Power management
• Console (noVNC)
Julien Pivotto
Foreman
38. Certificates
• Puppet-ca proxy
• Takes care of signing certificates
• Trigger first puppet run
• Run first puppet run in noop mode (before reboot).
Julien Pivotto
Foreman
52. Puppet logs reader
• Why are my puppet runs taking so long?
• When does that node report the last time
• Quickly view facter facts
• Just ignoring the provision part of foreman
Julien Pivotto
Foreman
53. Giving access
• Allow developers to create VM’s
• Easy, secure, less risks
• NoVNC access in browser
• Usage of ACL
Julien Pivotto
Foreman
54. Phoenix tests
• Really easy to rebuild a VM
• Re-provisioning
• Puppet certs managed across foreman
• Integrate with Jenkins (REST)
Julien Pivotto
Foreman
56. Conclusion
• From small labs to larger environments
• Interactions with RESTful API
• Complete puppet management
• Bare Metal and virtual machines
Julien Pivotto
Foreman
57. Foreman meetings in the next days
• Configuration management devroom at FOSDEM
• Config Management Camp in Ghent (no tickets left)
Julien Pivotto
Foreman