Upload
jeff-scelza
View
85
Download
2
Tags:
Embed Size (px)
Citation preview
Developing and Testing with “Enhanced” Oscar
Jeff [email protected]: @theFunkyPuma
● Almost 20 years in IT
● Currently work at TWC doing DevOps work
● Lover of Technology and Knowledge
About me
● Checkout various modules locally● Make changes, commit, and push to repository● Git Hooks push to Jenkins● Jenkins automatically Kicks off a CI process and
pushes to our masters● Agents then pick up the changes
http://www.slideshare.net/philzimmerman900/killer-r10k
Our Normal Process
Not the best for starting new development or requiring major changes!
So, what to do while keeping inline with tools and process already being used.
Amazing process but...
VirtualBox is a general-purpose full virtualizer for x86 hardware, targeted at server, desktop and embedded use.
VirtualBox
Wikipedia says:
Vagrant is computer software for creating and configuring virtual development environments.[2] It can be seen as a wrapper around virtualization software such as VirtualBox, KVM, VMware and around configuration management software such as Ansible, Chef, Salt orPuppet.
What is Vagrant?
● Is a set of Vagrant plugins and templates that build up a full Puppet Enterprise environment based on top of Vagrant create by Adrian Thebo
● What makes up Oscar?
o auto_network: configure private network interfaceso config_builder: Yaml based configuration for Vagranto hosts: Manages guest DNS resolution w/ auto_networko pe_build: Manages rapid setup Puppet Enterprise
And Oscar?
● 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
Oscar: commands
● What do the files look like?
● What cool thing can we do?
● How do can I code locally and use a master/slave configuration?
● ServerSpecServerspec tests your servers' actual state by executing command locally, via SSH, via WinRM, via Docker API and so on. So you don't need to install any agent softwares on your servers and can use any configuration management tools, Puppet, Chef, CFEngine, Itamae and so on.
● BeakerBeaker is an acceptance testing harness for Puppet PE and other Puppet Projects. It can also be used as a virtual machine provisioner - setting up machines, running any configuration on those machines and then exiting.
Other tools to test with
● cachiero limit the amount coffee you drink waiting on a VM to
buildo Caches gem, rpm, apt, and other Guest packages
under ~/.vagrant
● vagrant-vbguesto Installs/Updates the host’s VirtualBox Guest Additions
on the guest.
Other plugins I use:
● https://github.com/adrienthebo/oscar ● https://www.virtualbox.org/ ● https://www.vagrantup.com/ ● Plug-ins
o https://github.com/adrienthebo/vagrant-auto_networko https://github.com/adrienthebo/vagrant-hosts o https://github.com/adrienthebo/vagrant-config_builder o https://github.com/adrienthebo/vagrant-pe_build o https://github.com/fgrehm/vagrant-cachier
● Other Presentations and documentso http://www.slideshare.net/PuppetLabs/oscar-rapid-iteration-with-vagrant-and-puppet-ent
erpriseo http://www.youtube.com/watch?v=1TgGQjjLDXg o http://fgrehm.viewdocs.io/vagrant-cachier o http://puppet-vagrant-boxes.puppetlabs.com/
● Test toolso http://serverspec.org/o http://rspec-puppet.com/o https://github.com/puppetlabs/beaker/wiki
● Github Example: https://github.com/jscelza/oscar_vagrant_example
Helpful Links and References: