C.I. for Hyper-V 
with Puppet 
PUPPETCAMP BOSTON 2014
ppouliot@Microsoft.com 
 Live in Stoneham, MA 
 Education: Philosophy (RIC), Telecom Sec & Digital Forensics (BU) 
 Cer...
Agenda 
 Quick overview of Microsoft’s involvement with the Puppet 
community 
 Overview of the Continuous Integration 
...
Quick Questions 
 Openstack? 
 Puppet on Windows? 
 Use of PowerShell in modules? 
 How many have heard of continuous ...
Microsoft and Puppetlabs 
 MSOpenTech and Puppetlabs 
 2014 Released Puppet modules to support Azure APIs 
 https://git...
What is Continuous Integration? 
 The continuous process of applying quality control 
 Automated unit testing 
 Tests t...
Nova and Neutron Continuous 
Integration for Hyper-V 
 Came alive in mid January 2014 
 Built and maintained by a small ...
Our Infrastructure Design Tenants 
 Ability to rapidly redeploy any component including application 
workload on virtual ...
Why Puppet? 
 Good support for multiple platforms 
 Better support for Windows platform at the time then 
other solution...
What we use it for? 
 Deploying everything 
 Preserving machine state 
 Data collection 
 Automation Wrapper
The Hyper-V CI and Puppet 
 Puppet modules were built and used to deploy entire infrastructure 
 All OS provisioning tem...
Puppet and Windows (2012) 
 Not many upstream modules for Windows 
 Writing puppet for windows was extremely 
painful 
...
Puppet and Windows (2014) 
 PowerShell provider gives windows a shell provider you can use 
 Thanks Josh Cooper! 
 Choc...
Windows/Puppet Best Practice 
 Don’t be afraid it’s just Computer Science 
 Use PowerShell as much as possible 
 Window...
What we still need to do. 
 Module refactor, documentation and cleanup. 
 CI Implemented for automated module testing 
...
Questions? 
 Ask some…
The End 
 Contact Information 
 Peter Pouliot CISSP 
 E: ppouliot@Microsoft.com 
 IRC: primeministerp 
 Skype: primem...
Upcoming SlideShare
Loading in …5
×

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

1,602 views

Published on

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

0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,602
On SlideShare
0
From Embeds
0
Number of Embeds
831
Actions
Shares
0
Downloads
11
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide

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

  1. 1. C.I. for Hyper-V with Puppet PUPPETCAMP BOSTON 2014
  2. 2. ppouliot@Microsoft.com  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. 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. 4. Quick Questions  Openstack?  Puppet on Windows?  Use of PowerShell in modules?  How many have heard of continuous integration and continuous delivery?
  5. 5. Microsoft and Puppetlabs  MSOpenTech and Puppetlabs  2014 Released Puppet modules to support Azure APIs  https://github.com/MSOpenTech/azure-puppet  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  https://github.com/openstack-hyper-v/
  6. 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. 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:  https://github.com/openstack-hyper-v  https://github.com/cloudbase
  8. 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. 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. 10. What we use it for?  Deploying everything  Preserving machine state  Data collection  Automation Wrapper
  11. 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. 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. 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. 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. 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. 16. Questions?  Ask some…
  17. 17. The End  Contact Information  Peter Pouliot CISSP  E: ppouliot@Microsoft.com  IRC: primeministerp  Skype: primeministerpete

×