{ "info": { "author": "Ben Maddison", "author_email": "benm@workonline.africa", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Other Environment", "Intended Audience :: Telecommunications Industry", "License :: OSI Approved :: MIT License", "Operating System :: POSIX :: Other", "Programming Language :: Python :: 2.7", "Topic :: Internet", "Topic :: System :: Networking" ], "description": "[![PyPI](https://img.shields.io/pypi/v/prefix-list-agent.svg)](https://pypi.python.org/pypi/prefix-list-agent)\n[![Build Status](https://travis-ci.com/wolcomm/eos-prefix-list-agent.svg?branch=master)](https://travis-ci.com/wolcomm/eos-prefix-list-agent)\n[![codecov](https://codecov.io/gh/wolcomm/eos-prefix-list-agent/branch/master/graph/badge.svg)](https://codecov.io/gh/wolcomm/eos-prefix-list-agent)\n\n# Prefix-list Agent for Arista EOS\n\nPeriodically retrieve data from the IRR and build prefix-list objects on EOS.\n\n## Overview\n\nThe `PrefixListAgent` is an EOS SDK based agent that runs under `ProcMrg` on an\nArista EOS based device or VM.\n\nThe agent maintains up-to-date prefix-list policy objects for use in EOS\nrouting policy configurations, based on data in the IRR.\n\nThe agent will periodically check the running configuration of the device to\ngather a list of prefix-lists that it is responsible for maintaining. It will\nthen retrieve the required data from the IRR via an RPTK web service, and\nupdate the prefix-lists without calling the EOS config parser.\n\n## Installation\n\n### From RPM (recommended)\n\nInstall the agent as an EOS extension:\n```\nar#copy https://github.com/wolcomm/eos-prefix-list-agent/releases/download/0.1.0a8/prefix_list_agent-0.1.0a8-1.noarch.rpm extension:\nar#extension prefix_list_agent-0.1.0a8-1.noarch.rpm\nar#sh extensions\nName Version/Release Status Extension\n----------------------------------------- ------------------ --------- ---------\nprefix_list_agent-0.1.0a8-1.noarch.rpm 0.1.0a8/1 A, I 1\n\n\nA: available | NA: not available | I: installed | NI: not installed | F: forced\n```\n\nPersist the extension to be installed on boot:\n```\nar#copy installed-extensions boot-extensions\nCopy completed successfully.\nar#sh boot-extensions\nprefix_list_agent-0.1.0a8-1.noarch.rpm\n```\n\n### Using `pip`\n\nThis method is not recommended unless you know what you are doing.\nWithout additional configuration, the installation will not persist across\nreloads.\n\nDrop to the shell:\n```\nar#bash\n```\n\nInstall from PyPI:\n```bash\n$ sudo pip install prefix-list-agent\n```\n\n## Agent Configuration\n\n### Daemon\n\nConfigure the agent as an EOS \"daemon\":\n```\nar#conf t\nar(config)#daemon PrefixListAgent\nar(config-daemon-PrefixListAgent)#exec /usr/bin/PrefixListAgent\n```\n\n### Tracing\n\nEnable tracing using the EOS agent tracing infrastructure, e.g.:\n```\nar(config)#trace PrefixListAgent-PrefixListAgent setting PrefixList*/0-6\n```\n\n### Set Configuration Options\n\nSet configuration options using the command:\n```\nar(config-daemon-PrefixListAgent)#option value \n```\n\nAvailable configuration options are:\n* `rptk_endpoint` (default: `None`, *required*):\n\n The RPTK web service endpoint to connect to when retrieving prefix-list data.\n\n* `source_dir` (default: `/tmp/prefix-lists`):\n\n The local directory to write prefix-list files to.\n\n* `refresh_interval` (default: `3600`):\n\n The interval between prefix-list updates.\n\n### Start the Agent\n\n```\nar(config-daemon-PrefixListAgent)#no shutdown\n```\n\n## Prefix-List Configuration\n\nThe PrefixListAgent will check the running configuration for source-based\nprefix-lists matching the form:\n```\nip[v6] prefix-list ${irr_object} source file:${source_dir}/${policy}/${file_name}\n```\nWhere:\n\n* `${irr_object}`: The IRR object (`aut-num` or `as-set`) to build the\n prefix-list from.\n* `${source_dir}`: The configured `source_dir`, as above.\n* `${policy}`: The resolution policy to use when resolving the IRR object to a\n prefix-list. Must be a valid policy available on the RPTK web service. You can\n check the available policies with:\n```bash\n$ curl -q ${rptk_endpoint}/policies | jq\n```\n* `${file_name}`: The file to write the resulting prefix-list data to. This\n name should be unique per resolution policy.\n\nAfter the next update, you should be able to see the entries with:\n```\nar#show ip[v6] prefix-list ${irr_object} detail\n```\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://github.com/wolcomm/eos-prefix-list-agent/0.1.0", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/wolcomm/eos-prefix-list-agent", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "prefix-list-agent", "package_url": "https://pypi.org/project/prefix-list-agent/", "platform": "", "project_url": "https://pypi.org/project/prefix-list-agent/", "project_urls": { "Download": "https://github.com/wolcomm/eos-prefix-list-agent/0.1.0", "Homepage": "https://github.com/wolcomm/eos-prefix-list-agent" }, "release_url": "https://pypi.org/project/prefix-list-agent/0.1.0/", "requires_dist": null, "requires_python": "", "summary": "An EOS agent to dynamically update IRR based prefix-lists", "version": "0.1.0" }, "last_serial": 5113930, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "1337280607a044e85f31b398b958ea6b", "sha256": "c2f2875ae7bd21e97fea8171fc8446b6b8d10e7d100f4eef9086cdaee34a569b" }, "downloads": -1, "filename": "prefix_list_agent-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1337280607a044e85f31b398b958ea6b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15440, "upload_time": "2019-04-08T14:21:52", "url": "https://files.pythonhosted.org/packages/d6/32/ddbb9abeb79252730685fc058d9cd433acf5f55fc6ac3847e78ce9771652/prefix_list_agent-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e83c4a37b989edcc6ce5c2df1c74c7c2", "sha256": "375725f32718c60297ea129b83b7e0be089b51c67c51da6fce5ea51f2d3bd58d" }, "downloads": -1, "filename": "prefix_list_agent-0.1.0.tar.gz", "has_sig": false, "md5_digest": "e83c4a37b989edcc6ce5c2df1c74c7c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12890, "upload_time": "2019-04-08T14:21:54", "url": "https://files.pythonhosted.org/packages/f6/8d/3e23f595e5152475df356d8939aa9f8fff971bea84ed898829e6afe5de03/prefix_list_agent-0.1.0.tar.gz" } ], "0.1.0a2": [ { "comment_text": "", "digests": { "md5": "cde0a57620785d309266c5a3a35057a9", "sha256": "d92e0069c16d1c526e0f54b5557176bc65a9e5d9a9acc3a20f52c8f756af18ef" }, "downloads": -1, "filename": "prefix_list_agent-0.1.0a2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cde0a57620785d309266c5a3a35057a9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14282, "upload_time": "2019-03-28T16:34:02", "url": "https://files.pythonhosted.org/packages/c3/7e/da22cb1b6536bd61e611d57cfea2332c8942fa0423029b44335697e10089/prefix_list_agent-0.1.0a2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "67be4aeb6b9ad8805f8c9cdc367d0b2a", "sha256": "c9e23d5c175b71332bd53e4588534b297fe802f12e6ab889e87365058c064687" }, "downloads": -1, "filename": "prefix_list_agent-0.1.0a2.tar.gz", "has_sig": false, "md5_digest": "67be4aeb6b9ad8805f8c9cdc367d0b2a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10452, "upload_time": "2019-03-28T16:34:05", "url": "https://files.pythonhosted.org/packages/34/80/adc63a6514ecd4a8448cec77aaecdc412ca9c4cb37377f1b501d8907a1f7/prefix_list_agent-0.1.0a2.tar.gz" } ], "0.1.0a3": [ { "comment_text": "", "digests": { "md5": "41e93f92803693b60d4373dbbef15df7", "sha256": "35cb2a5c6565e4aaa819af6dd5090a5e33089e24d24c0d1119e9c0edcafb6751" }, "downloads": -1, "filename": "prefix_list_agent-0.1.0a3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "41e93f92803693b60d4373dbbef15df7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14281, "upload_time": "2019-03-28T22:03:34", "url": "https://files.pythonhosted.org/packages/ed/45/bf5ced0d3ba9e116231da2d1b4b153ad4e22eb7d126af02c756fc865ff53/prefix_list_agent-0.1.0a3-py2.py3-none-any.whl" } ], "0.1.0a4": [ { "comment_text": "", "digests": { "md5": "13a577083dbfdc3dbf9a22ab4a9ffc30", "sha256": "0b1c2c9e7395b0bb8d340d07a153cd9e693626628678d097a674d96e865e5c94" }, "downloads": -1, "filename": "prefix_list_agent-0.1.0a4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "13a577083dbfdc3dbf9a22ab4a9ffc30", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14277, "upload_time": "2019-03-28T22:38:24", "url": "https://files.pythonhosted.org/packages/60/36/025a140988d20b75904e6510de9a4219d478a6de601ea2ce07fe558b608e/prefix_list_agent-0.1.0a4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "de8e35eb883ea87b566a936131e3905e", "sha256": "835f0a8db74290dfb8b4bb51abf343c51001a1a1cbc590b08d22887d1a84c025" }, "downloads": -1, "filename": "prefix_list_agent-0.1.0a4.tar.gz", "has_sig": false, "md5_digest": "de8e35eb883ea87b566a936131e3905e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10445, "upload_time": "2019-03-28T22:38:25", "url": "https://files.pythonhosted.org/packages/46/75/a38fc377ac098a39f12ff01d10f9df5c9dc1b6adcec9fcbce6d6f340f47b/prefix_list_agent-0.1.0a4.tar.gz" } ], "0.1.0a6": [ { "comment_text": "", "digests": { "md5": "0da8b00d98d27e016ec39fe7b1454d1e", "sha256": "249549f925b92aa810a3ddd5b9f1f81f0ccb7eca410b44e168ff968b97399b18" }, "downloads": -1, "filename": "prefix_list_agent-0.1.0a6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0da8b00d98d27e016ec39fe7b1454d1e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14279, "upload_time": "2019-03-28T23:20:46", "url": "https://files.pythonhosted.org/packages/3e/bc/b2da4d439c604ff9b574f901039cc71a23d00534711acf32f4e633c753fc/prefix_list_agent-0.1.0a6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0eba422a0b011992274fa5b2500354a8", "sha256": "7fb30e7235601e05aa40a181a5720944313725b5788dd738093a0ad70a1f3c42" }, "downloads": -1, "filename": "prefix_list_agent-0.1.0a6.tar.gz", "has_sig": false, "md5_digest": "0eba422a0b011992274fa5b2500354a8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10457, "upload_time": "2019-03-28T23:20:47", "url": "https://files.pythonhosted.org/packages/f8/23/a8673491d28f01b6e3f8feff7b3f3f22ec6f19b4fe466425be8e7122fe67/prefix_list_agent-0.1.0a6.tar.gz" } ], "0.1.0a7": [ { "comment_text": "", "digests": { "md5": "1bd1d8a6df62449205004a8b80c6a198", "sha256": "be9734fc129a58c97aa3b4fc926eba5b98611bb12c853dd004a51f1363d6a931" }, "downloads": -1, "filename": "prefix_list_agent-0.1.0a7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1bd1d8a6df62449205004a8b80c6a198", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14450, "upload_time": "2019-04-03T10:07:37", "url": "https://files.pythonhosted.org/packages/cd/5a/1025f81dd4b2b70c791a191f395755df81b8cdaebe7d01c8703e93e08b9b/prefix_list_agent-0.1.0a7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9c2e1c5b376cc7e6d894fd15eabf2794", "sha256": "ced84eb4fbb2ef6818197f08981e7e537fc3533c73fc5ffc4f470c0f46c7ce1e" }, "downloads": -1, "filename": "prefix_list_agent-0.1.0a7.tar.gz", "has_sig": false, "md5_digest": "9c2e1c5b376cc7e6d894fd15eabf2794", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10607, "upload_time": "2019-04-03T10:07:39", "url": "https://files.pythonhosted.org/packages/f1/a3/ab4cdfcae1b5c4581643eb2120b717b23b4e465e176887e2a7ef49b8e349/prefix_list_agent-0.1.0a7.tar.gz" } ], "0.1.0a8": [ { "comment_text": "", "digests": { "md5": "f861363900cd978972b484f9f388239d", "sha256": "1219e7d7aa3a9578860021320b304fb7802e36231aed9fd28b6d83a11bdff98d" }, "downloads": -1, "filename": "prefix_list_agent-0.1.0a8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f861363900cd978972b484f9f388239d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14351, "upload_time": "2019-04-08T06:47:59", "url": "https://files.pythonhosted.org/packages/51/81/140ca9361ab708960246df375e3935f0af170d01c7f3e659d994e32041db/prefix_list_agent-0.1.0a8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ce49efb758f2b7f12185f7ef7edccf97", "sha256": "65d1e85e8d2064dbb359e82fd5918682c0edd8ceff35b8c22ea7ad3cda4e605b" }, "downloads": -1, "filename": "prefix_list_agent-0.1.0a8.tar.gz", "has_sig": false, "md5_digest": "ce49efb758f2b7f12185f7ef7edccf97", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10513, "upload_time": "2019-04-08T06:48:01", "url": "https://files.pythonhosted.org/packages/ab/9c/a25e3b14c1ea0626716989489f9cdab9d418cd49de5e59e8b0ed68be6a77/prefix_list_agent-0.1.0a8.tar.gz" } ], "0.1.0rc1": [ { "comment_text": "", "digests": { "md5": "586e68279d74a9671dedc494448d552e", "sha256": "d2a2f3f15aecd1ee0145e31ae6f4f39c51f9483e3ca7094e5ca93dc644f2261a" }, "downloads": -1, "filename": "prefix_list_agent-0.1.0rc1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "586e68279d74a9671dedc494448d552e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15384, "upload_time": "2019-04-08T11:16:16", "url": "https://files.pythonhosted.org/packages/ff/da/7a05fc2f61ae0f51d8fa56e370aac598fb66217ea9b6995022310fe3e21c/prefix_list_agent-0.1.0rc1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e1bbc9502ae8fc9bf3010cb69b1457ad", "sha256": "7db558860776514dcd61211d63be5f992da9bbff6bf582ae1ecc30fdfaa26ddd" }, "downloads": -1, "filename": "prefix_list_agent-0.1.0rc1.tar.gz", "has_sig": false, "md5_digest": "e1bbc9502ae8fc9bf3010cb69b1457ad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12781, "upload_time": "2019-04-08T11:16:17", "url": "https://files.pythonhosted.org/packages/da/3a/a457a58332b04369b1a91954815fa01b740583c37a1c974eec859a5245a7/prefix_list_agent-0.1.0rc1.tar.gz" } ], "0.1.0rc3": [ { "comment_text": "", "digests": { "md5": "b6126371cac1d820ef19c9aea83a91ff", "sha256": "9b9526c2c82458c59380ae50dd25d874ce5f3499fb92e0065e6fbe3cf5712cbf" }, "downloads": -1, "filename": "prefix_list_agent-0.1.0rc3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b6126371cac1d820ef19c9aea83a91ff", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15482, "upload_time": "2019-04-08T13:56:09", "url": "https://files.pythonhosted.org/packages/01/df/8a1e7d1c7f2fb534542f42ba49131c993969b4bc3b6a4fd96131d1d47447/prefix_list_agent-0.1.0rc3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ce8a39f3fd88a985ba3aa833d22bc211", "sha256": "27192bedda9ae960d4b8a1fdecb0c24d15a178e87336bb1f1c85d79d78649f59" }, "downloads": -1, "filename": "prefix_list_agent-0.1.0rc3.tar.gz", "has_sig": false, "md5_digest": "ce8a39f3fd88a985ba3aa833d22bc211", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12902, "upload_time": "2019-04-08T13:56:10", "url": "https://files.pythonhosted.org/packages/a7/1e/078c8f7fc06911fb4cf9cb982a4f4052ccd2d4a3abda31b253594a50f27a/prefix_list_agent-0.1.0rc3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1337280607a044e85f31b398b958ea6b", "sha256": "c2f2875ae7bd21e97fea8171fc8446b6b8d10e7d100f4eef9086cdaee34a569b" }, "downloads": -1, "filename": "prefix_list_agent-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1337280607a044e85f31b398b958ea6b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15440, "upload_time": "2019-04-08T14:21:52", "url": "https://files.pythonhosted.org/packages/d6/32/ddbb9abeb79252730685fc058d9cd433acf5f55fc6ac3847e78ce9771652/prefix_list_agent-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e83c4a37b989edcc6ce5c2df1c74c7c2", "sha256": "375725f32718c60297ea129b83b7e0be089b51c67c51da6fce5ea51f2d3bd58d" }, "downloads": -1, "filename": "prefix_list_agent-0.1.0.tar.gz", "has_sig": false, "md5_digest": "e83c4a37b989edcc6ce5c2df1c74c7c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12890, "upload_time": "2019-04-08T14:21:54", "url": "https://files.pythonhosted.org/packages/f6/8d/3e23f595e5152475df356d8939aa9f8fff971bea84ed898829e6afe5de03/prefix_list_agent-0.1.0.tar.gz" } ] }