{ "info": { "author": "Lance Le Roux", "author_email": "wirescrossed@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "junos-multi-command\n===================\njunos-multi-command enables you to run a console command simultaneously on many network devices\nrunning the Juniper Junos operating system. The ability to group network devices in the config.yaml file\ngives the operator the ability to pick and choose the type of device or logical grouping for the \nselected command.\n\nWhat is really nifty is that it is involked at the command prompt giving the operator the ability to execute\ncommands on many routers in seconds from a terminal window. \n\nFunctions\n=========\n* Run a single command on a few or even hundreds of network devices with results returned.\n* Uses a config.yaml file to define your hosts in zones allowing you to group like network devices.\n* Very rapid execution of commands on multiple routers.\n* Secure transfer of commands and results via Netconf (SSH)\n\nInstallation\n============\nDownload from github and install dependencies, or type \"easy_install junos-multi-command\" and have\nthe dependencies and python script installed automatically.\n\nPlatform\n========\nShould work on any platform, UNIX, Windows, etc\n\nDependencies\n============\n* ncclient - Netconf interface to Juniper devices. \n* PyYaml - YAML parsers for python.\n* getpass - used to obsecure password prompt.\n\n\nConfiguration\n=============\nEnsure you have a proper config.yaml file in your current directory as the script looks for it \nrealitive to your current directory.\n\nConfiguration file is in YAML format and is divided into zones, below is an example.\n\nSample config.yaml\n[root@localhost junos-multi-command]# more config.yaml \nfirewalls:\n - 172.16.50.200\n - 172.16.50.201\n\nrouters:\n - 172.16.50.200\n\nUsage\n=====\n\t[root@localhost junos-multi-command]# ./junos-multi-command.py -h\n\tusage: junos-multi-command.py [-h] -z ZONE -c COMMAND [-o OUTPUT]\n\t\n\tRun a command on many Juniper Junos OS devices via Netconf.\n\t\n\toptional arguments:\n\t -h, --help show this help message and exit\n\t -z ZONE, --zone ZONE category of network devices to run command against.\n\t -c COMMAND, --command COMMAND\n\t command in quotes.\n\t -o OUTPUT, --output OUTPUT\n\t file to output results.\n\ni.e. junos-multi-command.py --zone firewalls --command \"show chassis hardware\"\n\nExample of Command\n==================\n\t[root@localhost junos-multi-command]# ./junos-multi-command.py -z firewalls -c \"show chassis hardware\"\n\t\n\tUsing YAML Key: firewalls\n\tExecuting Command: show chassis hardware\n\t\n\tEnter your network username: root\n\tPassword: \n\t\n\t\n\t\n\t>>>>>>>>>> 172.16.50.200 Start <<<<<<<<<\n\tHardware inventory:\n\tItem Version Part number Serial number Description\n\tChassis 9c28b76d076d JUNOSV-FIREFLY\n\tMidplane \n\tSystem IO \n\tRouting Engine JUNOSV-FIREFLY RE\n\tFPC 0 Virtual FPC\n\t PIC 0 Virtual GE\n\tPower Supply 0 \n\t>>>>>>>>>> 172.16.50.200 End <<<<<<<<<\n\t\n\t>>>>>>>>>> 172.16.50.201 Start <<<<<<<<<\n\tHardware inventory:\n\tItem Version Part number Serial number Description\n\tChassis 2bdc25efad71 JUNOSV-FIREFLY\n\tMidplane \n\tSystem IO \n\tRouting Engine JUNOSV-FIREFLY RE\n\tFPC 0 Virtual FPC\n\t PIC 0 Virtual GE\n\tPower Supply 0 \n\t>>>>>>>>>> 172.16.50.201 End <<<<<<<<<", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://pypi.python.org/pypi/junos-multi-command/", "keywords": null, "license": "LICENSE.txt", "maintainer": null, "maintainer_email": null, "name": "junos-multi-command", "package_url": "https://pypi.org/project/junos-multi-command/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/junos-multi-command/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://pypi.python.org/pypi/junos-multi-command/" }, "release_url": "https://pypi.org/project/junos-multi-command/1.0/", "requires_dist": null, "requires_python": null, "summary": "Run commands against multiple Juniper Junos OS devices", "version": "1.0" }, "last_serial": 863063, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "9531618613a3a91742607352e5b3cc52", "sha256": "3a5d5db9a133968d39edeb2302afc540b0a64b4261d59527e7087a5d2481e26e" }, "downloads": -1, "filename": "junos-multi-command-0.1.tar.gz", "has_sig": false, "md5_digest": "9531618613a3a91742607352e5b3cc52", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1716, "upload_time": "2013-09-10T22:42:47", "url": "https://files.pythonhosted.org/packages/b2/32/bb67d39610031f13e11261a3d35d823fe6092a8d7d7fef17ee4318401b87/junos-multi-command-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "223d1be6e8aee27583846bb1e72eab6f", "sha256": "b8cae23d2c8b51be68a1fa94e86f5c93bf6c64ab3169b001505604eec286bc24" }, "downloads": -1, "filename": "junos-multi-command-0.2.tar.gz", "has_sig": false, "md5_digest": "223d1be6e8aee27583846bb1e72eab6f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1714, "upload_time": "2013-09-10T22:47:11", "url": "https://files.pythonhosted.org/packages/14/82/349f7da0c386277a9975a83978d89b05feacf9a0f3df699e62f497bb0928/junos-multi-command-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "5a17bafea08293c3b72f080311051a14", "sha256": "82e4cbcbdeeda11236667193bf11cfe373e2e9a417de01d6002f0d14f5949895" }, "downloads": -1, "filename": "junos-multi-command-0.3.tar.gz", "has_sig": false, "md5_digest": "5a17bafea08293c3b72f080311051a14", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1866, "upload_time": "2013-09-10T23:17:14", "url": "https://files.pythonhosted.org/packages/c8/74/ba045b7545265ac2cf65205c7416eb096d7ff00f3774e76f7a7e03e7f2e5/junos-multi-command-0.3.tar.gz" } ], "1.0": [ { "comment_text": "", "digests": { "md5": "c8d7e3e5b04a5731ed5b1b1c4c4df547", "sha256": "31fa609edf48bfc195a476d3511a1af9b2b035aa7978a8cbf8cbe42a5b9757a6" }, "downloads": -1, "filename": "junos-multi-command-1.0.tar.gz", "has_sig": false, "md5_digest": "c8d7e3e5b04a5731ed5b1b1c4c4df547", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4900, "upload_time": "2013-09-11T19:50:24", "url": "https://files.pythonhosted.org/packages/bf/05/f43150b2d8c6289047649cd2cf1c07bf216c4012f4b9c30122d7de194a53/junos-multi-command-1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c8d7e3e5b04a5731ed5b1b1c4c4df547", "sha256": "31fa609edf48bfc195a476d3511a1af9b2b035aa7978a8cbf8cbe42a5b9757a6" }, "downloads": -1, "filename": "junos-multi-command-1.0.tar.gz", "has_sig": false, "md5_digest": "c8d7e3e5b04a5731ed5b1b1c4c4df547", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4900, "upload_time": "2013-09-11T19:50:24", "url": "https://files.pythonhosted.org/packages/bf/05/f43150b2d8c6289047649cd2cf1c07bf216c4012f4b9c30122d7de194a53/junos-multi-command-1.0.tar.gz" } ] }