{ "info": { "author": "Aaron Edwards", "author_email": "cloudgenix_toolkit_spider@ebob9.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3" ], "description": "CloudGenix Toolkit Spider\n----------\n\n#### Synopsis\nUtility to run commands/tests across large number of CloudGenix Toolkit instances.\n\n#### Features\nEarly release -\n* Create a \"Plan\" using REGEX patterns of site/element data, and interface names for \"connecting to\" and \"testing\".\n* Run a \"test\" (JSON file, see included `azurelatency.json` for example) against previously created \"Plan\".\n\n#### Requirements\n* Active CloudGenix Account\n* Python >= 2.7 or >=3.6\n* Python modules:\n * CloudGenix Python SDK >= 5.1.1b1 - \n * ProgresBar2 >= 3.34.3 - \n * Tabulate >= 0.8.3 - \n * Netmiko (`develop` branch as of 06/07/2019 for CloudGenix ION Support.)\n\n\n#### License\nMIT\n\n#### Installation:\n - **PIP:** `pip install cloudgenix-toolkit-spider`. After install, `spider_build_plan` or `spider_run_plan`.\n - **Github:** Download files to a local directory, manually run `spider_build_plan.py` or `spider_run_plan.py` scripts. \n\n### Examples of usage:\n 1. Create a test plan to connect to controller interfaces, and test out of 'Internet 1', 'Internet 2', '1' and '2' interfaces.\n ```bash\n edwards-mbp-pro:toolkit_spider aaron$ export AUTH_TOKEN=`cat auth_token`\n edwards-mbp-pro:toolkit_spider aaron$ ./spider_build_plan.py --connect-interfaces \"Controller 1,Controller\" --test-interfaces \"Internet 1,Internet 2,1,2\" --output test_plan.csv\n Building Toolkit Spider connect plan..\n 100%|######################################################################################################################################################################|Time: 0:00:01\n Testing Toolkit Spider connect interfaces..\n 100%|######################################################################################################################################################################|Time: 0:02:00\n edwards-mbp-pro:toolkit_spider aaron$\n ```\n 2. Execute the previous created test plan to do an Azure DC latency test.\n ```bash\n edwards-mbp-pro:toolkit_spider aaron$ ./spider_run_plan.py --plan ./test_plan.csv --test ./azurelatency.json --output test_results.csv -U toolkituser\n Password: \n Running Toolkit Spider Plan..\n 100%|######################################################################################################################################################################|Time: 0:01:00\n edwards-mbp-pro:toolkit_spider aaron$ \n ```\n\n### Caveats and known issues:\n - Need latest `develop` branch of Netmiko, until release with CloudGenix ION support.\n - Only one test supported today: tcping\n - TODO need to add multiprocessing, script currently runs all tests in serial.\n - Script is early access, needs lots of cleanup.\n \n#### Version\n| Version | Build | Changes |\n| ------- | ----- | ------- |\n| **1.0.0** | **b1** | Initial Release. |\n\n#### Command line help\n```bash\nedwards-mbp-pro:toolkit_spider aaron$ ./spider_build_plan.py -h\nusage: spider_build_plan.py [-h] [--site-key SITE_KEY]\n [--element-key ELEMENT_KEY]\n [--site-pattern SITE_PATTERN]\n [--element-pattern ELEMENT_PATTERN] --output\n OUTPUT --connect-interfaces CONNECT_INTERFACES\n --test-interfaces TEST_INTERFACES\n [--connect-timeout CONNECT_TIMEOUT]\n [--controller CONTROLLER] [--email EMAIL]\n [--password PASSWORD] [--insecure] [--noregion]\n [--sdkdebug SDKDEBUG]\n\nCloudGenix Toolkit Spider Build Plan (v1.0.0)\n\noptional arguments:\n -h, --help show this help message and exit\n\nBuild:\n Create a map/plan for the Toolkit Spider action.\n\n --site-key SITE_KEY, -SK SITE_KEY\n Key in Site object to use for inclusion. Default\n 'name'\n --element-key ELEMENT_KEY, -EK ELEMENT_KEY\n Key in Element object to use for inclusion. Default\n 'name'\n --site-pattern SITE_PATTERN, -SP SITE_PATTERN\n REGEX Pattern to match Site Object with for inclusion.\n Default '.*'\n --element-pattern ELEMENT_PATTERN, -EP ELEMENT_PATTERN\n REGEX Pattern to match Element Object with for\n inclusion. Default '.*'\n --output OUTPUT Output to filename.\n --connect-interfaces CONNECT_INTERFACES, -CI CONNECT_INTERFACES\n Comma separated list of interface to use as options to\n connect via SSH to run the test, if available.\n --test-interfaces TEST_INTERFACES, -TI TEST_INTERFACES\n Comma separated list of interface to run the test\n FROM, if available\n --connect-timeout CONNECT_TIMEOUT, -CT CONNECT_TIMEOUT\n Timeout for connect interface reachability test\n (seconds, default 5)\n\nAPI:\n These options change how this program connects to the API.\n\n --controller CONTROLLER, -C CONTROLLER\n Controller URI, ex.\n https://api.elcapitan.cloudgenix.com\n\nLogin:\n These options allow skipping of interactive login\n\n --email EMAIL, -E EMAIL\n Use this email as User Name instead of\n cloudgenix_settings.py or prompting\n --password PASSWORD, -PW PASSWORD\n Use this Password instead of cloudgenix_settings.py or\n prompting\n --insecure, -I Do not verify SSL certificate\n --noregion, -NR Ignore Region-based redirection.\n\nDebug:\n These options enable debugging output\n\n --sdkdebug SDKDEBUG, -D SDKDEBUG\n Enable SDK Debug output, levels 0-2\n\nedwards-mbp-pro:toolkit_spider aaron$ ./spider_run_plan.py -h\nusage: spider_run_plan.py [-h] --plan PLAN --test TEST --output OUTPUT\n [--connect-timeout CONNECT_TIMEOUT] --toolkit-user\n TOOLKIT_USER [--toolkit-password TOOLKIT_PASSWORD]\n\nCloudGenix Toolkit Spider Run Plan (v1.0.0)\n\noptional arguments:\n -h, --help show this help message and exit\n\nRun:\n Execute a previously built Toolkit Spider plan.\n\n --plan PLAN, -P PLAN Plan (CSV) to run\n --test TEST, -T TEST Test (json) to load and run on Plan\n --output OUTPUT, -O OUTPUT\n Output to filename.\n --connect-timeout CONNECT_TIMEOUT, -CT CONNECT_TIMEOUT\n Timeout for connect to run tests (seconds, default 5)\n --toolkit-user TOOLKIT_USER, -U TOOLKIT_USER\n Toolkit username\n --toolkit-password TOOLKIT_PASSWORD, -PW TOOLKIT_PASSWORD\n Toolkit password (will prompt if not given)\nedwards-mbp-pro:toolkit_spider aaron$ \n```", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ebob9/cloudgenix_toolkit_spider", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "cloudgenix-toolkit-spider", "package_url": "https://pypi.org/project/cloudgenix-toolkit-spider/", "platform": "", "project_url": "https://pypi.org/project/cloudgenix-toolkit-spider/", "project_urls": { "Homepage": "https://github.com/ebob9/cloudgenix_toolkit_spider" }, "release_url": "https://pypi.org/project/cloudgenix-toolkit-spider/1.0.0/", "requires_dist": null, "requires_python": "", "summary": "Utility to run commands/tests across large number of CloudGenix Toolkit instances.", "version": "1.0.0" }, "last_serial": 5392639, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "8c6ab1da3edbe3883e8da74e74f2b3e9", "sha256": "7c0e78a25420e6703b0ad769bc105a55e09c0c5de9b5f7e25914ac15598d6647" }, "downloads": -1, "filename": "cloudgenix_toolkit_spider-1.0.0.tar.gz", "has_sig": false, "md5_digest": "8c6ab1da3edbe3883e8da74e74f2b3e9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13211, "upload_time": "2019-06-12T19:17:49", "url": "https://files.pythonhosted.org/packages/c6/76/41d521efc6872260141872714da5da95ca8c131ce0a6374ad4c2b4435ba0/cloudgenix_toolkit_spider-1.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8c6ab1da3edbe3883e8da74e74f2b3e9", "sha256": "7c0e78a25420e6703b0ad769bc105a55e09c0c5de9b5f7e25914ac15598d6647" }, "downloads": -1, "filename": "cloudgenix_toolkit_spider-1.0.0.tar.gz", "has_sig": false, "md5_digest": "8c6ab1da3edbe3883e8da74e74f2b3e9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13211, "upload_time": "2019-06-12T19:17:49", "url": "https://files.pythonhosted.org/packages/c6/76/41d521efc6872260141872714da5da95ca8c131ce0a6374ad4c2b4435ba0/cloudgenix_toolkit_spider-1.0.0.tar.gz" } ] }