自动化分布式jujuju魅力测试工具。
charmrunner的Python项目详细描述
自动魅力测试
用于juju:http://juju.ubuntu.com魅力测试的可重用组件和实用程序。
Jenkins提供了几种不同的测试用例 瀑布视图,根据测试限制发布到存储库 结果。
为了适应不同的运行场景,工具是 显示为一组cli工具。
所有工具都在默认的juju环境下运行。
流道
提供魅力测试的主要切入点。它将产生 运行测试并记录结果和环境信息:
$ juju-graph-runner -r repository -w working_dir -s series -t testrecord.zip <charm_name>
计划者
对于给定的魅力变化,根据存储库计算一系列测试计划 所有的魅力:
$ juju-planner -r repository -s precise -d plans_dir <charm_name>
快照
快照并恢复环境,类似于bzr搁置。初级的 目的是能够清除环境中的服务,以便 环境可以跨测试重用。
在服务粒度上操作,销毁和删除旧服务 在弹出窗口中的最后一个快照之前不存在:
$ juju-snapshot snapshot -f pristine.json $ juju deploy --repository=examples local:mysql $ juju-snapshot restore -f pristine.json - Clean an environment for reuse, via deleting services. - Resets provider storage of any uploaded charms. - Removes any charm state from zookeeper.
装载机
将测试计划的服务和关系加载到环境中:
$ juju-load -r repository mediawiki.plan
观看
验证服务是否正确启动,等待给定的 达到完全稳定状态或任何 达到故障状态:
$ juju-watch <service_name>
退出代码1,如果等待失败,STDER将有更多的细节。如果成功,退出0。
测试记录
创建所有单元日志、ZooKeeper数据、状态和 测试运行程序日志:
$ juju-record -f testrecord.zip
学分
Kapil Thangavelu <author> Mark Mimms <contributor>
更改
0.2.5
- use sftp to fetch remote unit logs (juju-recorder is now provider independent)
- update watcher to work with new status output
0.2.4
- standalone zk dump script, use an error handling wrapper snapshot teardown.
0.2.3
- fix for watcher max timeout cli argument
0.2.2
- fix for snapshot restore having multiple services reference a charm.
0.2.1
- packaging fix