SlideShare una empresa de Scribd logo
1 de 30
Descargar para leer sin conexión
Puppet 3: Present and
future tense
 Eric Sorenson | Puppet Labs
 eric0@puppetlabs.com




                               presented by
What’s In this Talk?
 •   Hi.

 •   The path to 3.1

 •   Shiny new stuff and Changes since 2.7

 •   Future

 •   The outside world

 •   Call to action

 #puppetcamp                             @puppetlabs
Front Matter

           •   Welcome to PuppetCamp!

           •   Ground Rules for Conduct

               •   Be Nice. Assume good faith.

               •   Encourage diversity and participation

               •   Keep it legal




         #puppetcamp                                                        @puppetlabs
thank you for coming. these events are really about you. we have an amazing group of
speakers lined up for the structured part of the program, then in the afternoon a split track
with intro tutorials for people new to puppet and open spaces where we’ll all collectively
figure out what’s the best way to spend our time.

i’m going to lay out some ground rules so we can all have a great, respectful, productive
event. first, we should be nice in our interactions with one another. as wikipedia says, assume
the other people are acting in good faith and aren’t automatically crazy or dumb because
they have a different view.
second, related point -- i’m going to read this part because its important and i get emotional
about it, so i dont want to miss anything. we have a problem in open source: we’ve built a
system of communication that’s unfair, because it tends to exclude the voices of people who
aren’t some or all of young, male, straight and white. apart from individual actions of
harassment, which are against both our principles and our policy, the system perpetuates
itself unless we do something to change it. So yes, be nice, and especially be aware of how
your biases affect your interactions with those around you.
Lastly, keep it legal -- for presentations and open spaces: respect privacy and confidentiality
and the laws of the land. Note we do not have any talks from quasi-legal organizations like
Pirate Bay or the US National Security Agency scheduled -- so either end of the criminal
spectrum.
Thank our Sponsors!


          •    Be nice to everyone @HoGentFBO

          •    Tweet Sponsors a #puppetcamp DANK U!!

              •   @inuits, @nucleus_hosting for Camp

              •   @bookingcom for FREE BEER tonight




         #puppetcamp                            @puppetlabs
you can take out your phone now.
#puppetcamp                                                  @puppetlabs
Hi. I’m Eric Sorenson aka eric0 on irc, ahpook on twitter.
product owner for opensource puppet.
cfengine since 98, in awesome but failed startups
puppet user since 0.24 at apple, an awesome sucessful non-startup
puppet employee since june, an awesome hopefully successful startup
love OSS, commited to puppet becoming an amazing platform that our Puppet Enterprise
team and community build on
#puppetcamp                                                        @puppetlabs
THE PAST - puppet camp 2009 at uc san francisco.
anybody else there? turns out attendance at this conference is the single biggest predictor for
eventually working at puppet labs. something around 30% of attendees end up employees. so
see me after the talk!
A Brief History of Puppet
                                                                         3              3.1
                                                  2.6        2.7




   0.13        0.22       0.24        0.25


  2006         2007      2008        2009       2010        2011       2012        2013




          #puppetcamp                                                     @puppetlabs
this slide’s alternate title was ‘give edward tufte an aneurysm’
roughly yearly releases until the Great Renaming in 2010 introduced roughly 10x more
puppet
any pre-0.24 users here?
sep 2009 0.25.0 introduced REST instead of XML-RPC
july 2010 2.6.0 had run stages, param classes, complex data structures, and lots of syntax
june 2011 2.7.0 introduced greater API-zation , through faces and exposing more
functionality like certificates through REST
significant new functionality through 2.7 series, including some surprises in minor versions.
up to 2.7.20 now.
next up is 3, released this week.
2.7.0 Release




                                         3.0.0 Release
    3.1.0 Release
          #puppetcamp                                                          @puppetlabs
jeff weiss made this calendar heat map of commit lines-of-code changed between 2.7 and
3.x
0-250 / 250-500 / 500-750 / > 750 lines in each of 4 shades of green.
it was a long road to the 3.0 release and things got fairly intense around puppet conf in
september...
and didn’t really slake off so far in 2013. lots of great stuff in there, lets talk about it in more
detail.
#puppetcamp                                                 @puppetlabs
From http://www.keepcalm-o-matic.co.uk/p/keep-calm-and-ooh-shiny/
# code loading improvements

  ## pluginsync enabled w/ lazy loading
  puppet agent --genconfig | grep pluginsync
    # pluginsync = true

  ## faces can load from a module
  puppet module install pl-cloud_provisioner

  ## accessing/using settings is sane(r)
  require ‘puppet’
  Puppet.initialize_settings

  ## YARD DOCS ROCK
  yard server
  open http://localhost:8808
         #puppetcamp                                                     @puppetlabs
