Vagrant:
The Oscar Plugin
Developing and Testing Puppet Enterprise locally!
Jeff Scelza
jeffrey.scelza@twcable.com
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.
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
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
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
Oscar: Installing
● Prerequisite
○ Install VirtualBox
○ Install Vagrant
● Setup
vagrant plugin install oscar
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
Software Versions Used:
● Oracle VM Virtualbox: 4.3.6
● Vagrant: 1.4.2
● Oscar: 0.3.1
● vagrant-config_builder: 0.6.0
● vagrant-hosts: 1.2
● vagrant-pe_build: 0.8.4
Oscar: Vagrantfile used to look like
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?
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
○
Helpful Links and References:
● https://github.com/adrienthebo/oscar
● https://www.virtualbox.org/
●
● Plug-ins
○ https://github.com/adrienthebo/vagrant-auto_network
○ https://github.com/adrienthebo/vagrant-hosts
○ https://github.com/adrienthebo/vagrant-config_builder
○ https://github.com/adrienthebo/vagrant-pe_build
○ https://github.com/fgrehm/vagrant-cachier
● Other Presentations and documents
○ http://www.slideshare.net/PuppetLabs/oscar-rapid-iteration-with-vagrant-and-puppet-enterprise
○ http://www.youtube.com/watch?v=1TgGQjjLDXg
○ http://fgrehm.viewdocs.io/vagrant-cachier
○ http://puppet-vagrant-boxes.puppetlabs.com/

Vagrant: The Oscar Plug-in

  • 1.
    Vagrant: The Oscar Plugin Developingand Testing Puppet Enterprise locally! Jeff Scelza jeffrey.scelza@twcable.com
  • 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 makeup 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 makeup 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
  • 6.
    Oscar: Installing ● Prerequisite ○Install VirtualBox ○ Install Vagrant ● Setup vagrant plugin install oscar
  • 7.
    Oscar: commands ● Generatea 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
  • 8.
    Software Versions Used: ●Oracle VM Virtualbox: 4.3.6 ● Vagrant: 1.4.2 ● Oscar: 0.3.1 ● vagrant-config_builder: 0.6.0 ● vagrant-hosts: 1.2 ● vagrant-pe_build: 0.8.4
  • 9.
  • 10.
    Oscar: Configuring andUsing 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 Iuse: ● 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 ○
  • 12.
    Helpful Links andReferences: ● https://github.com/adrienthebo/oscar ● https://www.virtualbox.org/ ● ● Plug-ins ○ https://github.com/adrienthebo/vagrant-auto_network ○ https://github.com/adrienthebo/vagrant-hosts ○ https://github.com/adrienthebo/vagrant-config_builder ○ https://github.com/adrienthebo/vagrant-pe_build ○ https://github.com/fgrehm/vagrant-cachier ● Other Presentations and documents ○ http://www.slideshare.net/PuppetLabs/oscar-rapid-iteration-with-vagrant-and-puppet-enterprise ○ http://www.youtube.com/watch?v=1TgGQjjLDXg ○ http://fgrehm.viewdocs.io/vagrant-cachier ○ http://puppet-vagrant-boxes.puppetlabs.com/