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

  • 374 views
Uploaded 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

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
374
On Slideshare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
9
Comments
0
Likes
5

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. C.I. for Hyper-V with Puppet PUPPETCAMP BOSTON 2014
  • 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. 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  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. 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:  https://github.com/openstack-hyper-v  https://github.com/cloudbase
  • 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: ppouliot@Microsoft.com  IRC: primeministerp  Skype: primeministerpete