Announcing the Puppet Catalog Diff Viewer

130 views
Skip to first unread message

Raphaël Pinson

unread,
Jun 2, 2015, 9:45:49 AM6/2/15
to puppe...@googlegroups.com

Hi all,


I recently noticed that Zack Smith forked and has been maintaining R.I.Pienaars' puppet-catalog-diff. This tool can now produce JSON reports, which contain lots of interesting information, but are not very readable for normal human beings.

I've been wanting to use the tool for Puppet environment preflight, and so I made a web interface to display and analyse those JSON reports.

The project can be found (and forked) at https://github.com/camptocamp/puppet-catalog-diff-viewer and a live demo is available at http://camptocamp.github.io/puppet-catalog-diff-viewer/. The code is pure Javascript (using Bootstrap and d3js) and doesn't store any data whatsoever, so feel free to test your own reports on the interface.

The tool also allows to ack diff information (all data are loss when you reload the report though) to help filter out the information.

Here is a (anonymized) screenshot of the interface





Feedback is obviously welcome, as well as PRs!



Cheers,

Raphaël


Clayton O'Neill

unread,
Jun 2, 2015, 10:38:31 AM6/2/15
to puppe...@googlegroups.com


On Tuesday, June 2, 2015 at 9:45:49 AM UTC-4, Raphaël Pinson wrote:

I recently noticed that Zack Smith forked and has been maintaining R.I.Pienaars' puppet-catalog-diff. This tool can now produce JSON reports, which contain lots of interesting information, but are not very readable for normal human beings.

I've been wanting to use the tool for Puppet environment preflight, and so I made a web interface to display and analyse those JSON reports.

The project can be found (and forked) at https://github.com/camptocamp/puppet-catalog-diff-viewer and a live demo is available at http://camptocamp.github.io/puppet-catalog-diff-viewer/. The code is pure Javascript (using Bootstrap and d3js) and doesn't store any data whatsoever, so feel free to test your own reports on the interface.

The tool also allows to ack diff information (all data are loss when you reload the report though) to help filter out the information.

I think this is a fantastic idea.  We use catalog diffs extensively as part of our pre-merge testing.  


Unfortunately, I can't seem to get it to work with the demo web page.  What version of the catalog diff tool did you use this with?  I tried using the latest (1.5.0), but it appears to be broken.  I worked out that problem and should have a PR off later today, but when I load the JSON diff into your demo web page, I just get  " Failed to parse report: missing fields"  Perhaps the format of the JSON file has changed?

Raphaël Pinson

unread,
Jun 2, 2015, 11:09:27 AM6/2/15
to puppe...@googlegroups.com
I haven't changed the format of the JSON file in my patches to puppet-catalog-diff, so it should work fine.

Do you mind to send me the JSON file you have so I can check it out?

Felix Frank

unread,
Jun 2, 2015, 11:51:10 AM6/2/15
to puppe...@googlegroups.com
On 06/02/2015 04:38 PM, Clayton O'Neill wrote:
> I recently noticed that Zack Smith forked and has been maintaining
> R.I.Pienaars' puppet-catalog-diff. This tool can now produce JSON
> reports, which contain lots of interesting information, but are not
> very readable for normal human beings.
>
> I've been wanting to use the tool for Puppet environment preflight,
> and so I made a web interface to display and analyse those JSON reports.
>
> The project can be found (and forked)
> at https://github.com/camptocamp/puppet-catalog-diff-viewer
> <https://github.com/camptocamp/puppet-catalog-diff-viewer> and a
> live demo is available
> at http://camptocamp.github.io/puppet-catalog-diff-viewer/
> <http://camptocamp.github.io/puppet-catalog-diff-viewer/>. The code
> is pure Javascript (using Bootstrap and d3js) and doesn't store any
> data whatsoever, so feel free to test your own reports on the interface.
>
> The tool also allows to ack diff information (all data are loss when
> you reload the report though) to help filter out the information.
>
>
> I think this is a fantastic idea. We use catalog diffs extensively as
> part of our pre-merge testing.

Agree, fantastic approach.

Any chance of merging this capability into Puppet Explorer and/or
puppet-board?

Cheers,
Felix

Raphaël Pinson

unread,
Jun 2, 2015, 11:56:56 AM6/2/15
to puppe...@googlegroups.com
That could be interesting indeed.

However, generating these reports can take quite a while. I generate them for my whole fleet, only filtering on the environment, and it typically takes about 1 hour to generate a report, so it could be hard to integrate the generation into a web interface.


--
You received this message because you are subscribed to the Google Groups "Puppet Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to puppet-dev+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-dev/556DD0E9.80907%40alumni.tu-berlin.de.
For more options, visit https://groups.google.com/d/optout.



--
Raphaël Pinson
Infrastructure Developer & Training Leader
+33 458 482 013

Camptocamp France
Savoie Technolac
BP 352
48, avenue du Lac du Bourget
73372 Le Bourget du Lac, Cedex
www.camptocamp.com
Reply all
Reply to author
Forward
0 new messages