James Turnbull

Similar documents
Friday, March 1, 13. State of Puppet

Puppet - Bug #11339 Class ordering bug?

An Introduction to the Puppet Ecosystem

D Programming Language

EPHEMERAL DEVOPS: ADVENTURES IN MANAGING SHORT-LIVED SYSTEMS

MySQL. The Right Database for GIS Sometimes

Continuous Migration. Reimplementing the Purchase Taking Capabilities of a 24/7 Financial #EUC2013 Klarna Engineering

Marketing to Customers

I'm Andy Glover and this is the Java Technical Series of. the developerworks podcasts. My guest is Brian Jakovich. He is the

Marketing to Customers

3 Continuous Integration 3. Automated system finding bugs is better than people

State of jquery Fall John Resig

DevOps Course Content

THOMAS LATOZA SWE 621 FALL 2018 DESIGN ECOSYSTEMS

Think like an Elm developer

Components of a Puppet architecture

QUIZ. What is wrong with this code that uses default arguments?

Sonatype CLM - Release Notes. Sonatype CLM - Release Notes

Can you upgrade to Puppet 4.x? PuppetCamp Düsseldorf Martin Alfke

Testing your puppet code

Improving the Magento 2 Developer Experience

A New Model for Image Distribution

Composer Best Practices Nils Private Packagist

Outline. Operating System Security CS 239 Computer Security February 23, Introduction. Server Machines Vs. General Purpose Machines

On a Ubuntu system which was updated today to facter (diretly via apt.puppetlabs.com) I also see exactly the same error.

The goal of this book is to teach you how to use Adobe Integrated

CONVERSION TRACKING PIXEL GUIDE

OpenACC Course. Office Hour #2 Q&A

ETOOMANYCATS. How we produce OpenStack

The OSP 2 Survival Guide

ag.el Documentation Release 0.45 Wilfred Hughes

Software Development. Hack, hack, hack, hack, hack. Sorta works. Main.c. COMP s1

Why Deprecating async() is the Worst of all Options

Digital Design and Computer Architecture

User Manual Version: 1.0.0

A WEB-BASED SOLUTION TO VISUALIZE OPERATIONAL MONITORING LINUX CLUSTER FOR THE PROTODUNE DATA QUALITY MONITORING CLUSTER

Analysis Tool Project

Puppet Labs Modules - Bug #16262 mysql module - mysql::db doesnt use root password

COSC 2P91. Bringing it all together... Week 4b. Brock University. Brock University (Week 4b) Bringing it all together... 1 / 22

Chapter01.fm Page 1 Monday, August 23, :52 PM. Part I of Change. The Mechanics. of Change

Rust for high level applications. Lise Henry

Volume. User Manual and Resource Guide

Advanced Java Testing. What s next?

nacelle Documentation

D#007 - Development Process Handbook

Economies of Scale in Hacking Dave Aitel Immunity

The Power of Unit Testing and it s impact on your business. Ashish Kumar Vice President, Engineering

Fabric Management using Open Source Tools

contribution-guide.org Release

CS354 gdb Tutorial Written by Chris Feilbach

Wordpress Training Manual

Azure DevOps. Randy Pagels Intelligent Cloud Technical Specialist Great Lakes Region

Marketing to Customers

Building a Multi-Language Interpreter Engine

INTRODUCTION TO ADVANCED SEO

Thomas Pelaia II, Ph.D. XAL Workshop 2012 December 13, 2012 Managed by UT-Battelle for the Department of Energy

Luna MODERNBB 4. express yourself. ModernBB Group Version 1.01

Composer and Drupal. CIDUG Meeting December 13, 2018 John Rearick

SpringSource Tool Suites M3

Distributed CI: Scaling Jenkins on Mesos and Marathon. Roger Ignazio Puppet Labs, Inc. MesosCon 2015 Seattle, WA

We are ready to serve Latest Testing Trends, Are you ready to learn?? New Batches Info

1: Introduction to Object (1)

Keeping Rails on the Tracks

Create and edit word processing. Pages.

SECURITY POLICY COMPLIANCE WITH PUPPET AND ANSIBLE. Sean M. Shore Best Buy MSP RHUG Dec 2017

Keeping up with LTS Linux Kernel Functional Testing on Devices

Open World Forum 2013

Inside JIRA scheme, everything can be configured, and it consists of. This section will guide you through JIRA Issue and it's types.

Introduction to Concurrent Software Systems. CSCI 5828: Foundations of Software Engineering Lecture 08 09/17/2015

Eclipse Scout. Release Notes. Scout Team. Version 7.0

ò Very reliable, best-of-breed traditional file system design ò Much like the JOS file system you are building now

Test Driven Development (TDD)

Case study on PhoneGap / Apache Cordova

Source Code Control & Bug Tracking

FHIR Packages and Versioning