enabled by default to ease bootstrapping
lazy-loaded instead of download-then-load
`gem install` just works for Ruby extensions
more work to do on the code distribution story: puppet modules as 1st class distribution and
good OS citizens (reducy RUBYLIB craziness)
open yard, click Class List then Type. This shows a helpful description about what a type
looks like
# platform support

   ## solaris 10 & 11
   puppet resource service # SMF yay
   puppet resource zone    # Zones yay
   facter osfamily         # thx ashp

   ## windows msi packages
   package { ‘XXX’: provider => windows }

   ## loads of correctness and features



         #puppetcamp                                                   @puppetlabs
ruby 1.9.3 - sorta worked on 2.7, for realz on 3. earlier 1.9, pls dont
solaris - smf was kinda sad, zones, pkgs meh. rahul and stefan schulte brought some much
needed love to sol 11 packaging, zones -- #7175 “zones borken since 0.24.8”, holdable
packages
ashley penney --variants like openindiana into osfamily.
windows support improved with more to come --next up is powershell
correctness - redhat: pip provider works, better useradd
mac: pkgdmg works again, launchd servers can be restarted, mountain lion support
debian:
# hiera built in via data bindings (thx RI)

   ## before
   class ntp($ntpserver=hiera(ntp_server,
             ‘time.apple.com’)) {
       ...
   }

   ## after
   class ntp($ntpserver) {
       ...
   }



         #puppetcamp                                                      @puppetlabs
whos used hiera? heard of hiera? simple hierarchical data store for separating code from data
arri wrote it, available as add-ons since last june.
simplified install--4 packages to 2--auto dependencies
simplified usage w/ data bindings -- kelsey’s work
# language features

   ## unless
   unless $operatingsystem == ‘OpenBSD’ {
      notice(“Need moar neckbeard!”)
   }

   ## More on the way in 3.2 (see #11331)
   $array = [ ‘foo’, ‘bar’, ‘baz’ ]
   foreach($array) { |$item|
     file { “/tmp/${item}”: ensure => present }
   }


       #puppetcamp                     @puppetlabs
if !
#puppetcamp                                                     @puppetlabs
from Greg Dallavalle at WolfNet -- early adopter because he was hurting under 2.7 and had to
add a bunch more resources -- 40K managed resources -- upgraded to telly RC6 and boom,
all his machines crashed. i mean, it started using less cpu.
bottom graph is from finch in puppet operations, showing runtime (compile + apply dropping
and smoothing out on 3)
- store catalog on agent in json not yaml
- avoid needless object creation
- reduce stat() call
1.8.5

         #puppetcamp                                                 @puppetlabs
we’re deprecating support for ruby 1.8.5 in telly.
RHEL5 platform can use a drop-in 1.8.7 package backported from el6
1.9.3

         #puppetcamp                                                      @puppetlabs
squashed the last known 1.9 compat bug in 3.1 (cant collect virtual resources)
please use it!
we’re running on ruby 2.0 now w/ just a couple of test problems
# dynamic scoping is gone

      class parent {
        $var = "from parent"
        include included
      }

      class included {
        notify { $var: }   ## NOT GONNA WORK
        notify { $parent::var: } ## YUP
      }


         #puppetcamp                                                      @puppetlabs
takeaway: qualify your variables. local scope works, top-level works --
# old Ruby DSL is deprecated

# rewritten Ruby DSL out of play

# if you use it in production and
really need a feature, let us know!




 #puppetcamp                       @puppetlabs
#puppetcamp                                                 @puppetlabs
Image via http://brandontoddwright.blogspot.be/2011/07/problem-with-jetpacks.html
The future


 •    Beware “Forward-Looking Statements”

 •    But we’re striving for transparency

 •    Keep up on the backlog query

 •    Modularity, Asynchronicity, Integration




