15. # pluginsync improvements
## enabled by default
puppet agent --genconfig | grep pluginsync
# pluginsync = true
## lazy load... hard to demo
16. # pluginsync improvements
## enabled by default
puppet agent --genconfig | grep pluginsync
# pluginsync = true
## lazy load... hard to demo
## install a Face from gems
17. # pluginsync improvements
## enabled by default
puppet agent --genconfig | grep pluginsync
# pluginsync = true
## lazy load... hard to demo
## install a Face from gems
package { ‘puppetlabs-cloud-provisioner’:
18. # pluginsync improvements
## enabled by default
puppet agent --genconfig | grep pluginsync
# pluginsync = true
## lazy load... hard to demo
## install a Face from gems
package { ‘puppetlabs-cloud-provisioner’:
provider => gem,
19. # pluginsync improvements
## enabled by default
puppet agent --genconfig | grep pluginsync
# pluginsync = true
## lazy load... hard to demo
## install a Face from gems
package { ‘puppetlabs-cloud-provisioner’:
provider => gem,
ensure => present
20. # pluginsync improvements
## enabled by default
puppet agent --genconfig | grep pluginsync
# pluginsync = true
## lazy load... hard to demo
## install a Face from gems
package { ‘puppetlabs-cloud-provisioner’:
provider => gem,
ensure => present
}
23. # platform support
## Ruby support cleanups
[eric@glitch ~]% rbenv version
1.9.3-p194
24. # platform support
## Ruby support cleanups
[eric@glitch ~]% rbenv version
1.9.3-p194
## solaris 10 & 11
puppet resource service # SMF yay
puppet resource zone # Zones yay
facter osfamily
25. # platform support
## Ruby support cleanups
[eric@glitch ~]% rbenv version
1.9.3-p194
## solaris 10 & 11
puppet resource service # SMF yay
puppet resource zone # Zones yay
facter osfamily
## windows msi packages
package { ‘XXX’: provider => windows }
62. # dynamic scoping is gone
class parent {
$var = "from parent"
include included
63. # dynamic scoping is gone
class parent {
$var = "from parent"
include included
}
64. # dynamic scoping is gone
class parent {
$var = "from parent"
include included
}
class included {
65. # dynamic scoping is gone
class parent {
$var = "from parent"
include included
}
class included {
notify { $var: } ## NOT GONNA WORK
66. # dynamic scoping is gone
class parent {
$var = "from parent"
include included
}
class included {
notify { $var: } ## NOT GONNA WORK
notify { $parent::var: } ## YUP
67. # dynamic scoping is gone
class parent {
$var = "from parent"
include included
}
class included {
notify { $var: } ## NOT GONNA WORK
notify { $parent::var: } ## YUP
}
68. 53 3910 - Server is not authoritative over client environment when specified in an ENC -- Fixed in Telly
35 2198 - Install multiple package within a single call to the package manager -- Was patched against 0.24 and never merged
31 4409 - puppetmasterd does not find custom types for environment -- fixed in #13858
30 3741 - Custom facts loaded multiple times -- Fixed in telly
27 5517 - behavior change within 2.6 makes it impossible to override class parameters of "included" parametrized classes -- Early evaluation w/
'include foo' meant we need early evaluation with class { 'foo': }
27 2977 - Postgres backend for dashboard
27 10418 - Puppet agent hangs when listen is true and reading from /proc filesystem on redhat -- Tracked down to specific files in /proc like
mounts -- fixed in Facter 1.6.12.
26 8040 - Anchor pattern -- Graph should include containment relationships and not whits
26 5783 - Support HTTP(S) URL as the file 'source' -- No action
26 2247 - enablerepo and disablerepo for yum type -- dup of 4113 (provider-specific options)
24 1886 - Add node cleanup capability -- Complete
24 12173 - Masters cannot reliably distinguish between multiple versions of a type/function/plugin used in different environments -- Needs
process-per-environment.
23 5158 - File resources: Make source/content parameters and the file/template functions consistent. -- No action
72. The Road Ahead
• Continued focus on quality
• Settings and Code Loading
73. The Road Ahead
• Continued focus on quality
• Settings and Code Loading
• Slimmer Core, More Modules
74. The Road Ahead
• Continued focus on quality
• Settings and Code Loading
• Slimmer Core, More Modules
• Themed Feature Releases in 3.x
75. The Road Ahead
• Continued focus on quality
• Settings and Code Loading
• Slimmer Core, More Modules
• Themed Feature Releases in 3.x
• Driven by User Testing
83. e follow us on Twitter @puppetlabs
m youtube.com/puppetlabsinc
p slideshare.net/puppetlabs
presented by
Notes de l'éditeur
\n
\n
Hi. I’m Eric aka eric0. \nproduct owner for opensource\ncfengine since 98, in awesome but failed startups\npuppet user since 0.24 at apple, an awesome sucessful non-startup\npuppet employee since june, an awesome hopefully successful startup\nlove OSS, commited to puppet becoming a real platform that enterprise and others build on\n
TELLY.\nOriginally short for TELEVISION, he was totally obsessed with watching TV, with the eyeball spin & everything\nSource: http://muppet.wikia.com/wiki/Telly_Monster\n\n
but according to the Muppet Wiki -- what, you dont read the Muppet wiki? -- the fact that he watched TV 3 inches from the screen was a bad example for the children.\n“Worrying, easily frustrated -- but an expert on TV and computers” COINCIDENCE?\nso they took away the TV and gave him triangles. 3 sides. Puppet 3. Coincidence? \nSource: http://muppet.wikia.com/wiki/Telly_Monster\n\n
this slide’s alternate title was ‘give edward tufte an aneurysm’\nroughly yearly releases until the Great Renaming in 2010 introduced roughly 10x more puppet\nsep 2009 0.25.0 introduced REST instead of XML-RPC\njuly 2010 2.6.0 had run stages, param classes, complex data structures, and lots of syntax\njune 2011 2.7.0 introduced greater API-zation , through faces and exposing more functionality like certificates through REST\nsignificant new functionality through 2.7 series, including some surprises in minor versions.\nup to 2.7.20 now.\nnext up is 3, released this week.\n\n
github graph of project growth from the start of time.\ngiant spike in july 2011 was reformatting for two space indentation.\n\n
Started releasing RCs in May 2012, w/ 1,2,3 by June 1\n(I started June 27)\nQuiet until July when Stahnke posted that we were reverting from RC to development due to performance and quality problems. \n“stop the line”\nRC4 Aug 24\nRC5 Aug 29\nRC6 Sep 10\nRC7 Sep 20\nRelease Sep 25\nso what happened?\n
From http://www.keepcalm-o-matic.co.uk/p/keep-calm-and-ooh-shiny/\n
enabled by default to ease bootstrapping\nlazy-loaded instead of download-then-load\n`gem install` just works for Ruby extensions\nmore work to do on the code distribution story: puppet modules as 1st class distribution (package provider) and good OS citizens (reducy RUBYLIB craziness)\n
enabled by default to ease bootstrapping\nlazy-loaded instead of download-then-load\n`gem install` just works for Ruby extensions\nmore work to do on the code distribution story: puppet modules as 1st class distribution (package provider) and good OS citizens (reducy RUBYLIB craziness)\n
enabled by default to ease bootstrapping\nlazy-loaded instead of download-then-load\n`gem install` just works for Ruby extensions\nmore work to do on the code distribution story: puppet modules as 1st class distribution (package provider) and good OS citizens (reducy RUBYLIB craziness)\n
enabled by default to ease bootstrapping\nlazy-loaded instead of download-then-load\n`gem install` just works for Ruby extensions\nmore work to do on the code distribution story: puppet modules as 1st class distribution (package provider) and good OS citizens (reducy RUBYLIB craziness)\n
enabled by default to ease bootstrapping\nlazy-loaded instead of download-then-load\n`gem install` just works for Ruby extensions\nmore work to do on the code distribution story: puppet modules as 1st class distribution (package provider) and good OS citizens (reducy RUBYLIB craziness)\n
enabled by default to ease bootstrapping\nlazy-loaded instead of download-then-load\n`gem install` just works for Ruby extensions\nmore work to do on the code distribution story: puppet modules as 1st class distribution (package provider) and good OS citizens (reducy RUBYLIB craziness)\n
enabled by default to ease bootstrapping\nlazy-loaded instead of download-then-load\n`gem install` just works for Ruby extensions\nmore work to do on the code distribution story: puppet modules as 1st class distribution (package provider) and good OS citizens (reducy RUBYLIB craziness)\n
enabled by default to ease bootstrapping\nlazy-loaded instead of download-then-load\n`gem install` just works for Ruby extensions\nmore work to do on the code distribution story: puppet modules as 1st class distribution (package provider) and good OS citizens (reducy RUBYLIB craziness)\n
enabled by default to ease bootstrapping\nlazy-loaded instead of download-then-load\n`gem install` just works for Ruby extensions\nmore work to do on the code distribution story: puppet modules as 1st class distribution (package provider) and good OS citizens (reducy RUBYLIB craziness)\n
enabled by default to ease bootstrapping\nlazy-loaded instead of download-then-load\n`gem install` just works for Ruby extensions\nmore work to do on the code distribution story: puppet modules as 1st class distribution (package provider) and good OS citizens (reducy RUBYLIB craziness)\n
ruby 1.9.3 - sorta worked on 2.7, for realz on 3. earlier 1.9, pls dont\nsolaris - 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”\nashley penney --variants like openindiana into osfamily. \n
ruby 1.9.3 - sorta worked on 2.7, for realz on 3. earlier 1.9, pls dont\nsolaris - 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”\nashley penney --variants like openindiana into osfamily. \n
ruby 1.9.3 - sorta worked on 2.7, for realz on 3. earlier 1.9, pls dont\nsolaris - 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”\nashley penney --variants like openindiana into osfamily. \n
ruby 1.9.3 - sorta worked on 2.7, for realz on 3. earlier 1.9, pls dont\nsolaris - 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”\nashley penney --variants like openindiana into osfamily. \n
ruby 1.9.3 - sorta worked on 2.7, for realz on 3. earlier 1.9, pls dont\nsolaris - 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”\nashley penney --variants like openindiana into osfamily. \n
ruby 1.9.3 - sorta worked on 2.7, for realz on 3. earlier 1.9, pls dont\nsolaris - 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”\nashley penney --variants like openindiana into osfamily. \n
ruby 1.9.3 - sorta worked on 2.7, for realz on 3. earlier 1.9, pls dont\nsolaris - 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”\nashley penney --variants like openindiana into osfamily. \n
ruby 1.9.3 - sorta worked on 2.7, for realz on 3. earlier 1.9, pls dont\nsolaris - 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”\nashley penney --variants like openindiana into osfamily. \n
ruby 1.9.3 - sorta worked on 2.7, for realz on 3. earlier 1.9, pls dont\nsolaris - 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”\nashley penney --variants like openindiana into osfamily. \n
ruby 1.9.3 - sorta worked on 2.7, for realz on 3. earlier 1.9, pls dont\nsolaris - 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”\nashley penney --variants like openindiana into osfamily. \n
whos used hiera? heard of hiera? simple hierarchical data store for separating code from data\narri wrote it, available as add-ons since last june.\nsimplified install--4 packages to 2--auto dependencies\nsimplified usage w/ data bindings -- kelsey’s work\n
whos used hiera? heard of hiera? simple hierarchical data store for separating code from data\narri wrote it, available as add-ons since last june.\nsimplified install--4 packages to 2--auto dependencies\nsimplified usage w/ data bindings -- kelsey’s work\n
whos used hiera? heard of hiera? simple hierarchical data store for separating code from data\narri wrote it, available as add-ons since last june.\nsimplified install--4 packages to 2--auto dependencies\nsimplified usage w/ data bindings -- kelsey’s work\n
whos used hiera? heard of hiera? simple hierarchical data store for separating code from data\narri wrote it, available as add-ons since last june.\nsimplified install--4 packages to 2--auto dependencies\nsimplified usage w/ data bindings -- kelsey’s work\n
whos used hiera? heard of hiera? simple hierarchical data store for separating code from data\narri wrote it, available as add-ons since last june.\nsimplified install--4 packages to 2--auto dependencies\nsimplified usage w/ data bindings -- kelsey’s work\n
whos used hiera? heard of hiera? simple hierarchical data store for separating code from data\narri wrote it, available as add-ons since last june.\nsimplified install--4 packages to 2--auto dependencies\nsimplified usage w/ data bindings -- kelsey’s work\n
whos used hiera? heard of hiera? simple hierarchical data store for separating code from data\narri wrote it, available as add-ons since last june.\nsimplified install--4 packages to 2--auto dependencies\nsimplified usage w/ data bindings -- kelsey’s work\n
whos used hiera? heard of hiera? simple hierarchical data store for separating code from data\narri wrote it, available as add-ons since last june.\nsimplified install--4 packages to 2--auto dependencies\nsimplified usage w/ data bindings -- kelsey’s work\n
whos used hiera? heard of hiera? simple hierarchical data store for separating code from data\narri wrote it, available as add-ons since last june.\nsimplified install--4 packages to 2--auto dependencies\nsimplified usage w/ data bindings -- kelsey’s work\n
whos used hiera? heard of hiera? simple hierarchical data store for separating code from data\narri wrote it, available as add-ons since last june.\nsimplified install--4 packages to 2--auto dependencies\nsimplified usage w/ data bindings -- kelsey’s work\n
if !\ninside class foo, ‘include ::bar’ used to get to foo::bar.\nquick WAT break.\n
if !\ninside class foo, ‘include ::bar’ used to get to foo::bar.\nquick WAT break.\n
if !\ninside class foo, ‘include ::bar’ used to get to foo::bar.\nquick WAT break.\n
if !\ninside class foo, ‘include ::bar’ used to get to foo::bar.\nquick WAT break.\n
if !\ninside class foo, ‘include ::bar’ used to get to foo::bar.\nquick WAT break.\n
\n
Gary Bernhardt on language inconsistencies at destroyallsoftware.com\n
Gary Bernhardt on language inconsistencies at destroyallsoftware.com\n
Gary Bernhardt on language inconsistencies at destroyallsoftware.com\n
Gary Bernhardt on language inconsistencies at destroyallsoftware.com\n
Gary Bernhardt on language inconsistencies at destroyallsoftware.com\n
Gary Bernhardt on language inconsistencies at destroyallsoftware.com\n
Gary Bernhardt on language inconsistencies at destroyallsoftware.com\n
this one is preserved but i’m still not convinced it’s right. \n
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.\n
from adrien in ops, both compile and apply are way down\ndaniel pittman did a lot of work on this area\n- store catalog on agent in json not yaml\n- avoid needless object creation\n- reduce stat() call\n
we’re deprecating support for ruby 1.8.5 in telly.\nRHEL5 platform can use a drop-in 1.8.7 package backported from el6\n
we’re deprecating support for ruby 1.8.5 in telly.\nRHEL5 platform can use a drop-in 1.8.7 package backported from el6\n
we’re deprecating support for ruby 1.8.5 in telly.\nRHEL5 platform can use a drop-in 1.8.7 package backported from el6\n
takeaway: qualify your variables. local scope works, top-level works -- \n
takeaway: qualify your variables. local scope works, top-level works -- \n
takeaway: qualify your variables. local scope works, top-level works -- \n
takeaway: qualify your variables. local scope works, top-level works -- \n
takeaway: qualify your variables. local scope works, top-level works -- \n
takeaway: qualify your variables. local scope works, top-level works -- \n
takeaway: qualify your variables. local scope works, top-level works -- \n
takeaway: qualify your variables. local scope works, top-level works -- \n
takeaway: qualify your variables. local scope works, top-level works -- \n
\n
\n
- want to knock down the remaining top watched bugs\n- fixes for ‘platform’ stuff as luke mentioned -- untangling fundamental complexity by paying down tech debt on settings and code loading, building APIs\n- slimmer core - nagios types need to go--things that can be modularised should be. packaged puppet will contain a set of core modules but they won’t be in the same git repo\n- themes : error messages, type and provider split-up\n- but driven by USER TESTING so we fix the important problems not JUST the urgent ones.\n
- want to knock down the remaining top watched bugs\n- fixes for ‘platform’ stuff as luke mentioned -- untangling fundamental complexity by paying down tech debt on settings and code loading, building APIs\n- slimmer core - nagios types need to go--things that can be modularised should be. packaged puppet will contain a set of core modules but they won’t be in the same git repo\n- themes : error messages, type and provider split-up\n- but driven by USER TESTING so we fix the important problems not JUST the urgent ones.\n
- want to knock down the remaining top watched bugs\n- fixes for ‘platform’ stuff as luke mentioned -- untangling fundamental complexity by paying down tech debt on settings and code loading, building APIs\n- slimmer core - nagios types need to go--things that can be modularised should be. packaged puppet will contain a set of core modules but they won’t be in the same git repo\n- themes : error messages, type and provider split-up\n- but driven by USER TESTING so we fix the important problems not JUST the urgent ones.\n
- want to knock down the remaining top watched bugs\n- fixes for ‘platform’ stuff as luke mentioned -- untangling fundamental complexity by paying down tech debt on settings and code loading, building APIs\n- slimmer core - nagios types need to go--things that can be modularised should be. packaged puppet will contain a set of core modules but they won’t be in the same git repo\n- themes : error messages, type and provider split-up\n- but driven by USER TESTING so we fix the important problems not JUST the urgent ones.\n
- want to knock down the remaining top watched bugs\n- fixes for ‘platform’ stuff as luke mentioned -- untangling fundamental complexity by paying down tech debt on settings and code loading, building APIs\n- slimmer core - nagios types need to go--things that can be modularised should be. packaged puppet will contain a set of core modules but they won’t be in the same git repo\n- themes : error messages, type and provider split-up\n- but driven by USER TESTING so we fix the important problems not JUST the urgent ones.\n