Skip to main content

pypuppetdb_daily_report

https://pypip.in/v/pypuppetdb_daily_report/badge.png https://pypip.in/d/pypuppetdb_daily_report/badge.png travis-ci for master branch coverage report for master branch

A daily run summary report for PuppetDB, written in Python using nedap’s pypuppetdb module.

For an example of the current version’s output, see https://rawgithub.com/jantman/pypuppetdb-daily-report/master/example_output.html.

The report displays the following for the current point-in-time:

  • the current values of ‘puppetversion’, ‘facterversion’ and ‘lsbdistdescription’ facts

And the following for each day in the run interval:

  • dashboard metrics (averages where possible) snapshotted at the time the script was run

  • total number of runs, number of runs with failures

  • number of nodes with:

    • no successful runs, 50+% failed runs, any failed runs

    • less than 40 successful runs in 24 hours

    • count of runs with changed resources

    • count of nodes with changed resources

  • top 10 failing resources, along with count of nodes they’re failing on

  • top 10 resources changed, how many nodes and how many runs they were changed in

  • any (up to 10) resources changed in at least 45% of runs on a node (flapping)

Development

Guidelines

Testing

Testing is done via pytest, driven by tox.

  • testing is as simple as:

    • pip install tox

    • tox

  • If you want to see code coverage: tox -e cov

    • this produces two coverage reports - a summary on STDOUT and a full report in the htmlcov/ directory

  • If you want to pass additional arguments to pytest, add them to the tox command line after “–”. i.e., for verbose pytext output on py27 tests: tox -e py27 -- -v

Release Checklist

  1. Open an issue for the release; cut a branch off master for that issue.

  2. Confirm that there are CHANGES.rst entries for all major changes.

  3. Ensure that Travis tests passing in all environments.

  4. Ensure that test coverage is no less than the last release (ideally, 100%).

  5. Increment the version number in __init__.py and add version and release date to CHANGES.rst, then push to GitHub.

  6. Confirm that README.rst renders correctly on GitHub.

  7. Upload package to testpypi, confirm that README.rst renders correctly.

  8. Create a pull request for the release to be merge into master. Upon successful Travis build, merge it.

  9. Tag the release in Git, push tag to GitHub:

    • tag the release. for now the message is quite simple: git tag -a vX.Y.Z -m 'X.Y.Z released YYYY-MM-DD'

    • push the tag to GitHub: git push origin vX.Y.Z

  1. Upload package to live pypi:

    • python setup.py sdist upload

  1. make sure any GH issues fixed in the release were closed.

Metadata

Release files for pypuppetdb_daily_report 0.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pypuppetdb_daily_report 0.0.2
File Size Uploaded
pypuppetdb_daily_report-0.0.2.tar.gz 25.4 kB Details

Release files / pypuppetdb_daily_report-0.0.2.tar.gz

Download URL pypuppetdb_daily_report-0.0.2.tar.gz
Size 25.4 kB
Tags Source
SHA-256 checksum
How to use checksums
16557bb59c3cd09180f42f169e0f6a33d2d974624212e037aa96b38addb6cc7f
BLAKE2b-256 checksum
How to use checksums
4a327245febcac55a3cd51c0829b1ce41feef713f726ec73adbeea3408540b67
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.0.2 This release

1 release file

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page