Your SlideShare is downloading. ×
Puppet Camp Boston 2014: Continuous Integration for Hyper-V with Puppet (Beginner)
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Puppet Camp Boston 2014: Continuous Integration for Hyper-V with Puppet (Beginner)


Published on

"Continuous Integration for Hyper-V with Puppet" presented by Peter J. Pouliot, Microsoft at Puppet Camp Boston 2014

"Continuous Integration for Hyper-V with Puppet" presented by Peter J. Pouliot, Microsoft at Puppet Camp Boston 2014

  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. C.I. for Hyper-V with Puppet PUPPETCAMP BOSTON 2014
  • 2.  Live in Stoneham, MA  Education: Philosophy (RIC), Telecom Sec & Digital Forensics (BU)  Certifications: CISSP, MCSE+I, MCT, OCP, Network+  18+ Years in Datacenter, Network, and Application infrastructure and automation.  Working within the OSS community focused on Window/Linux interoperability for 11+ years professionally  Active in Infragard (2011) & ISSA (2010) communities  Working within the OpenStack community for over 3 1/2 years
  • 3. Agenda  Quick overview of Microsoft’s involvement with the Puppet community  Overview of the Continuous Integration  Give a high level overview of the role Puppet plays within the OpenStack Continuous Integration process for Hyper-V.  Provide a view into what you can do with Puppet on the Windows Platform
  • 4. Quick Questions  Openstack?  Puppet on Windows?  Use of PowerShell in modules?  How many have heard of continuous integration and continuous delivery?
  • 5. Microsoft and Puppetlabs  MSOpenTech and Puppetlabs  2014 Released Puppet modules to support Azure APIs   MS OSTC (OpenSource Technology Center)  2012 began building OpenStack CI for Hyper-V using Puppet  2013 CERN begins contributing to Puppet Code for Hyper-V/OpenStack Nova  Many modules supporting multiple platforms created by MS 
  • 6. What is Continuous Integration?  The continuous process of applying quality control  Automated unit testing  Tests typically run after each commit of code  Test driven development  Short development cycles  Test case for each function
  • 7. Nova and Neutron Continuous Integration for Hyper-V  Came alive in mid January 2014  Built and maintained by a small team of highly skilled engineers  Undercloud of KVM on Centos providing virtualized Ubuntu Devstack Controllers  Two Physical Hyper-V nodes per Controller dynamically assembled  All layers automated through native operating system tools, puppet, or shell scripting.  Executes a Tempest run for every upstream commit  Automation and Scripts:  
  • 8. Our Infrastructure Design Tenants  Ability to rapidly redeploy any component including application workload on virtual or physical compute resources in under 15 minutes.  Be able to switch operating system and preserve workload  Every thing is code or it doesn’t exist  Consume as much upstream code as possible.  Use as much OSS as possible  Redhat, Debian, Windows server are target ::$OSFAMILY  Test it often!
  • 9. Why Puppet?  Good support for multiple platforms  Better support for Windows platform at the time then other solutions  My customers were using it already.  Strong community and catalog of modules.
  • 10. What we use it for?  Deploying everything  Preserving machine state  Data collection  Automation Wrapper
  • 11. The Hyper-V CI and Puppet  Puppet modules were built and used to deploy entire infrastructure  All OS provisioning templates generated and managed via Puppet ERBs  single preseed,kickstart,unattend.xml erb for respective os derivatives  All node and some switch configuration managed via puppet  Hiera used extensively for entire infrastructure.  R10K used for module management
  • 12. Puppet and Windows (2012)  Not many upstream modules for Windows  Writing puppet for windows was extremely painful  No package management for windows adds additional complexity  No shell provider
  • 13. Puppet and Windows (2014)  PowerShell provider gives windows a shell provider you can use  Thanks Josh Cooper!  Chocolatey package provider gives Windows package management  Thanks Rob Reynolds!  Puppetlabs has an awesome Windows Team  MS and Puppetlabs working together to make puppet better for Windows  More modules for Windows than before  MS contributes to upstream modules.
  • 14. Windows/Puppet Best Practice  Don’t be afraid it’s just Computer Science  Use PowerShell as much as possible  Windows can be completely configured via PowerShell so use it  Stay away from legacy tools if PowerShell is available  Use Chocolatey for package manage  And you can use it to install and update OpenSource puppet too!  Don’t be afraid to add multi os support to your puppet module
  • 15. What we still need to do.  Module refactor, documentation and cleanup.  CI Implemented for automated module testing  Tests triggered by change in upstream dependencies  Tests triggered by inbound code change.  Align with all best practice for Module testing.  PuppetForge release pipeline  Define and automate release process  Stackforge integration
  • 16. Questions?  Ask some…
  • 17. The End  Contact Information  Peter Pouliot CISSP  E:  IRC: primeministerp  Skype: primeministerpete