{ "info": { "author": "Kapil Thangavelu", "author_email": "kapil.foss@gmail.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "Operating System :: OS Independent", "Programming Language :: Python" ], "description": "Automated Charm Testing\n-----------------------\n\nReusable components and utilities for ``juju``:http://juju.ubuntu.com charm testing.\n\nThere are several different use cases for testing from jenkins\nwaterfall views, to gating publishing to a repository based on test\nresults.\n\nIn order to accomodate different running scenarios, the tools are\npresented as a set of cli tools.\n\n\nAll the tools operate against the default juju environment.\n\nRunner\n------\n\nProvides the main entry point into charm testing. It will generate and\nrun a test and record the result and environment information::\n\n $ juju-graph-runner -r repository -w working_dir -s series -t testrecord.zip \n\n\nPlanner\n-------\n\nFor a given charm change calculate a series of test plans against a repository\nof all charms::\n\n $ juju-planner -r repository -s precise -d plans_dir \n\nSnapshot\n--------\n\nSnapshot and restore an environment, akin to a bzr shelve. Primary\npurpose it to be able to clear out services from an environment so the\nenvironment can be reused across tests.\n\nOperates on a service granularity, destroying and removing old services\nnot present in before the last snapshot in a pop::\n\n $ juju-snapshot snapshot -f pristine.json\n $ juju deploy --repository=examples local:mysql\n $ juju-snapshot restore -f pristine.json\n\n - Clean an environment for reuse, via deleting services.\n - Resets provider storage of any uploaded charms.\n - Removes any charm state from zookeeper.\n\n\nLoader\n------\n\nLoad a test plan's services and relations into an environment::\n\n $ juju-load -r repository mediawiki.plan\n\n\nWatch\n-----\n\nVerification for a service coming up correctly, waits for a given\nservice and all its relations to reach a completed steady state or any\nreach a failure state::\n\n $ juju-watch \n\nExit code 1 if the wait failed, stderr with more details. Exit 0 if succesful.\n\nTest Records\n------------\n\nCreate an archive of all the unit logs, zookeeper data, status, and\ntest runner logs::\n\n $ juju-record -f testrecord.zip\n\n\n\nCredits\n-------\n\n Kapil Thangavelu \n Mark Mimms \n\nChanges\n-------\n\n0.2.5\n\n - use sftp to fetch remote unit logs (juju-recorder is now provider independent)\n - update watcher to work with new status output\n\n0.2.4\n\n - standalone zk dump script, use an error handling wrapper snapshot teardown.\n\n0.2.3\n\n - fix for watcher max timeout cli argument\n\n0.2.2\n\n - fix for snapshot restore having multiple services reference a charm.\n\n0.2.1\n\n - packaging fix", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://launchpad.net/charmrunner", "keywords": null, "license": "GPL", "maintainer": null, "maintainer_email": null, "name": "charmrunner", "package_url": "https://pypi.org/project/charmrunner/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/charmrunner/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://launchpad.net/charmrunner" }, "release_url": "https://pypi.org/project/charmrunner/0.2.5/", "requires_dist": null, "requires_python": null, "summary": "Tools for automated distributed juju charm testing.", "version": "0.2.5" }, "last_serial": 787345, "releases": { "0.2.0": [ { "comment_text": "", "digests": { "md5": "91ee4f6e1ef521cac65ef8866082101c", "sha256": "47c82bd8ed929e082b8315da346e14ade890f066d43615897cbbe56da6792422" }, "downloads": -1, "filename": "charmrunner-0.2.0.tar.gz", "has_sig": false, "md5_digest": "91ee4f6e1ef521cac65ef8866082101c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11957, "upload_time": "2012-02-15T05:46:55", "url": "https://files.pythonhosted.org/packages/ae/9a/55d124a4e8b9c7578b7fa7650584b4ccc7821f91ba7e6f7f225b18706f82/charmrunner-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "18073d16f3703793babf0459c7c225e2", "sha256": "c657c53e1ebe8d07472eb6d992d3f0f356a74907964accfa2d87c5a9acc925d2" }, "downloads": -1, "filename": "charmrunner-0.2.1.tar.gz", "has_sig": false, "md5_digest": "18073d16f3703793babf0459c7c225e2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12949, "upload_time": "2012-02-23T03:43:08", "url": "https://files.pythonhosted.org/packages/a7/09/8f6db8ae5f2fdd42a1d964319662dad334630f4e01bfb60648772d5068c0/charmrunner-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "f377dd6fee6609166b0e6ba891f71624", "sha256": "4a940f337e88820239bda2ff97e44baa5309995207016d4ec82372804b6fb4c9" }, "downloads": -1, "filename": "charmrunner-0.2.2.tar.gz", "has_sig": false, "md5_digest": "f377dd6fee6609166b0e6ba891f71624", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12895, "upload_time": "2012-03-03T07:04:49", "url": "https://files.pythonhosted.org/packages/43/64/e78c90adb176761869a831cf01d0aeec821b8471c0226299c708d4a65c19/charmrunner-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "883db4b4a668c93e1f6368a6588ef63b", "sha256": "6bc208029f81127e3c5db708121261e65ef8a001c34d372f3896eaf64b98895b" }, "downloads": -1, "filename": "charmrunner-0.2.3.tar.gz", "has_sig": false, "md5_digest": "883db4b4a668c93e1f6368a6588ef63b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13118, "upload_time": "2012-03-06T17:40:40", "url": "https://files.pythonhosted.org/packages/32/d5/1fcd7f40972256878926713051abd2f1e05266df8ffa5e781bd928cf2859/charmrunner-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "27ad535dcd7633536292e397d9c868a9", "sha256": "fe7d98295a083a5d4b917fe1e0fa58d041028f3d4c8ad05318c8a0ff1412d6e3" }, "downloads": -1, "filename": "charmrunner-0.2.4.tar.gz", "has_sig": false, "md5_digest": "27ad535dcd7633536292e397d9c868a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13760, "upload_time": "2012-03-15T03:05:15", "url": "https://files.pythonhosted.org/packages/da/6e/ecca27583b7eddb5a3253d17a6127932f00e20af762217bd8562138e254e/charmrunner-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "d2eb479af3112861c8740efef1d72bb3", "sha256": "90a8ab5660e247d2485b963b1a07c204fc642e71e70d07fa3aa61c197d0c6a68" }, "downloads": -1, "filename": "charmrunner-0.2.5.tar.gz", "has_sig": false, "md5_digest": "d2eb479af3112861c8740efef1d72bb3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14381, "upload_time": "2012-04-15T22:35:57", "url": "https://files.pythonhosted.org/packages/38/8a/733988f06d95aa79442e879f53296ba7412eadf4c4acb8eceb5dac844c7f/charmrunner-0.2.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d2eb479af3112861c8740efef1d72bb3", "sha256": "90a8ab5660e247d2485b963b1a07c204fc642e71e70d07fa3aa61c197d0c6a68" }, "downloads": -1, "filename": "charmrunner-0.2.5.tar.gz", "has_sig": false, "md5_digest": "d2eb479af3112861c8740efef1d72bb3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14381, "upload_time": "2012-04-15T22:35:57", "url": "https://files.pythonhosted.org/packages/38/8a/733988f06d95aa79442e879f53296ba7412eadf4c4acb8eceb5dac844c7f/charmrunner-0.2.5.tar.gz" } ] }