#puppetcamp                                 @puppetlabs
Modules Everywhere

          •    Enable Easy Iteration

          •    Modular Filesystem layout in lib/

          •    Updated versions in modulepath?



          •    Also: “params” data and more helpful
               metadata in Puppet modules


         #puppetcamp                                                     @puppetlabs
make it easy to iterate on parts of puppet that move at a different speed than core
types and providers especially -- separate repos that are versioned and combined at
packaging time
Asynchronous Life

 •    Enable HUUUUUUGE scale

 •    Enable rapid runs - 1/minute?

 •    It’s a ways off but we know we need:

     •   Lightweight daemon (kick replacement)

     •   Facter storage service

     •   Standalone compiler


#puppetcamp                                  @puppetlabs
Integrating Ourselves


           •    We want to be your PaaL

           •    YARD everywhere

           •    If you need stuff in Private methods, ask!

           •    Radical Ideas as a Service




          #puppetcamp                                @puppetlabs
“puppet as a library”
•   The outside world




         #puppetcamp                                               @puppetlabs
the world outside of puppet core is big and full of cool things.
photo credit: eric sorenson
The World Around Us

 •    PuppetDB 1.1 - Reports, sweet query API

 •    MCollective 2.3 development series

 •    Puppet Enterprise

     •   Rebase onto Puppet 3 + PuppetDB

     •   Features around Reports in PuppetDB



#puppetcamp                                @puppetlabs
#puppetcamp                                                       @puppetlabs
that’s sven nys, eight time belgian cyclocross champion giving you a call to action
photo: cyclephotos.co.uk
What you can do
 •    Download it.

 •    Run it.

 •    File bugs.

 •    Tell us what you think.




#puppetcamp                     @puppetlabs
We’re hiring!




#puppetcamp     @puppetlabs
Thank You
Eric Sorenson | twitter: @ahpook | irc: eric0
                 eric0@puppetlabs.com




                                            presented by
•    Photo Credits

 •    cat photo: icanhazcheeseburger.com

 •    puppetcamp 2009: gary larizza

 •    keep calm: keepcalm-o-matic.co.uk

 •    jetpack: http://brandontoddwright.blogspot.com

 •    buffalo: eric sorenson

 •    sven nys: http://cyclephotos.co.uk




#puppetcamp                                            @puppetlabs

Más contenido relacionado

Similar a Puppet 3: Present and Future Tense

Deploying Enterprise Deep Learning Masterclass Preview - Enterprise Deep Lea...
Deploying Enterprise Deep Learning Masterclass Preview -  Enterprise Deep Lea...Deploying Enterprise Deep Learning Masterclass Preview -  Enterprise Deep Lea...
Deploying Enterprise Deep Learning Masterclass Preview - Enterprise Deep Lea...Sam Putnam [Deep Learning]
 
What's new in Puppet 3.0
What's new in Puppet 3.0What's new in Puppet 3.0
What's new in Puppet 3.0Eric Sorenson
 
rake puppetexpert:create - Puppet Camp Silicon Valley 2014
rake puppetexpert:create - Puppet Camp Silicon Valley 2014rake puppetexpert:create - Puppet Camp Silicon Valley 2014
rake puppetexpert:create - Puppet Camp Silicon Valley 2014nvpuppet
 
Multi-threaded web crawler in Ruby
Multi-threaded web crawler in RubyMulti-threaded web crawler in Ruby
Multi-threaded web crawler in RubyPolcode
 
PuppetConf track overview: Puppet Applied
PuppetConf track overview: Puppet AppliedPuppetConf track overview: Puppet Applied
PuppetConf track overview: Puppet AppliedPuppet
 
RubyMotion Inspect Conference - 2013. (With speaker notes.)
RubyMotion Inspect Conference - 2013. (With speaker notes.)RubyMotion Inspect Conference - 2013. (With speaker notes.)
RubyMotion Inspect Conference - 2013. (With speaker notes.)alloy020
 
Google compute presentation puppet conf
Google compute presentation puppet confGoogle compute presentation puppet conf
Google compute presentation puppet confbodepd
 
PuppetConf track overview: Puppet 4
PuppetConf track overview: Puppet 4PuppetConf track overview: Puppet 4
PuppetConf track overview: Puppet 4Puppet
 
