The Story of Dashboard 2.0 - PuppetConf 2013
-
Upload
puppet-labs -
Category
Technology
-
view
3.882 -
download
2
description
Transcript of The Story of Dashboard 2.0 - PuppetConf 2013
![Page 1: The Story of Dashboard 2.0 - PuppetConf 2013](https://reader034.fdocuments.in/reader034/viewer/2022042715/55878de8d8b42a505d8b4629/html5/thumbnails/1.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022042715/55878de8d8b42a505d8b4629/html5/thumbnails/2.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022042715/55878de8d8b42a505d8b4629/html5/thumbnails/3.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022042715/55878de8d8b42a505d8b4629/html5/thumbnails/4.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022042715/55878de8d8b42a505d8b4629/html5/thumbnails/5.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022042715/55878de8d8b42a505d8b4629/html5/thumbnails/6.jpg)
Slide with Dashboard Screenshot
![Page 7: The Story of Dashboard 2.0 - PuppetConf 2013](https://reader034.fdocuments.in/reader034/viewer/2022042715/55878de8d8b42a505d8b4629/html5/thumbnails/7.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022042715/55878de8d8b42a505d8b4629/html5/thumbnails/8.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022042715/55878de8d8b42a505d8b4629/html5/thumbnails/9.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022042715/55878de8d8b42a505d8b4629/html5/thumbnails/10.jpg)
Should you install Dashboard today?
● Well, maybe.
● Yep that's all.
![Page 11: The Story of Dashboard 2.0 - PuppetConf 2013](https://reader034.fdocuments.in/reader034/viewer/2022042715/55878de8d8b42a505d8b4629/html5/thumbnails/11.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022042715/55878de8d8b42a505d8b4629/html5/thumbnails/12.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022042715/55878de8d8b42a505d8b4629/html5/thumbnails/13.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022042715/55878de8d8b42a505d8b4629/html5/thumbnails/14.jpg)
Thanks!
Aaron Stone – @sodabrew
BrightRoll – online video advertising
PuppetConf – August 23, 2013