Hello everyone, It’s a lovely grey and rainy day here in the Dutch summer, as good a day as any to release a new little project. Its name is Puppetboard and has as aim to replace Puppet Dashboard’s reporting functionality. It does not nor will it include ENC features. It does all this without storing any data itself but querying PuppetDB instead. The whole thing is built in Python and relies on Flask and WTForms. The communication logic has been split of in its own library called pypuppetdb which makes heavy use of the requests library. The interface is powered by Twitter Bootstrap with the Flatly theme. Though I’ve pushed all the code out and made it public it’s all very young but it works fairly well. However, I’ve committed numerous barbarities in the code just to get things working and to figure out how to handle certain things. For the foreseeable time in the future I’ll be working on cleaning all this up and figuring out what I can do on my side and on PuppetDB’s side to make all this work a little better. Especially when it comes to dealing with big responses from PuppetDB... This is the first time I’m open sourcing a project so that too is all new to me. I’d welcome the feedback and if someone feels brave enough even commits on the projects but try and be gentle about it :-). I’ll also be at PuppetConf including the Developer Day so feel free to reach out to me in person. To the code: * puppetboard: https://github.com/nedap/puppetboard * pypuppetdb: https://github.com/nedap/pypuppetdb I realise that puppetboard doesn''t have a test suite right now but it will soon. In order to do so I have to restructure a few things about it first. The installation documentation will improve with it. Pypuppetdb''s test suite will be expanding the coming days once I''m done mocking the HTTP requests _query() makes and manage to get a decent and big enough set of test data to feed into PuppetDB. This will allow me to run integration tests and benchmark certain changes I have in mind. I’m hoping to be able to get a release out every month with improvements to both projects, perhaps even faster in the beginning but it remains to be seen how much time I’ll be able to spend on it. A special thanks goes out to Ken Barber for helping out with all things PuppetDB and coming up with a way to run PuppetDB on Travis so we can run integration tests. Hunter, thank you for being so interested in this project and pushing me to release it. — Daniele Sluijters Nedap | Steppingstone -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscribe@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
It seems very cool. Thank you for sharing. One thing that I would be missing, before being able to switch (as gathered from screenshots - I haven''t tested it yet :) - is the overview of failed, unreported and unresponsive hosts. Also - there would need to be a way to query this - just as I currently do from puppet-dashboard (for my nagios monitoring) - so that I can alert when I started getting failed runs etc. -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscribe@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
Hi Klavs, Thanks, I''ll think about that. An API that could be used for notifications and such was already on my mind. Unfortunately I don''t think I can currently ask PuppetDB for the statistics you mention but perhaps that can be added to PuppetDB. As far as notifying about failed runs through Nagios, we actually use a plugin that checks the report age and its content on every node. -- Daniele Sluijters On Wednesday, 7 August 2013 15:32:48 UTC+2, Klavs Klavsen wrote:> > It seems very cool. Thank you for sharing. > > One thing that I would be missing, before being able to switch (as > gathered from screenshots - I haven''t tested it yet :) - is the overview of > failed, unreported and unresponsive hosts. > Also - there would need to be a way to query this - just as I currently do > from puppet-dashboard (for my nagios monitoring) - so that I can alert when > I started getting failed runs etc. >-- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscribe@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
If it''s something that means I can finally ditch puppet-dashboard''s reporting functionality, I will be on that like jam on toast. Screenshots look very cool, I''ll probably try to install it later this week. On Wednesday, August 7, 2013 5:47:23 AM UTC-7, Daniele Sluijters wrote:> > Hello everyone, > > > It’s a lovely grey and rainy day here in the Dutch summer, as good a day > as any to release a new little project. > > > Its name is Puppetboard and has as aim to replace Puppet Dashboard’s > reporting functionality. It does not nor will it include ENC features. It > does all this without storing any data itself but querying PuppetDB instead. > > > The whole thing is built in Python and relies on Flask and WTForms. The > communication logic has been split of in its own library called pypuppetdb > which makes heavy use of the requests library. The interface is powered by > Twitter Bootstrap with the Flatly theme. > > > Though I’ve pushed all the code out and made it public it’s all very young > but it works fairly well. However, I’ve committed numerous barbarities in > the code just to get things working and to figure out how to handle certain > things. For the foreseeable time in the future I’ll be working on cleaning > all this up and figuring out what I can do on my side and on PuppetDB’s > side to make all this work a little better. Especially when it comes to > dealing with big responses from PuppetDB... > > > This is the first time I’m open sourcing a project so that too is all new > to me. I’d welcome the feedback and if someone feels brave enough even > commits on the projects but try and be gentle about it :-). I’ll also be at > PuppetConf including the Developer Day so feel free to reach out to me in > person. > > > To the code: > > > * puppetboard: https://github.com/nedap/puppetboard > > * pypuppetdb: https://github.com/nedap/pypuppetdb > > > I realise that puppetboard doesn''t have a test suite right now but it will > soon. In order to do so I have to restructure a few things about it first. > The installation documentation will improve with it. > > > Pypuppetdb''s test suite will be expanding the coming days once I''m done > mocking the HTTP requests _query() makes and manage to get a decent and big > enough set of test data to feed into PuppetDB. This will allow me to run > integration tests and benchmark certain changes I have in mind. > > > I’m hoping to be able to get a release out every month with improvements > to both projects, perhaps even faster in the beginning but it remains to be > seen how much time I’ll be able to spend on it. > > > A special thanks goes out to Ken Barber for helping out with all things > PuppetDB and coming up with a way to run PuppetDB on Travis so we can run > integration tests. Hunter, thank you for being so interested in this > project and pushing me to release it. > > > — > > Daniele Sluijters > > Nedap | Steppingstone >-- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscribe@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
Cool stuff will try it out. I think we might have some Python projects at work that would be interested in using the pypuppetdb library as well. On 7 August 2013 14:47, Daniele Sluijters <daniele.sluijters@gmail.com>wrote:> Hello everyone, > > > It’s a lovely grey and rainy day here in the Dutch summer, as good a day > as any to release a new little project. > > > Its name is Puppetboard and has as aim to replace Puppet Dashboard’s > reporting functionality. It does not nor will it include ENC features. It > does all this without storing any data itself but querying PuppetDB instead. > > > The whole thing is built in Python and relies on Flask and WTForms. The > communication logic has been split of in its own library called pypuppetdb > which makes heavy use of the requests library. The interface is powered by > Twitter Bootstrap with the Flatly theme. > > > Though I’ve pushed all the code out and made it public it’s all very young > but it works fairly well. However, I’ve committed numerous barbarities in > the code just to get things working and to figure out how to handle certain > things. For the foreseeable time in the future I’ll be working on cleaning > all this up and figuring out what I can do on my side and on PuppetDB’s > side to make all this work a little better. Especially when it comes to > dealing with big responses from PuppetDB... > > > This is the first time I’m open sourcing a project so that too is all new > to me. I’d welcome the feedback and if someone feels brave enough even > commits on the projects but try and be gentle about it :-). I’ll also be at > PuppetConf including the Developer Day so feel free to reach out to me in > person. > > > To the code: > > > * puppetboard: https://github.com/nedap/puppetboard > > * pypuppetdb: https://github.com/nedap/pypuppetdb > > > I realise that puppetboard doesn''t have a test suite right now but it will > soon. In order to do so I have to restructure a few things about it first. > The installation documentation will improve with it. > > > Pypuppetdb''s test suite will be expanding the coming days once I''m done > mocking the HTTP requests _query() makes and manage to get a decent and big > enough set of test data to feed into PuppetDB. This will allow me to run > integration tests and benchmark certain changes I have in mind. > > > I’m hoping to be able to get a release out every month with improvements > to both projects, perhaps even faster in the beginning but it remains to be > seen how much time I’ll be able to spend on it. > > > A special thanks goes out to Ken Barber for helping out with all things > PuppetDB and coming up with a way to run PuppetDB on Travis so we can run > integration tests. Hunter, thank you for being so interested in this > project and pushing me to release it. > > > — > > Daniele Sluijters > > Nedap | Steppingstone > > -- > You received this message because you are subscribed to the Google Groups > "Puppet Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to puppet-users+unsubscribe@googlegroups.com. > To post to this group, send email to puppet-users@googlegroups.com. > Visit this group at http://groups.google.com/group/puppet-users. > For more options, visit https://groups.google.com/groups/opt_out. > > >-- Erik Dalén -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscribe@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
Hey, That''s awesome, let me know how it goes. I''m not sure how well it will be able to handle itself at the scale of your infrastructure but only one way to find out! -- Daniele Sluijters On Thursday, 8 August 2013 01:47:07 UTC+2, Erik Dalén wrote:> > Cool stuff will try it out. I think we might have some Python projects at > work that would be interested in using the pypuppetdb library as well. > >-- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscribe@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
So I finally got the time to get this going, and it is indeed, very cool. One hitch though: I grabbed the source from github, and most things seemed to work, but the overview page errored out. It seems that it was using python 3 syntax for it''s format strings on line 86 and 88. 86: ''avg_resources_node'': "{:10.6f}".format(avg_resources_node[''Value'']), 87: ''mean_failed_commands'': mean_failed_commands[''MeanRate''], 88: ''mean_command_time'': "{:10.6f}".format(mean_command_time[''MeanRate'']), I added a 0 to the format specification and it worked fine 86: ''avg_resources_node'': "{0:10.6f}".format(avg_resources_node[''Value'']), 87: ''mean_failed_commands'': mean_failed_commands[''MeanRate''], 88: ''mean_command_time'': "{0:10.6f}".format(mean_command_time[''MeanRate'']), On Wednesday, August 7, 2013 5:47:23 AM UTC-7, Daniele Sluijters wrote:> > Hello everyone, > > > It’s a lovely grey and rainy day here in the Dutch summer, as good a day > as any to release a new little project. > > > Its name is Puppetboard and has as aim to replace Puppet Dashboard’s > reporting functionality. It does not nor will it include ENC features. It > does all this without storing any data itself but querying PuppetDB instead. > > > The whole thing is built in Python and relies on Flask and WTForms. The > communication logic has been split of in its own library called pypuppetdb > which makes heavy use of the requests library. The interface is powered by > Twitter Bootstrap with the Flatly theme. > > > Though I’ve pushed all the code out and made it public it’s all very young > but it works fairly well. However, I’ve committed numerous barbarities in > the code just to get things working and to figure out how to handle certain > things. For the foreseeable time in the future I’ll be working on cleaning > all this up and figuring out what I can do on my side and on PuppetDB’s > side to make all this work a little better. Especially when it comes to > dealing with big responses from PuppetDB... > > > This is the first time I’m open sourcing a project so that too is all new > to me. I’d welcome the feedback and if someone feels brave enough even > commits on the projects but try and be gentle about it :-). I’ll also be at > PuppetConf including the Developer Day so feel free to reach out to me in > person. > > > To the code: > > > * puppetboard: https://github.com/nedap/puppetboard > > * pypuppetdb: https://github.com/nedap/pypuppetdb > > > I realise that puppetboard doesn''t have a test suite right now but it will > soon. In order to do so I have to restructure a few things about it first. > The installation documentation will improve with it. > > > Pypuppetdb''s test suite will be expanding the coming days once I''m done > mocking the HTTP requests _query() makes and manage to get a decent and big > enough set of test data to feed into PuppetDB. This will allow me to run > integration tests and benchmark certain changes I have in mind. > > > I’m hoping to be able to get a release out every month with improvements > to both projects, perhaps even faster in the beginning but it remains to be > seen how much time I’ll be able to spend on it. > > > A special thanks goes out to Ken Barber for helping out with all things > PuppetDB and coming up with a way to run PuppetDB on Travis so we can run > integration tests. Hunter, thank you for being so interested in this > project and pushing me to release it. > > > — > > Daniele Sluijters > > Nedap | Steppingstone >-- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscribe@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
Er, excuse me, I misspoke. As it is it relies on having python 2.7+, not 3 for the formatting. Still, the Redhat family, by default, is still on 2.6. On Tuesday, August 13, 2013 12:13:17 PM UTC-7, Ellison Marks wrote:> > So I finally got the time to get this going, and it is indeed, very cool. > One hitch though: I grabbed the source from github, and most things seemed > to work, but the overview page errored out. It seems that it was using > python 3 syntax for it''s format strings on line 86 and 88. > > 86: ''avg_resources_node'': "{:10.6f}".format(avg_resources_node[''Value'']), > 87: ''mean_failed_commands'': mean_failed_commands[''MeanRate''], > 88: ''mean_command_time'': "{:10.6f}".format(mean_command_time[''MeanRate'']), > > I added a 0 to the format specification and it worked fine > > 86: ''avg_resources_node'': "{0:10.6f}".format(avg_resources_node[''Value'']), > 87: ''mean_failed_commands'': mean_failed_commands[''MeanRate''], > 88: ''mean_command_time'': "{0:10.6f}".format(mean_command_time[''MeanRate'']), > > On Wednesday, August 7, 2013 5:47:23 AM UTC-7, Daniele Sluijters wrote: >> >> Hello everyone, >> >> >> It’s a lovely grey and rainy day here in the Dutch summer, as good a day >> as any to release a new little project. >> >> >> Its name is Puppetboard and has as aim to replace Puppet Dashboard’s >> reporting functionality. It does not nor will it include ENC features. It >> does all this without storing any data itself but querying PuppetDB instead. >> >> >> The whole thing is built in Python and relies on Flask and WTForms. The >> communication logic has been split of in its own library called pypuppetdb >> which makes heavy use of the requests library. The interface is powered by >> Twitter Bootstrap with the Flatly theme. >> >> >> Though I’ve pushed all the code out and made it public it’s all very >> young but it works fairly well. However, I’ve committed numerous >> barbarities in the code just to get things working and to figure out how to >> handle certain things. For the foreseeable time in the future I’ll be >> working on cleaning all this up and figuring out what I can do on my side >> and on PuppetDB’s side to make all this work a little better. Especially >> when it comes to dealing with big responses from PuppetDB... >> >> >> This is the first time I’m open sourcing a project so that too is all new >> to me. I’d welcome the feedback and if someone feels brave enough even >> commits on the projects but try and be gentle about it :-). I’ll also be at >> PuppetConf including the Developer Day so feel free to reach out to me in >> person. >> >> >> To the code: >> >> >> * puppetboard: https://github.com/nedap/puppetboard >> >> * pypuppetdb: https://github.com/nedap/pypuppetdb >> >> >> I realise that puppetboard doesn''t have a test suite right now but it >> will soon. In order to do so I have to restructure a few things about it >> first. The installation documentation will improve with it. >> >> >> Pypuppetdb''s test suite will be expanding the coming days once I''m done >> mocking the HTTP requests _query() makes and manage to get a decent and big >> enough set of test data to feed into PuppetDB. This will allow me to run >> integration tests and benchmark certain changes I have in mind. >> >> >> I’m hoping to be able to get a release out every month with improvements >> to both projects, perhaps even faster in the beginning but it remains to be >> seen how much time I’ll be able to spend on it. >> >> >> A special thanks goes out to Ken Barber for helping out with all things >> PuppetDB and coming up with a way to run PuppetDB on Travis so we can run >> integration tests. Hunter, thank you for being so interested in this >> project and pushing me to release it. >> >> >> — >> >> Daniele Sluijters >> >> Nedap | Steppingstone >> >-- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscribe@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
Hey, Good catch, I''ll get that fixed asap. -- Daniele Sluijters On Tuesday, 13 August 2013 22:36:35 UTC+2, Ellison Marks wrote:> > Er, excuse me, I misspoke. As it is it relies on having python 2.7+, not 3 > for the formatting. Still, the Redhat family, by default, is still on 2.6. > > On Tuesday, August 13, 2013 12:13:17 PM UTC-7, Ellison Marks wrote: >> >> So I finally got the time to get this going, and it is indeed, very cool. >> One hitch though: I grabbed the source from github, and most things seemed >> to work, but the overview page errored out. It seems that it was using >> python 3 syntax for it''s format strings on line 86 and 88. >> >> 86: ''avg_resources_node'': "{:10.6f}".format(avg_resources_node[''Value'']), >> 87: ''mean_failed_commands'': mean_failed_commands[''MeanRate''], >> 88: ''mean_command_time'': "{:10.6f}".format(mean_command_time[''MeanRate'']), >> >> I added a 0 to the format specification and it worked fine >> >> 86: ''avg_resources_node'': "{0:10.6f}".format(avg_resources_node[''Value'']), >> 87: ''mean_failed_commands'': mean_failed_commands[''MeanRate''], >> 88: ''mean_command_time'': >> "{0:10.6f}".format(mean_command_time[''MeanRate'']), >> >> On Wednesday, August 7, 2013 5:47:23 AM UTC-7, Daniele Sluijters wrote: >>> >>> Hello everyone, >>> >>> >>> It’s a lovely grey and rainy day here in the Dutch summer, as good a day >>> as any to release a new little project. >>> >>> >>> Its name is Puppetboard and has as aim to replace Puppet Dashboard’s >>> reporting functionality. It does not nor will it include ENC features. It >>> does all this without storing any data itself but querying PuppetDB instead. >>> >>> >>> The whole thing is built in Python and relies on Flask and WTForms. The >>> communication logic has been split of in its own library called pypuppetdb >>> which makes heavy use of the requests library. The interface is powered by >>> Twitter Bootstrap with the Flatly theme. >>> >>> >>> Though I’ve pushed all the code out and made it public it’s all very >>> young but it works fairly well. However, I’ve committed numerous >>> barbarities in the code just to get things working and to figure out how to >>> handle certain things. For the foreseeable time in the future I’ll be >>> working on cleaning all this up and figuring out what I can do on my side >>> and on PuppetDB’s side to make all this work a little better. Especially >>> when it comes to dealing with big responses from PuppetDB... >>> >>> >>> This is the first time I’m open sourcing a project so that too is all >>> new to me. I’d welcome the feedback and if someone feels brave enough even >>> commits on the projects but try and be gentle about it :-). I’ll also be at >>> PuppetConf including the Developer Day so feel free to reach out to me in >>> person. >>> >>> >>> To the code: >>> >>> >>> * puppetboard: https://github.com/nedap/puppetboard >>> >>> * pypuppetdb: https://github.com/nedap/pypuppetdb >>> >>> >>> I realise that puppetboard doesn''t have a test suite right now but it >>> will soon. In order to do so I have to restructure a few things about it >>> first. The installation documentation will improve with it. >>> >>> >>> Pypuppetdb''s test suite will be expanding the coming days once I''m done >>> mocking the HTTP requests _query() makes and manage to get a decent and big >>> enough set of test data to feed into PuppetDB. This will allow me to run >>> integration tests and benchmark certain changes I have in mind. >>> >>> >>> I’m hoping to be able to get a release out every month with improvements >>> to both projects, perhaps even faster in the beginning but it remains to be >>> seen how much time I’ll be able to spend on it. >>> >>> >>> A special thanks goes out to Ken Barber for helping out with all things >>> PuppetDB and coming up with a way to run PuppetDB on Travis so we can run >>> integration tests. Hunter, thank you for being so interested in this >>> project and pushing me to release it. >>> >>> >>> — >>> >>> Daniele Sluijters >>> >>> Nedap | Steppingstone >>> >>-- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscribe@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
Apparently Analagous Threads
- Actual diffs in puppetdb?
- The Foreman: Query facts from ENC PuppetDB?
- Puppet dashboard stuck pending jobs - MySql Error: Incorrect string value
- Warning: Local environment: "42A" doesn't match server specified node environment "production", switching agent to "production"
- Announce: PuppetDB 0.9.2 Available