PuppetConf 2016: Enjoying the Journey from Puppet 3.x to 4.x – Rob Nelson, AT&T
PuppetConf 2016: Enjoying the Journey from Puppet 3.x to 4.x – Rob Nelson, AT&T PuppetConf 2016: Enjoying the Journey from Puppet 3.x to 4.x – Rob Nelson, AT&T
PuppetConf 2016: Enjoying the Journey from Puppet 3.x to 4.x – Rob Nelson, AT&T Puppet
 
Don't break the door, the key is under the doormat
Don't break the door, the key is under the doormatDon't break the door, the key is under the doormat
Don't break the door, the key is under the doormatGerard Fuguet
 
Knee deep in the undef - Tales from refactoring old Puppet codebases
Knee deep in the undef  - Tales from refactoring old Puppet codebasesKnee deep in the undef  - Tales from refactoring old Puppet codebases
Knee deep in the undef - Tales from refactoring old Puppet codebasesPeter Souter
 
Infrastructure as code might be literally impossible part 2
Infrastructure as code might be literally impossible part 2Infrastructure as code might be literally impossible part 2
Infrastructure as code might be literally impossible part 2ice799
 
PuppetConf track overview: Inside Puppet
PuppetConf track overview: Inside PuppetPuppetConf track overview: Inside Puppet
PuppetConf track overview: Inside PuppetPuppet
 
The Puppet Community: Current State and Future Plans
The Puppet Community: Current State and Future PlansThe Puppet Community: Current State and Future Plans
The Puppet Community: Current State and Future PlansPuppet
 
The Puppet Community: Current State and Future Plans
The Puppet Community: Current State and Future PlansThe Puppet Community: Current State and Future Plans
The Puppet Community: Current State and Future PlansDawn Foster
 
Writing & Sharing Great Modules on the Puppet Forge
Writing & Sharing Great Modules on the Puppet ForgeWriting & Sharing Great Modules on the Puppet Forge
Writing & Sharing Great Modules on the Puppet ForgePuppet
 
Puppet Camp Berlin 2015: Rapid testing Setups for Puppet
Puppet Camp Berlin 2015: Rapid testing Setups for PuppetPuppet Camp Berlin 2015: Rapid testing Setups for Puppet
Puppet Camp Berlin 2015: Rapid testing Setups for PuppetPuppet
 
Puppet Camp Berlin 2015: Felix Frank | Rapid Testing Setups for Puppet
Puppet Camp Berlin 2015: Felix Frank | Rapid Testing Setups for PuppetPuppet Camp Berlin 2015: Felix Frank | Rapid Testing Setups for Puppet
Puppet Camp Berlin 2015: Felix Frank | Rapid Testing Setups for PuppetNETWAYS
 
Who pulls the strings?
Who pulls the strings?Who pulls the strings?
Who pulls the strings?Ronny
 
Agent Side Lookups with HashiCorp Vault and Puppet 6
Agent Side Lookups with HashiCorp Vault and Puppet 6Agent Side Lookups with HashiCorp Vault and Puppet 6
Agent Side Lookups with HashiCorp Vault and Puppet 6Mitchell Pronschinske
 

Similar a Puppet 3: Present and Future Tense (20)

Deploying Enterprise Deep Learning Masterclass Preview - Enterprise Deep Lea...
Deploying Enterprise Deep Learning Masterclass Preview -  Enterprise Deep Lea...Deploying Enterprise Deep Learning Masterclass Preview -  Enterprise Deep Lea...
Deploying Enterprise Deep Learning Masterclass Preview - Enterprise Deep Lea...
 
What's new in Puppet 3.0
What's new in Puppet 3.0What's new in Puppet 3.0
What's new in Puppet 3.0
 
rake puppetexpert:create - Puppet Camp Silicon Valley 2014
rake puppetexpert:create - Puppet Camp Silicon Valley 2014rake puppetexpert:create - Puppet Camp Silicon Valley 2014
rake puppetexpert:create - Puppet Camp Silicon Valley 2014
 
Multi-threaded web crawler in Ruby
Multi-threaded web crawler in RubyMulti-threaded web crawler in Ruby
Multi-threaded web crawler in Ruby
 
PuppetConf track overview: Puppet Applied
PuppetConf track overview: Puppet AppliedPuppetConf track overview: Puppet Applied
PuppetConf track overview: Puppet Applied
 
