Vagrant/Packer for Continuous Delivery of Application Infrastructure

From CitconWiki
Jump to navigationJump to search

Vagrant and Packer Session

[] Todo - Ask Ross to link his presentation here [] Todo - Ask Ross to link his sample code

Ross Niemi presenting

Two people in the room had used Vagrant. None had used Packer

? How does it compare it Veewee, written by Patrick Debois

Presentation includes links to playground boxes.

Ross jumped into demo mode.

  • Brought up vagrant docs
  • Install virtual box first
  • Showed us a vagrant file

? List available options for puppet - see vagrant docs - Puppet Apply and Puppet Agent

Pass through any legal Puppet command

? Do they require any special syntax? See docs

? Can I use my existing virtual machine

You can

Ross “At a point where provisioning tools should be treated as a commodity.”

  • I should be able to switch my underlying technology without changing my provisioning tool

Automated tests for the provisioning code

Nobody in the room was writing automated tests for their provisioning code Julian commented that he has tried and failed many times

Ross showed an example of the test for his puppet script

? Does the TDD code in chef or puppet feel more like duplication than it would in Java, for example?

Ross says the Unit testing does feel a bit duplicative - but it at least offers some protection like double-entry book keeping does for accountants.

Unit testing validates that the configuration values match the test (i.e. assert that "rm -rf" is defined - instantaneous feedback) Integration/System validates the final outcome of the setting a configuration is as expected (i.e. rm -rf actually removes a file/directory from disk - feedback is delayed by the length of time it takes to execute the command and all preceding commands).

Ross says you should do both types of testing - Unit and Integration/System.

Segue into Packer ——

Bento open source project highly recommended.

Packer is still evolving

Ross recommends IRC channels for questions

Interesting testing tools - cucumber and server spec

The Master Plan

See Ross’s presentation

All these tools together allow for cross-pollination amongst the groups in the organization

Ross differentiated OS, Infrastructure, and Application layers. (See presentation)

Ross presented his master plan. (See presentation)