puppetdb的每日运行摘要报告,使用nedap的pypuppetdb模块用python编写。
pypuppetdb_daily_report的Python项目详细描述
pypuppetdb_每日报告
puppetdb的每日运行摘要报告,使用nedap’s pypuppetdb模块用python编写。
有关当前版本输出的示例,请参见https://rawgithub.com/jantman/pypuppetdb-daily-report/master/example_output.html。
报告显示当前时间点的以下内容:
- “puppetversion”、“facterversion”和“lsbdistdescription”事实的当前值
对于运行间隔中的每一天,执行以下操作:
- 运行脚本时截取的仪表板指标(可能的话为平均值)
- 总运行次数,出现故障的运行次数
- 节点数:
- 没有成功的运行,50%以上的运行失败,任何失败的运行
- 24小时内成功运行少于40次
- 资源已更改的运行计数
- 资源已更改的节点数
- 前10个失败的资源,以及它们失败的节点数
- 前10个资源已更改,在中更改了多少节点和运行次数
- 在节点上至少45%的运行中更改了任何(最多10个)资源(摆动)
开发
指南
- 符合PEP8,但有一些例外(请参阅pytest.ini)
- 使用pytest的100%测试覆盖率(使用有效测试)(注意,直到 https://github.com/lemurheavy/coveralls-public/issues/31已修复,您 需要检查分支覆盖率的cov输出,工作服不能 值得信赖)。
测试
- 测试非常简单:
- pip install tox
- tox
- 如果您想查看代码覆盖率:tox -e cov
- 这将生成两个覆盖率报告-STDOUT上的摘要和htmlcov/目录中的完整报告
- 如果要将其他参数传递给pytest,请将它们添加到tox命令行的“–”后面。即,对于py27测试上的详细pytext输出:tox -e py27 ---v
发布清单
- 为释放打开一个问题;为那个问题切断一个分支。
- 确认所有主要更改都有changes.rst条目。
- 确保Travis测试在所有环境中都通过。
- 确保测试覆盖率不低于上一个版本(理想情况下为100%)。
- 在@init.py中增加版本号,将version和release date添加到changes.rst,然后推送到github。
- 确认readme.rst在github上正确呈现。
- 将包上载到testpypi,确认readme.rst呈现正确。
- 确保~/.pypirc文件正确
- python setup.py register -rhttps://testpypi.python.org/pypi
- python setup.py sdist upload -rhttps://testpypi.python.org/pypi
- 检查自述文件是否呈现在https://testpypi.python.org/pypi/pypuppetdb-daily-report
- 创建一个请求以将发布合并到主版本中成功构建travis后,合并它。
- 在git中标记发布,将tag推送到github:
- 标记释放。现在,消息很简单:git tag -a vX.Y.Z -m 'X.Y.Z released YYYY-MM-DD'
- 将标记推送到GitHub:git push origin vX.Y.Z
- 将包上载到实时pypi:
- python setup.py sdist upload
- 确保版本中修复的所有GH问题都已关闭。