RubyMotion Inspect Conference - 2013. (With speaker notes.)
RubyMotion Inspect Conference - 2013. (With speaker notes.)RubyMotion Inspect Conference - 2013. (With speaker notes.)
RubyMotion Inspect Conference - 2013. (With speaker notes.)
 
Google compute presentation puppet conf
Google compute presentation puppet confGoogle compute presentation puppet conf
Google compute presentation puppet conf
 
PuppetConf track overview: Puppet 4
PuppetConf track overview: Puppet 4PuppetConf track overview: Puppet 4
PuppetConf track overview: Puppet 4
 
PuppetConf 2016: Enjoying the Journey from Puppet 3.x to 4.x – Rob Nelson, AT&T
PuppetConf 2016: Enjoying the Journey from Puppet 3.x to 4.x – Rob Nelson, AT&T PuppetConf 2016: Enjoying the Journey from Puppet 3.x to 4.x – Rob Nelson, AT&T
PuppetConf 2016: Enjoying the Journey from Puppet 3.x to 4.x – Rob Nelson, AT&T
 
Don't break the door, the key is under the doormat
Don't break the door, the key is under the doormatDon't break the door, the key is under the doormat
Don't break the door, the key is under the doormat
 
Knee deep in the undef - Tales from refactoring old Puppet codebases
Knee deep in the undef  - Tales from refactoring old Puppet codebasesKnee deep in the undef  - Tales from refactoring old Puppet codebases
Knee deep in the undef - Tales from refactoring old Puppet codebases
 
Infrastructure as code might be literally impossible part 2
Infrastructure as code might be literally impossible part 2Infrastructure as code might be literally impossible part 2
Infrastructure as code might be literally impossible part 2
 
PuppetConf track overview: Inside Puppet
PuppetConf track overview: Inside PuppetPuppetConf track overview: Inside Puppet
PuppetConf track overview: Inside Puppet
 
The Puppet Community: Current State and Future Plans
The Puppet Community: Current State and Future PlansThe Puppet Community: Current State and Future Plans
The Puppet Community: Current State and Future Plans
 
The Puppet Community: Current State and Future Plans
The Puppet Community: Current State and Future PlansThe Puppet Community: Current State and Future Plans
The Puppet Community: Current State and Future Plans
 
Writing & Sharing Great Modules on the Puppet Forge
Writing & Sharing Great Modules on the Puppet ForgeWriting & Sharing Great Modules on the Puppet Forge
Writing & Sharing Great Modules on the Puppet Forge
 
Puppet Camp Berlin 2015: Rapid testing Setups for Puppet
Puppet Camp Berlin 2015: Rapid testing Setups for PuppetPuppet Camp Berlin 2015: Rapid testing Setups for Puppet
Puppet Camp Berlin 2015: Rapid testing Setups for Puppet
 
Puppet Camp Berlin 2015: Felix Frank | Rapid Testing Setups for Puppet
Puppet Camp Berlin 2015: Felix Frank | Rapid Testing Setups for PuppetPuppet Camp Berlin 2015: Felix Frank | Rapid Testing Setups for Puppet
Puppet Camp Berlin 2015: Felix Frank | Rapid Testing Setups for Puppet
 
Who pulls the strings?
Who pulls the strings?Who pulls the strings?
Who pulls the strings?
 
Agent Side Lookups with HashiCorp Vault and Puppet 6
Agent Side Lookups with HashiCorp Vault and Puppet 6Agent Side Lookups with HashiCorp Vault and Puppet 6
Agent Side Lookups with HashiCorp Vault and Puppet 6
 

Más de Puppet

Puppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepoPuppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepoPuppet
 
Puppetcamp r10kyaml
Puppetcamp r10kyamlPuppetcamp r10kyaml
Puppetcamp r10kyamlPuppet
 
2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)Puppet
 
Puppet camp vscode
Puppet camp vscodePuppet camp vscode
Puppet camp vscodePuppet
 
Modules of the twenties
Modules of the twentiesModules of the twenties
Modules of the twentiesPuppet
 
Applying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance codeApplying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance codePuppet
 
KGI compliance as-code approach
KGI compliance as-code approachKGI compliance as-code approach
KGI compliance as-code approachPuppet
 
Enforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automationEnforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automationPuppet
 
