PuppetCamp SEA @ Blk 71 - Nagios in under 10 mins with Puppet
PuppetCamp SEA 1 - The State of Puppet
-
Upload
olindata -
Category
Technology
-
view
805 -
download
0
description
Transcript of PuppetCamp SEA 1 - The State of Puppet
JAMES [email protected]
BE TRANSPARENT
Tell you what is happening
Make decisions in public
Work together onroadmap
Work together on design
Open by default
•
•
•
•
•
WHAT WE HAVE DONERECENTLY
DATA/MODEL SEPARATION
Lookup of class parametersseparate from the manifest
You can assume it is there!
No manifest changes needed
Uses Hiera as the back-end
•
•
•
•
RUBY 1.9.3...is finally a first class citizen.
This is part of 3.0.0
Fully supported.All bugs fixed.
(Probably)
PUPPET MODULE TOOL
Project Geordi La Forge
PMT ships with 3.0.0
Making it more awesome!
Buffing up publishing
Enhance the forge
•
•
•
•
•
VARIABLE SCOPE FIXED
No more dynamic scope
Killed deprecation warnings!
Local, then inherited...
...then node, then global.
•
•
•
•
GIVE BACK MEMORY
Daemon mode used togrow and grow...
Now, we return memoryto the OS
Part of our performanceimprovement strategy
•
•
•
ENC VS ENVIRONMENTS
You could set the clientenvironment from the ENC
The client would ignoreyou (sometimes)
Now it doesn’t
Bug fix, not feature
Still great!
•
•
•
•
•
PLUGIN SYNC
This worked unevenly
Failures on first run
Oddities about what can bysynced and used successfully
Now, uniform and standard
•
•
•
•
DSL POLISH
Add “unless” to thelanguage
Allow keywords asresource parameters andproperties
Fixed some parser bugs (like ‘-’ in variable names)
More of this coming...
•
•
•
•
HIDDEN CHANGES
Lots of bugs fixed
Code cleanup
Performance improvements
Correctness fixes
None of them visible
•
•
•
•
•
FINALLY SHIPPING!
Puppet 3.0.0
Facter 2.0.0
Hiera 1.0.0
•
•
•
COMMITTING TO SEMVER
Semantic Versioning FTW
We are moving all ourprojects over
SemVer 2.0.0-rc.1compliant
•
•
•
IT’S VERSION-CEPTION!
MAJORVERSIONBreaking Changes
MINORVERSION
Compatible new features
PATCHVERSION
Bug fix with no otherbehavioural or functional
changes
WHICH MEANS?
You have version numbersthat match the way we writeand ship code
You can be confident aboutthe scope of changes in anyrelease
•
•
SHIPPING CODE FASTER
OS PACKAGES FOR RELEASE CANDIDATES
MONTH DEVELOPMENT RELEASESWaldorf is the next major
release after Telly (3.0.0)
We will ship a testedversion every month as apreview
This way you don’t havechanges a year old beforethey ship to the community
Plus OS packages!
•
•
•
•
NOT DONE YET...
OLD MISTAKES STILL HAUNT US
Parameterized classes don’twork everywhere
undef vs nil
classes with ‘-’ in the name
•
•
•
SLOW MOVING ECOSYSTEM
Dashboard has not gotten alot of love recently
Puppet Labs modules needmore attention
...but we are starting toinvest in them.
•
•
•
BROKEN (OR DELAYED)PROMISES
import isn’t deprecated
The static compiler isn’t thedefault
Facter doesn’t have typedor structured facts
•
•
•
THE FUTURE
THE ECOSYSTEM
Shipping structured andtyped facts without theecosystem is a no-go
On release, new featuresshould work everywhere
•
•
THE NEXT CHALLENGEWaldorf, kicking ass and taking names
EXPERIMENT ONEWe are going to fix some high-voted tickets
VOTES SHAPE THE ROADMAPWe said votes matter
before
It wasn’t really true
I don’t expect you tobelieve us this time...
...so we are gonna fixtickets, then ask you tobelieve us
•
•
•
•
VOTES SHAPE THE ROADMAP
We want community inputinto the roadmap
This seems a solid choice
Success is that votes getused by the community
...and that we use them toshape the roadmap!
•
•
•
•
SCHEDULE TRANSPARENCY
REDMINE “ACCEPTED” TICKETSThis is the scrum “unsorted product backlog”
REDMINE “3.X” TARGET VERSIONThis is “we might fix it before 4.0.0”
GONNA FIX THAT UP
Target open tickets at thenext numeric version
Means “trying to fix for thatrelease”
Still shipping time-basedproduct, so things will miss
•
•
•
OTHER EXPERIMENTSYou bring ‘em, We try ‘em
TECH FOR WALDORFThis is all speculative, no promises.
STATIC COMPILER
Missed Telly, but only just
Content reference, not URI
Single file catalog?
Easier push model?
•
•
•
•
STRUCTURED FACTS
Really, structured and typed
JSON is the template forsupported types andstructures
Full ecosystem support
Third party facts only,initially
•
•
•
•
BETTER GRAPH PROCESSING
Improve graph handling inthe Puppet Agent
Fix the “anchor” pattern
Improves performance andlogic
Allows futureimprovements to the catalogand graph
•
•
•
•
BETTER ENVIRONMENTS
Different versions of a typein different environments
Turns out that is prettyhard (thanks, Ruby)
We will make it easy
Fix performance cost too
•
•
•
•
CLEANER, DOCUMENTED CODE
Easier to use Puppet as alibrary or extend it
Better API definitions
Richer integrations
•
•
•
THANK YOU ALL