• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
The Story of Dashboard 2.0 - PuppetConf 2013
 

The Story of Dashboard 2.0 - PuppetConf 2013

on

  • 3,758 views

Dashboard is a popular tool for web-based management of Puppet Nodes. In late 2012, Puppet Labs proposed passing Dashboard on to a community maintainer, and I volunteered. This session will cover two ...

Dashboard is a popular tool for web-based management of Puppet Nodes. In late 2012, Puppet Labs proposed passing Dashboard on to a community maintainer, and I volunteered. This session will cover two major topics: how to get involved with Puppet projects on an open source basis, and about what's new in Dashboard 2.0. Learn how you can use Dashboard, how to integrate it as an External Node Classifier, and some common pitfalls. Find out what's next for the Dashboard as PuppetDB and Hiera mature.

Aaron Stone
Senior Software Engineer, BrightRoll
Aaron Stone is a software engineer at BrightRoll, where he works on both product and infrastructure development. Aaron recently lead the work on Puppet Dashboard 2.0, bringing it up to date with Ruby on Rails 3. Aaron's roots in open source software and polyglot coding skills inform his passion for digging into the full stack of software, hardware, and gear that mediate between his code and his users.

Statistics

Views

Total Views
3,758
Views on SlideShare
3,758
Embed Views
0

Actions

Likes
4
Downloads
17
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    The Story of Dashboard 2.0 - PuppetConf 2013 The Story of Dashboard 2.0 - PuppetConf 2013 Presentation Transcript

    • The Story of Dashboard 2.0 Aaron Stone – @sodabrew BrightRoll –online video advertising PuppetConf – August 23, 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
    • Get Involved in Open 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.”
    • 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
    • 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...
    • Slide with Dashboard Screenshot
    • 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.
    • 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.
    • 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
    • Should you install Dashboard today? ● Well, maybe. ● Yep that's all.
    • Upgrading Dashboard 1.2 to 2.0 ● Actually not painful! ● Get your favorite Ruby and the Bundler gem git clone git@github.com: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!]
    • 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.
    • 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!
    • Thanks! Aaron Stone – @sodabrew BrightRoll –online video advertising PuppetConf – August 23, 2013