Keynote: Puppet camp compliance
Keynote: Puppet camp complianceKeynote: Puppet camp compliance
Keynote: Puppet camp compliancePuppet
 
Automating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNowAutomating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNowPuppet
 
Puppet: The best way to harden Windows
Puppet: The best way to harden WindowsPuppet: The best way to harden Windows
Puppet: The best way to harden WindowsPuppet
 
Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020Puppet
 
Accelerating azure adoption with puppet
Accelerating azure adoption with puppetAccelerating azure adoption with puppet
Accelerating azure adoption with puppetPuppet
 
Puppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael PinsonPuppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael PinsonPuppet
 
ServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin ReeuwijkServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin ReeuwijkPuppet
 
Take control of your dev ops dumping ground
Take control of your  dev ops dumping groundTake control of your  dev ops dumping ground
Take control of your dev ops dumping groundPuppet
 
100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy SoftwarePuppet
 
Puppet User Group
Puppet User GroupPuppet User Group
Puppet User GroupPuppet
 
Continuous Compliance and DevSecOps
Continuous Compliance and DevSecOpsContinuous Compliance and DevSecOps
Continuous Compliance and DevSecOpsPuppet
 
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick MaludyThe Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick MaludyPuppet
 

Más de Puppet (20)

Puppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepoPuppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepo
 
Puppetcamp r10kyaml
Puppetcamp r10kyamlPuppetcamp r10kyaml
Puppetcamp r10kyaml
 
2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)
 
Puppet camp vscode
Puppet camp vscodePuppet camp vscode
Puppet camp vscode
 
Modules of the twenties
Modules of the twentiesModules of the twenties
Modules of the twenties
 
Applying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance codeApplying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance code
 
KGI compliance as-code approach
KGI compliance as-code approachKGI compliance as-code approach
KGI compliance as-code approach
 
Enforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automationEnforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automation
 
Keynote: Puppet camp compliance
Keynote: Puppet camp complianceKeynote: Puppet camp compliance
Keynote: Puppet camp compliance
 
Automating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNowAutomating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNow
 
Puppet: The best way to harden Windows
Puppet: The best way to harden WindowsPuppet: The best way to harden Windows
Puppet: The best way to harden Windows
 
Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020
 
Accelerating azure adoption with puppet
Accelerating azure adoption with puppetAccelerating azure adoption with puppet
Accelerating azure adoption with puppet
 
Puppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael PinsonPuppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael Pinson
 
ServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin ReeuwijkServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin Reeuwijk
 
Take control of your dev ops dumping ground
Take control of your  dev ops dumping groundTake control of your  dev ops dumping ground
Take control of your dev ops dumping ground
 
100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software
 
Puppet User Group
Puppet User GroupPuppet User Group
Puppet User Group
 
Continuous Compliance and DevSecOps
Continuous Compliance and DevSecOpsContinuous Compliance and DevSecOps
Continuous Compliance and DevSecOps
 
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick MaludyThe Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
 

Último

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 

Último (20)

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 