Using Flash Animation Basics

Azure Day Application Development. Randy Pagels Sr. Developer Technology Specialist US DX Developer Tools - Central Region

Lecture 1: Overview

FROM VSTS TO AZURE DEVOPS

Test-Driven Development (TDD)

Introduction to Concurrent Software Systems. CSCI 5828: Foundations of Software Engineering Lecture 12 09/29/2016

GSAK (Geocaching Swiss Army Knife) GEOCACHING SOFTWARE ADVANCED KLASS GSAK by C3GPS & Major134

PyPy - How to not write Virtual Machines for Dynamic Languages

The More We Get Together... The Islandora Community

TMQL issues. October 14, slide 1

glu deployment automation platform July 2011 Yan Pujante in: blog:

SOFTWARE MAINTENANCE AND EVOLUTION --- REFACTORING FOR ASYNC --- CS563 WEEK 3 - THU

Money Management Account

Ext3/4 file systems. Don Porter CSE 506

Puppet - Feature #174 [PATCH] A native authorized_key type is available

Using GitHub to Share with SparkFun a

MEPubReader: J2ME epub Book Reader CSCI 188/ 297. Rizwan Habib. December 13, 2010

Puppet - Bug #13669 Puppet run with fail function generates 'unchanged' report status

Background. $VENDOR wasn t sure either, but they were pretty sure it wasn t their code.

Story Writing Basics

COPYRIGHTED MATERIAL. Getting Started with Google Analytics. P a r t

Heuristic Evaluation of [ Quest ]

Our initial reason for creating a CMS was for accessibility reasons.

CS Exam #1-100 points Spring 2011

Build & Launch Tools (BLT) Automating best practices for enterprise sites

Transcription:

State of the Nation

James Turnbull james@puppetlabs.com

Where we were Puppet user mailing list membership was 3000 With about 600 messages a month The #puppet IRC channel averaged 400 people Puppet on GitHub had 200 forks and 400 watchers We had 50 modules on the Forge

Where we are Puppet users mailing list membership is almost 5000 With 1200 messages a month The #puppet IRC channel averages 800 people Puppet on GitHub has 350 forks and 950 watchers We have over 500 modules on the Forge

So what s next?

BE transparent Tell you what is happening Make decisions in public Work together on roadmap Work together on design Open by default

What we have done recently

data/model separation Lookup of class parameters separate 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 to grow and grow... Now, we return memory to the OS Part of our performance improvement strategy

ENC vs environments You could set the client environment from the ENC The client would ignore you (sometimes) Now it doesn t Bug fix, not feature Still great!

plugin sync This worked unevenly Failures on first run Oddities about what can by synced and used successfully Now, uniform and standard

DSL Polish Add unless to the language Allow keywords as resource parameters and properties 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 our projects over SemVer 2.0.0-rc.1 compliant

it s version-ception!

major version Breaking Changes

Minor version Compatible new features

Patch version Bug fix with no other behavioural or functional changes

which means? You have version numbers that match the way we write and ship code You can be confident about the scope of changes in any release

shipping code faster

OS packages for release candidates

month development releases Waldorf is the next major release after Telly (3.0.0) We will ship a tested version every month as a preview This way you don t have changes a year old before they ship to the community Plus OS packages!

not done yet...

old mistakes still haunt us Parameterized classes don t work everywhere undef vs nil classes with - in the name

slow moving ecosystem Dashboard is being deprecated Puppet Labs modules need more attention...but we are starting to invest in them.

broken (or delayed) promises import isn t deprecated The static compiler isn t the default Facter doesn t have typed or structured facts

the future is not evenly distributed

the ecosystem Shipping structured and typed facts without the ecosystem is a no-go On release, new features should work everywhere

the next challenge Waldorf, kicking ass and taking names

experiment one We are going to fix some high-voted tickets

votes shape the roadmap We said votes matter before It wasn t really true I don t expect you to believe us this time......so we are gonna fix tickets, then ask you to believe us

votes shape the roadmap We want community input into the roadmap This seems a solid choice Success is that votes get used by the community...and that we use them to shape the roadmap!

schedule transparency

redmine Accepted tickets This is the scrum unsorted product backlog

redmine 3.X target version This is we might fix it before 4.0.0

gonna fix that up Target open tickets at the next numeric version Means trying to fix for that release Still shipping time-based product, so things will miss

other experiments You bring em, We try em

tech for waldorf This 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 for supported types and structures Full ecosystem support Third party facts only, initially

better graph processing Improve graph handling in the Puppet Agent Fix the anchor pattern Improves performance and logic Allows future improvements to the catalog and graph

better environments Different versions of a type in different environments Turns out that is pretty hard (thanks, Ruby) We will make it easy Fix performance cost too

cleaner, documented code Easier to use Puppet as a library or extend it Better API definitions Richer integrations

thank you all