the story of dashboard 2.0

Download The Story of Dashboard 2.0

If you can't read please download the document

Upload: puppet-labs

Post on 20-Jun-2015

4.010 views

Category:

Technology


0 download

DESCRIPTION

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.

TRANSCRIPT

  • 1. The Story of Dashboard 2.0 Aaron Stone @sodabrew BrightRoll online video advertising PuppetConf August 23, 2013

2. 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 3. 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. 4. 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 5. 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... 6. Slide with Dashboard Screenshot 7. 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. 8. 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. 9. 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 10. Should you install Dashboard today? Well, maybe. Yep that's all. 11. 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 config and database yaml] bundle exec rake db:migrate bundle exec rails server [should work!] 12. 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. 13. 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! 14. Thanks! Aaron Stone @sodabrew BrightRoll online video advertising PuppetConf August 23, 2013