Presentation given at the Denver Puppet user group. A copy of the files can be found at https://github.com/jscelza/vagrant_oscar_example. The purpose of this presentation was to walk the group thru how i used Vagrant and Oscar to development Puppet modules locally.
Thanks to Adrien Thebo for all his work on the plug-in
https://github.com/adrienthebo/oscar
2. What is Vagrant?
● Marketing: Create and configure lightweight, reproducible
and portable development environments
● Operation: Provides a disposable environment and
consistent workflow for developing and testing infrastructure
management scripts
● Developer: Isolates dependencies and their configuration
within a single disposable consistent environment, without
sacrificing any of the tool you use.
3. So...What is Oscar?
● Is a set of Vagrant plugins and templates that build up a full Puppet
Enterprise environment based on top of Vagrant
● Created by Andrien Thebo
4. What plugins make up Oscar?
● auto_network
○ Automatically configure Vagrant private network interfaces
○ File acting as DHCP list
○ located at ~/.vagrant.d/auto_network
○ Yaml based
● config_builder
○ Configure and manage your Vagrant environment with data
○ Provides an interface to the Vagrant configuration constructs in
a local free manager
○ Yaml based
5. What plugins make up Oscar?
● hosts
○ Manages vagrant guest local DNS resolution
○ Using listing from auto_network to set up /etc/hosts on each
guest
○ allows the addition hostname in /etc/hosts
● pe_build
○ Manages the downloading and rapid setup Puppet Enterprise
○ Provisioner based set of configuration to set up Puppet
7. Oscar: commands
● Generate a working environment from template
vagrant oscar init
● Initialize current working directory with a sub Vagrantfile
that loads Oscar and generate generic configs
vagrant oscar init-vms
10. Oscar: Configuring and Using It
● What do the files look like?
● What cool thing can we do?
● How do can I code locally and use a
master/slave configuration?
11. Other plugins I use:
● cachier
○ A plug-in to limit about of coffee you drink waiting on a VM to
build
○ Caches gem, rpm, apt, and other Guest packages under ~/.
vagrant
○