Puppet 3: Present and Future Tense

  • 1. Puppet 3: Present and future tense Eric Sorenson | Puppet Labs eric0@puppetlabs.com presented by
  • 2. What’s In this Talk? • Hi. • The path to 3.1 • Shiny new stuff and Changes since 2.7 • Future • The outside world • Call to action #puppetcamp @puppetlabs
  • 3. Front Matter • Welcome to PuppetCamp! • Ground Rules for Conduct • Be Nice. Assume good faith. • Encourage diversity and participation • Keep it legal #puppetcamp @puppetlabs thank you for coming. these events are really about you. we have an amazing group of speakers lined up for the structured part of the program, then in the afternoon a split track with intro tutorials for people new to puppet and open spaces where we’ll all collectively figure out what’s the best way to spend our time. i’m going to lay out some ground rules so we can all have a great, respectful, productive event. first, we should be nice in our interactions with one another. as wikipedia says, assume the other people are acting in good faith and aren’t automatically crazy or dumb because they have a different view. second, related point -- i’m going to read this part because its important and i get emotional about it, so i dont want to miss anything. we have a problem in open source: we’ve built a system of communication that’s unfair, because it tends to exclude the voices of people who aren’t some or all of young, male, straight and white. apart from individual actions of harassment, which are against both our principles and our policy, the system perpetuates itself unless we do something to change it. So yes, be nice, and especially be aware of how your biases affect your interactions with those around you. Lastly, keep it legal -- for presentations and open spaces: respect privacy and confidentiality and the laws of the land. Note we do not have any talks from quasi-legal organizations like Pirate Bay or the US National Security Agency scheduled -- so either end of the criminal spectrum.
  • 4. Thank our Sponsors! • Be nice to everyone @HoGentFBO • Tweet Sponsors a #puppetcamp DANK U!! • @inuits, @nucleus_hosting for Camp • @bookingcom for FREE BEER tonight #puppetcamp @puppetlabs you can take out your phone now.
  • 5. #puppetcamp @puppetlabs Hi. I’m Eric Sorenson aka eric0 on irc, ahpook on twitter. product owner for opensource puppet. cfengine since 98, in awesome but failed startups puppet user since 0.24 at apple, an awesome sucessful non-startup puppet employee since june, an awesome hopefully successful startup love OSS, commited to puppet becoming an amazing platform that our Puppet Enterprise team and community build on
  • 6. #puppetcamp @puppetlabs THE PAST - puppet camp 2009 at uc san francisco. anybody else there? turns out attendance at this conference is the single biggest predictor for eventually working at puppet labs. something around 30% of attendees end up employees. so see me after the talk!
  • 7. A Brief History of Puppet 3 3.1 2.6 2.7 0.13 0.22 0.24 0.25 2006 2007 2008 2009 2010 2011 2012 2013 #puppetcamp @puppetlabs this slide’s alternate title was ‘give edward tufte an aneurysm’ roughly yearly releases until the Great Renaming in 2010 introduced roughly 10x more puppet any pre-0.24 users here? sep 2009 0.25.0 introduced REST instead of XML-RPC july 2010 2.6.0 had run stages, param classes, complex data structures, and lots of syntax june 2011 2.7.0 introduced greater API-zation , through faces and exposing more functionality like certificates through REST significant new functionality through 2.7 series, including some surprises in minor versions. up to 2.7.20 now. next up is 3, released this week.
  • 8. 2.7.0 Release 3.0.0 Release 3.1.0 Release #puppetcamp @puppetlabs jeff weiss made this calendar heat map of commit lines-of-code changed between 2.7 and 3.x 0-250 / 250-500 / 500-750 / > 750 lines in each of 4 shades of green. it was a long road to the 3.0 release and things got fairly intense around puppet conf in september... and didn’t really slake off so far in 2013. lots of great stuff in there, lets talk about it in more detail.
  • 9. #puppetcamp @puppetlabs From http://www.keepcalm-o-matic.co.uk/p/keep-calm-and-ooh-shiny/
  • 10. # code loading improvements ## pluginsync enabled w/ lazy loading puppet agent --genconfig | grep pluginsync # pluginsync = true ## faces can load from a module puppet module install pl-cloud_provisioner ## accessing/using settings is sane(r) require ‘puppet’ Puppet.initialize_settings ## YARD DOCS ROCK yard server open http://localhost:8808 #puppetcamp @puppetlabs enabled by default to ease bootstrapping lazy-loaded instead of download-then-load `gem install` just works for Ruby extensions more work to do on the code distribution story: puppet modules as 1st class distribution and good OS citizens (reducy RUBYLIB craziness) open yard, click Class List then Type. This shows a helpful description about what a type looks like
  • 11. # platform support ## solaris 10 & 11 puppet resource service # SMF yay puppet resource zone # Zones yay facter osfamily # thx ashp ## windows msi packages package { ‘XXX’: provider => windows } ## loads of correctness and features #puppetcamp @puppetlabs ruby 1.9.3 - sorta worked on 2.7, for realz on 3. earlier 1.9, pls dont solaris - smf was kinda sad, zones, pkgs meh. rahul and stefan schulte brought some much needed love to sol 11 packaging, zones -- #7175 “zones borken since 0.24.8”, holdable packages ashley penney --variants like openindiana into osfamily. windows support improved with more to come --next up is powershell correctness - redhat: pip provider works, better useradd mac: pkgdmg works again, launchd servers can be restarted, mountain lion support debian:
  • 12. # hiera built in via data bindings (thx RI) ## before class ntp($ntpserver=hiera(ntp_server, ‘time.apple.com’)) { ... } ## after class ntp($ntpserver) { ... } #puppetcamp @puppetlabs whos used hiera? heard of hiera? simple hierarchical data store for separating code from data arri wrote it, available as add-ons since last june. simplified install--4 packages to 2--auto dependencies simplified usage w/ data bindings -- kelsey’s work
  • 13. # language features ## unless unless $operatingsystem == ‘OpenBSD’ { notice(“Need moar neckbeard!”) } ## More on the way in 3.2 (see #11331) $array = [ ‘foo’, ‘bar’, ‘baz’ ] foreach($array) { |$item| file { “/tmp/${item}”: ensure => present } } #puppetcamp @puppetlabs if !
  • 14. #puppetcamp @puppetlabs from Greg Dallavalle at WolfNet -- early adopter because he was hurting under 2.7 and had to add a bunch more resources -- 40K managed resources -- upgraded to telly RC6 and boom, all his machines crashed. i mean, it started using less cpu. bottom graph is from finch in puppet operations, showing runtime (compile + apply dropping and smoothing out on 3) - store catalog on agent in json not yaml - avoid needless object creation - reduce stat() call
  • 15. 1.8.5 #puppetcamp @puppetlabs we’re deprecating support for ruby 1.8.5 in telly. RHEL5 platform can use a drop-in 1.8.7 package backported from el6
  • 16. 1.9.3 #puppetcamp @puppetlabs squashed the last known 1.9 compat bug in 3.1 (cant collect virtual resources) please use it! we’re running on ruby 2.0 now w/ just a couple of test problems
  • 17. # dynamic scoping is gone class parent { $var = "from parent" include included } class included { notify { $var: } ## NOT GONNA WORK notify { $parent::var: } ## YUP } #puppetcamp @puppetlabs takeaway: qualify your variables. local scope works, top-level works --
  • 18. # old Ruby DSL is deprecated # rewritten Ruby DSL out of play # if you use it in production and really need a feature, let us know! #puppetcamp @puppetlabs
  • 19. #puppetcamp @puppetlabs Image via http://brandontoddwright.blogspot.be/2011/07/problem-with-jetpacks.html
  • 20. The future • Beware “Forward-Looking Statements” • But we’re striving for transparency • Keep up on the backlog query • Modularity, Asynchronicity, Integration #puppetcamp @puppetlabs
  • 21. Modules Everywhere • Enable Easy Iteration • Modular Filesystem layout in lib/ • Updated versions in modulepath? • Also: “params” data and more helpful metadata in Puppet modules #puppetcamp @puppetlabs make it easy to iterate on parts of puppet that move at a different speed than core types and providers especially -- separate repos that are versioned and combined at packaging time
  • 22. Asynchronous Life • Enable HUUUUUUGE scale • Enable rapid runs - 1/minute? • It’s a ways off but we know we need: • Lightweight daemon (kick replacement) • Facter storage service • Standalone compiler #puppetcamp @puppetlabs
  • 23. Integrating Ourselves • We want to be your PaaL • YARD everywhere • If you need stuff in Private methods, ask! • Radical Ideas as a Service #puppetcamp @puppetlabs “puppet as a library”
  • 24. The outside world #puppetcamp @puppetlabs the world outside of puppet core is big and full of cool things. photo credit: eric sorenson
  • 25. The World Around Us • PuppetDB 1.1 - Reports, sweet query API • MCollective 2.3 development series • Puppet Enterprise • Rebase onto Puppet 3 + PuppetDB • Features around Reports in PuppetDB #puppetcamp @puppetlabs
  • 26. #puppetcamp @puppetlabs that’s sven nys, eight time belgian cyclocross champion giving you a call to action photo: cyclephotos.co.uk
  • 27. What you can do • Download it. • Run it. • File bugs. • Tell us what you think. #puppetcamp @puppetlabs
  • 29. Thank You Eric Sorenson | twitter: @ahpook | irc: eric0 eric0@puppetlabs.com presented by
  • 30. Photo Credits • cat photo: icanhazcheeseburger.com • puppetcamp 2009: gary larizza • keep calm: keepcalm-o-matic.co.uk • jetpack: http://brandontoddwright.blogspot.com • buffalo: eric sorenson • sven nys: http://cyclephotos.co.uk #puppetcamp @puppetlabs