+ All Categories
Transcript
Page 1: The Story of Dashboard 2.0 - PuppetConf 2013

The Story of Dashboard 2.0

Aaron Stone – @sodabrew

BrightRoll – online video advertising

PuppetConf – August 23, 2013

Page 2: The Story of Dashboard 2.0 - PuppetConf 2013

Agenda

● An introductory digression on open source● What's new in Dashboard 2.0?● Wait, what's Dashboard again?● Should you install this in the first place?● What's the upgrade path for now?● Roadmap going forward

Page 3: The Story of Dashboard 2.0 - PuppetConf 2013

Get Involved inOpen Source Projects

● Be kind.● Be helpful.● Code is key.

– Don't demand that someone else write code to solve your use case.● Be appreciative.

– If someone else is inspired by your bug/request and writes the code, thank them publicly!

● Accept critique gracefully.– Sometimes this means adjusting or even rewriting your code submission.– Especially on GitHub, you may be asked to rebase your work several times!

● Be direct and factual.– “I disagree with X, because of Y. Facts Q and R suggest that X is not the best

approach. I suggest Z as an alternative.”

Page 4: The Story of Dashboard 2.0 - PuppetConf 2013

What's New in Dashboard 2.0

● Updated to Rails 3.2 along with many gem updates– Up to date will_paginate, inherited_resources, etc.– Uses Bundler to manage gem dependencies

● Runs on both Ruby 1.8.7 and 1.9.3● Improved REST API access● Bug fixes and UI tweaks● Ongoing maintenance outside of Puppet Labs

Page 5: The Story of Dashboard 2.0 - PuppetConf 2013

Wait, What's Dashboard Again?

● Puppet Dashboard is a web application that provides both External Node Classification and Report Processing.

● It is a component of Puppet Enterprise.● Looks like this...

Page 6: The Story of Dashboard 2.0 - PuppetConf 2013

Slide with Dashboard Screenshot

Page 7: The Story of Dashboard 2.0 - PuppetConf 2013

What's an External Node Classifier?

● An ENC is a script that is executed early in the Catalog generation process.

● The first argument is the hostname of the machine to be configured.

● The output is a YAML document with a set of key-value variables and a list of manifest classes to include in the host's catalog.– The variables are accessible as top-level variables in your

manifests, e.g. $::thing_from_the_enc– The classes can be parameterized from the ENC.

Page 8: The Story of Dashboard 2.0 - PuppetConf 2013

Dashboard as ENC

● Introduces an entirely new concept of Groups.● Hosts are members of groups.● Groups assign variables and classes.● Groups can be linked for inheritance and

override of variables and classes.

Page 9: The Story of Dashboard 2.0 - PuppetConf 2013

Dashboard for Reports

● Great way to view repots, show general health of your Puppet usage, drill down into problems.

● Also the Achilles' heel of Dashboard.● The SQL reports schema is really not good.● Two keys to making it work:

– innodb_file_per_table– Frequent pruning of old reports

Page 10: The Story of Dashboard 2.0 - PuppetConf 2013

Should you install Dashboard today?

● Well, maybe.

● Yep that's all.

Page 11: The Story of Dashboard 2.0 - PuppetConf 2013

Upgrading Dashboard 1.2 to 2.0

● Actually not painful!● Get your favorite Ruby and the Bundler gem

git clone [email protected]:sodabrew/puppet-dashboard

cd puppet-dashboard

bundle install --path vendor/bundle

[copy over your confg and database yaml]

bundle exec rake db:migrate

bundle exec rails server

[should work!]

Page 12: The Story of Dashboard 2.0 - PuppetConf 2013

What's Replacing Dashboard?

● Node Classification is moving towards Hiera– At the moment I don't see a good point of

integration with Hiera – use one or the other.● Report processing is moving to PuppetDB

– PuppetDB provides an API for retrieving reports, going forward Dashboard will use this API.

Page 13: The Story of Dashboard 2.0 - PuppetConf 2013

What's next for Dashboard?

● Begin using PuppetDB as a backend for reports.

● Continue tracking Rails security releases.● Aim for Ruby 2.0 support.● Migration tools

– Because you might want to ditch dashboard, and that should be less painful.

● More features! Pull requests welcome!

Page 14: The Story of Dashboard 2.0 - PuppetConf 2013

Thanks!

Aaron Stone – @sodabrew

BrightRoll – online video advertising

PuppetConf – August 23, 2013


Top Related