Add napalm to testing static requirements

Additionally, remove Py2 and six from `salt/runners/net.py` and `salt/runners/bgp.py`
This commit is contained in:
Pedro Algarvio 2020-08-11 18:05:38 +01:00 committed by Daniel Wozniak
parent c03508df31
commit 22460c293f
23 changed files with 254 additions and 170 deletions

View file

@ -14,6 +14,7 @@ kubernetes<4.0
mock>=3.0.5; python_version < '3.6'
more-itertools==5.0.0
moto
napalm; python_version >= '3.6'
# XXX: Temporarily do not install pylxd.
# pylxd(or likely ws4py) will cause the test suite to hang at the finish line under runtests.py
# pylxd>=2.2.5

View file

@ -20,6 +20,7 @@ libnacl>=1.7.1
mock>=3.0.5
more-itertools==5.0.0
moto
napalm; python_version >= '3.6'
paramiko>=2.1.6
psutil
pygit2==1.1.1

View file

@ -21,6 +21,7 @@ libnacl>=1.7.1
mock>=3.0.5
more-itertools==5.0.0
moto
napalm; python_version >= '3.6'
passlib
paramiko>=2.1.6
psutil

View file

@ -71,7 +71,7 @@ netaddr==0.7.19 # via junos-eznc
ntc-templates==1.4.0 # via junos-eznc
oscrypto==1.2.0 # via certvalidator
packaging==19.2 # via pytest
paramiko==2.4.2 # via junos-eznc, ncclient, scp
paramiko==2.7.1 # via junos-eznc, ncclient, scp
pathlib2==2.3.3 # via pytest
pathtools==0.1.2 # via watchdog
pluggy==0.13.1 # via pytest

View file

@ -69,7 +69,7 @@ netaddr==0.7.19 # via junos-eznc
ntc-templates==1.4.0 # via junos-eznc
oscrypto==1.2.0 # via certvalidator
packaging==19.2 # via pytest
paramiko==2.4.2
paramiko==2.7.1
pathlib2==2.3.3 # via pytest
pathtools==0.1.2 # via watchdog
pluggy==0.13.0 # via pytest
@ -78,7 +78,7 @@ psutil==5.6.7
py==1.8.0 # via pytest
pyaml==19.4.1 # via moto
pyasn1-modules==0.2.4 # via google-auth
pyasn1==0.4.5 # via paramiko, pyasn1-modules, rsa
pyasn1==0.4.5 # via pyasn1-modules, rsa
pycparser==2.19 # via cffi
pycryptodome==3.8.1 # via python-jose
pycryptodomex==3.9.7

View file

@ -158,7 +158,7 @@ ntc-templates==1.4.0 # via junos-eznc
oauthlib==3.1.0 # via requests-oauthlib
oscrypto==1.2.0 # via certvalidator
packaging==19.2 # via pytest
paramiko==2.4.2
paramiko==2.7.1
passlib==1.7.2
pathlib2==2.3.3 # via pytest
pathtools==0.1.2 # via watchdog
@ -168,7 +168,7 @@ psutil==5.6.7
py==1.8.0 # via pytest
pyaml==19.4.1 # via moto
pyasn1-modules==0.2.4 # via google-auth
pyasn1==0.4.5 # via paramiko, pyasn1-modules, rsa
pyasn1==0.4.5 # via pyasn1-modules, rsa
pycparser==2.19 # via cffi
pycryptodome==3.8.1 # via python-jose
pycryptodomex==3.9.7

View file

@ -25,8 +25,10 @@ chardet==3.0.4 # via requests
cheetah3==3.1.0
cheroot==6.5.5 # via cherrypy
cherrypy==17.4.1
ciscoconfparse==1.5.19 # via napalm
click==7.0
clustershell==1.8.1
colorama==0.4.3 # via ciscoconfparse
contextlib2==0.5.5 # via cherrypy
croniter==0.3.29
cryptography==2.6.1
@ -38,7 +40,7 @@ docker==3.7.2
docutils==0.14 # via botocore
ecdsa==0.13.3 # via python-jose
filelock==3.0.12 # via virtualenv
future==0.17.1 # via python-jose, textfsm
future==0.17.1 # via napalm, python-jose, textfsm
genshi==0.7.3
geomet==0.1.2 # via cassandra-driver
gitdb2==2.0.5 # via gitpython
@ -59,19 +61,22 @@ jxmlease==1.0.1
keyring==5.7.1
kubernetes==3.0.0
linode-python==1.1.1
lxml==4.3.3 # via junos-eznc, ncclient
lxml==4.3.3 # via junos-eznc, napalm, ncclient
mako==1.0.7
markupsafe==1.1.1
mock==3.0.5
more-itertools==5.0.0
moto==1.3.7
msgpack==1.0.0
napalm==3.1.0 ; python_version >= "3.6"
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
netaddr==0.7.19 # via junos-eznc, napalm, pyeapi
netmiko==3.2.0 # via napalm
ntc-templates==1.4.0 # via junos-eznc
oscrypto==1.2.0 # via certvalidator
packaging==19.2 # via pytest
paramiko==2.4.2 # via junos-eznc, ncclient, scp
paramiko==2.7.1 # via junos-eznc, napalm, ncclient, netmiko, scp
passlib==1.7.2 # via ciscoconfparse
pathtools==0.1.2 # via watchdog
pluggy==0.13.1 # via pytest
portend==2.4 # via cherrypy
@ -83,10 +88,11 @@ pyasn1==0.4.8
pycparser==2.19
pycryptodome==3.8.1 # via python-jose
pycryptodomex==3.9.7
pyeapi==0.8.3 # via napalm
pynacl==1.3.0 # via paramiko
pyopenssl==19.0.0
pyparsing==2.4.5 # via junos-eznc, packaging
pyserial==3.4 # via junos-eznc
pyserial==3.4 # via junos-eznc, netmiko
pytest-helpers-namespace==2019.1.8
pytest-salt-factories==0.10.7
pytest-salt==2020.1.27
@ -106,14 +112,14 @@ rfc3987==1.3.8
rsa==4.0 # via google-auth
s3transfer==0.3.3 # via boto3
salttesting==2017.6.1
scp==0.13.2 # via junos-eznc
scp==0.13.2 # via junos-eznc, napalm, netmiko
setproctitle==1.1.10
six==1.14.0
smmap2==2.0.5 # via gitdb2
strict-rfc3339==0.7
tempora==1.14.1 # via portend
terminal==0.4.0 # via ntc-templates
textfsm==1.1.0 # via ntc-templates
textfsm==1.1.0 # via napalm, netmiko, ntc-templates
timelib==0.2.4
toml==0.10.0
transitions==0.8.1 # via junos-eznc

View file

@ -24,6 +24,8 @@ chardet==3.0.4 # via requests
cheetah3==3.1.0
cheroot==6.5.4 # via cherrypy
cherrypy==17.3.0
ciscoconfparse==1.5.19 # via napalm
colorama==0.4.3 # via ciscoconfparse
contextlib2==0.5.5 # via cherrypy
croniter==0.3.29
cryptography==2.6.1 # via moto, paramiko, pyopenssl, vcert
@ -35,7 +37,7 @@ docker==3.7.2
docutils==0.14 # via botocore
ecdsa==0.13.3 # via python-jose
filelock==3.0.12 # via virtualenv
future==0.17.1 # via python-jose, textfsm
future==0.17.1 # via napalm, python-jose, textfsm
genshi==0.7.3
gitdb2==2.0.5 # via gitpython
gitpython==2.1.11
@ -57,19 +59,22 @@ kazoo==2.6.1
keyring==5.7.1
kubernetes==3.0.0
libnacl==1.7.1
lxml==4.3.3 # via junos-eznc, ncclient
lxml==4.3.3 # via junos-eznc, napalm, ncclient
mako==1.1.0
markupsafe==1.1.1
mock==3.0.5
more-itertools==5.0.0
moto==1.3.7
msgpack==1.0.0
napalm==3.1.0 ; python_version >= "3.6"
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
netaddr==0.7.19 # via junos-eznc, napalm, pyeapi
netmiko==3.2.0 # via napalm
ntc-templates==1.4.0 # via junos-eznc
oscrypto==1.2.0 # via certvalidator
packaging==19.2 # via pytest
paramiko==2.4.2
paramiko==2.7.1
passlib==1.7.2 # via ciscoconfparse
pathtools==0.1.2 # via watchdog
pluggy==0.13.0 # via pytest
portend==2.4 # via cherrypy
@ -77,16 +82,17 @@ psutil==5.6.7
py==1.8.0 # via pytest
pyaml==19.4.1 # via moto
pyasn1-modules==0.2.4 # via google-auth
pyasn1==0.4.5 # via paramiko, pyasn1-modules, rsa
pyasn1==0.4.5 # via pyasn1-modules, rsa
pycparser==2.19 # via cffi
pycryptodome==3.8.1 # via python-jose
pycryptodomex==3.9.7
pyeapi==0.8.3 # via napalm
pygit2==1.1.1
pyinotify==0.9.6
pynacl==1.3.0 # via paramiko
pyopenssl==19.0.0
pyparsing==2.4.5 # via junos-eznc, packaging
pyserial==3.4 # via junos-eznc
pyserial==3.4 # via junos-eznc, netmiko
pytest-helpers-namespace==2019.1.8
pytest-salt-factories==0.10.7
pytest-salt==2020.1.27
@ -106,7 +112,7 @@ rfc3987==1.3.8
rsa==4.0 # via google-auth
s3transfer==0.3.3 # via boto3
salttesting==2017.6.1
scp==0.13.2 # via junos-eznc
scp==0.13.2 # via junos-eznc, napalm, netmiko
setproctitle==1.1.10
setuptools-scm==3.2.0
six==1.12.0 # via bcrypt, cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kazoo, kubernetes, mock, more-itertools, moto, ncclient, packaging, pynacl, pyopenssl, python-dateutil, python-jose, pyvmomi, responses, salttesting, tempora, textfsm, transitions, vcert, virtualenv, websocket-client
@ -114,7 +120,7 @@ smmap2==2.0.5 # via gitdb2
strict-rfc3339==0.7
tempora==1.14.1 # via portend
terminal==0.4.0 # via ntc-templates
textfsm==1.1.0 # via ntc-templates
textfsm==1.1.0 # via napalm, netmiko, ntc-templates
timelib==0.2.4
toml==0.10.0
transitions==0.8.1 # via junos-eznc

View file

@ -107,7 +107,9 @@ chardet==3.0.4 # via requests
cheetah3==3.1.0
cheroot==6.5.4 # via cherrypy
cherrypy==17.3.0
ciscoconfparse==1.5.19 # via napalm
click==7.1.1 # via geomet
colorama==0.4.3 # via ciscoconfparse
contextlib2==0.5.5 # via cherrypy
croniter==0.3.29
cryptography==2.6.1 # via adal, azure-cosmosdb-table, azure-keyvault, azure-storage-common, moto, paramiko, pyopenssl, vcert
@ -119,7 +121,7 @@ docker==3.7.2
docutils==0.14 # via botocore
ecdsa==0.13.3 # via python-jose
filelock==3.0.12 # via virtualenv
future==0.17.1 # via python-jose, textfsm
future==0.17.1 # via napalm, python-jose, textfsm
genshi==0.7.3
geomet==0.1.2 # via cassandra-driver
gitdb2==2.0.5 # via gitpython
@ -143,7 +145,7 @@ kazoo==2.6.1
keyring==5.7.1
kubernetes==3.0.0
libnacl==1.7.1
lxml==4.3.3 # via junos-eznc, ncclient
lxml==4.3.3 # via junos-eznc, napalm, ncclient
mako==1.1.0
markupsafe==1.1.1
mock==3.0.5
@ -152,13 +154,15 @@ moto==1.3.7
msgpack==1.0.0
msrest==0.6.14 # via azure-applicationinsights, azure-eventgrid, azure-keyvault, azure-loganalytics, azure-mgmt-cdn, azure-mgmt-compute, azure-mgmt-containerinstance, azure-mgmt-containerregistry, azure-mgmt-containerservice, azure-mgmt-dns, azure-mgmt-eventhub, azure-mgmt-keyvault, azure-mgmt-media, azure-mgmt-network, azure-mgmt-rdbms, azure-mgmt-resource, azure-mgmt-servicebus, azure-mgmt-servicefabric, azure-mgmt-signalr, azure-servicefabric, msrestazure
msrestazure==0.6.3 # via azure-batch, azure-eventgrid, azure-graphrbac, azure-keyvault, azure-mgmt-advisor, azure-mgmt-applicationinsights, azure-mgmt-authorization, azure-mgmt-batch, azure-mgmt-batchai, azure-mgmt-billing, azure-mgmt-cdn, azure-mgmt-cognitiveservices, azure-mgmt-commerce, azure-mgmt-compute, azure-mgmt-consumption, azure-mgmt-containerinstance, azure-mgmt-containerregistry, azure-mgmt-containerservice, azure-mgmt-cosmosdb, azure-mgmt-datafactory, azure-mgmt-datalake-analytics, azure-mgmt-datalake-store, azure-mgmt-datamigration, azure-mgmt-devspaces, azure-mgmt-devtestlabs, azure-mgmt-dns, azure-mgmt-eventgrid, azure-mgmt-eventhub, azure-mgmt-hanaonazure, azure-mgmt-iotcentral, azure-mgmt-iothub, azure-mgmt-iothubprovisioningservices, azure-mgmt-keyvault, azure-mgmt-loganalytics, azure-mgmt-logic, azure-mgmt-machinelearningcompute, azure-mgmt-managementgroups, azure-mgmt-managementpartner, azure-mgmt-maps, azure-mgmt-marketplaceordering, azure-mgmt-media, azure-mgmt-monitor, azure-mgmt-msi, azure-mgmt-network, azure-mgmt-notificationhubs, azure-mgmt-policyinsights, azure-mgmt-powerbiembedded, azure-mgmt-rdbms, azure-mgmt-recoveryservices, azure-mgmt-recoveryservicesbackup, azure-mgmt-redis, azure-mgmt-relay, azure-mgmt-reservations, azure-mgmt-resource, azure-mgmt-scheduler, azure-mgmt-search, azure-mgmt-servicebus, azure-mgmt-servicefabric, azure-mgmt-signalr, azure-mgmt-sql, azure-mgmt-storage, azure-mgmt-subscription, azure-mgmt-trafficmanager, azure-mgmt-web
napalm==3.1.0 ; python_version >= "3.6"
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
netaddr==0.7.19 # via junos-eznc, napalm, pyeapi
netmiko==3.2.0 # via napalm
ntc-templates==1.4.0 # via junos-eznc
oauthlib==3.1.0 # via requests-oauthlib
oscrypto==1.2.0 # via certvalidator
packaging==19.2 # via pytest
paramiko==2.4.2
paramiko==2.7.1
passlib==1.7.2
pathtools==0.1.2 # via watchdog
pluggy==0.13.0 # via pytest
@ -167,17 +171,18 @@ psutil==5.6.7
py==1.8.0 # via pytest
pyaml==19.4.1 # via moto
pyasn1-modules==0.2.4 # via google-auth
pyasn1==0.4.5 # via paramiko, pyasn1-modules, rsa
pyasn1==0.4.5 # via pyasn1-modules, rsa
pycparser==2.19 # via cffi
pycryptodome==3.8.1 # via python-jose
pycryptodomex==3.9.7
pyeapi==0.8.3 # via napalm
pygit2==0.28.2 ; python_version < "3.8"
pyinotify==0.9.6
pyjwt==1.7.1 # via adal
pynacl==1.3.0 # via paramiko
pyopenssl==19.0.0
pyparsing==2.4.5 # via junos-eznc, packaging
pyserial==3.4 # via junos-eznc
pyserial==3.4 # via junos-eznc, netmiko
pytest-helpers-namespace==2019.1.8
pytest-salt-factories==0.10.7
pytest-salt==2020.1.27
@ -198,7 +203,7 @@ rfc3987==1.3.8
rsa==4.0 # via google-auth
s3transfer==0.3.3 # via boto3
salttesting==2017.6.1
scp==0.13.2 # via junos-eznc
scp==0.13.2 # via junos-eznc, napalm, netmiko
setproctitle==1.1.10
setuptools-scm==3.2.0
six==1.12.0 # via bcrypt, cassandra-driver, cheroot, cherrypy, cryptography, docker, docker-pycreds, geomet, google-auth, isodate, junos-eznc, kazoo, kubernetes, mock, more-itertools, moto, ncclient, packaging, pygit2, pynacl, pyopenssl, python-dateutil, python-jose, pyvmomi, responses, salttesting, tempora, textfsm, transitions, vcert, virtualenv, websocket-client
@ -206,7 +211,7 @@ smmap2==2.0.5 # via gitdb2
strict-rfc3339==0.7
tempora==1.14.1 # via portend
terminal==0.4.0 # via ntc-templates
textfsm==1.1.0 # via ntc-templates
textfsm==1.1.0 # via napalm, netmiko, ntc-templates
timelib==0.2.4
toml==0.10.0
transitions==0.8.1 # via junos-eznc

View file

@ -11,6 +11,7 @@ attrs==19.1.0 # via pytest
aws-xray-sdk==0.95 # via moto
backports.functools-lru-cache==1.5 # via cheroot
backports.ssl-match-hostname==3.7.0.1 ; python_version < "3.7"
bcrypt==3.1.7 # via paramiko
boto3==1.13.5
boto==2.49.0
botocore==1.16.5 # via boto3, moto, s3transfer
@ -22,8 +23,9 @@ chardet==3.0.4 # via requests
cheetah3==3.1.0
cheroot==6.5.5 # via cherrypy
cherrypy==17.4.1
ciscoconfparse==1.5.19 # via napalm
click==7.1.2 # via geomet
colorama==0.4.1 # via pytest
colorama==0.4.1 # via ciscoconfparse, pytest
contextlib2==0.5.5 # via cherrypy
cryptography==2.6.1
distlib==0.3.0 # via virtualenv
@ -35,7 +37,7 @@ docker==2.7.0
docutils==0.14 # via botocore
ecdsa==0.13.3 # via python-jose
filelock==3.0.12 # via virtualenv
future==0.17.1 # via python-jose
future==0.17.1 # via napalm, python-jose, textfsm
genshi==0.7.3
geomet==0.1.2 # via cassandra-driver
gitdb2==2.0.5
@ -43,7 +45,7 @@ gitpython==2.1.10
google-auth==1.6.3 # via kubernetes
idna==2.8
importlib-metadata==0.23 # via importlib-resources, pluggy, pytest, virtualenv
importlib-resources==1.5.0 # via virtualenv
importlib-resources==1.5.0 # via netaddr, virtualenv
ioloop==0.1a0
ipaddress==1.0.22
jaraco.functools==2.0 # via tempora
@ -52,6 +54,7 @@ jmespath==0.9.4
jsondiff==1.1.1 # via moto
jsonpickle==1.1 # via aws-xray-sdk
jsonschema==2.6.0
junos-eznc==2.5.1 # via napalm
keyring==5.7.1
kubernetes==3.0.0
libnacl==1.7.1
@ -62,7 +65,14 @@ mock==3.0.5
more-itertools==5.0.0
moto==1.3.7
msgpack==1.0.0
napalm==3.1.0 ; python_version >= "3.6"
ncclient==0.6.9 # via junos-eznc
netaddr==0.8.0 # via junos-eznc, napalm, pyeapi
netmiko==3.2.0 # via napalm
ntc-templates==1.5.0 # via junos-eznc
packaging==19.2 # via pytest
paramiko==2.7.1 # via junos-eznc, napalm, ncclient, netmiko, scp
passlib==1.7.2 # via ciscoconfparse
patch==1.16
pluggy==0.13.0 # via pytest
portend==2.4 # via cherrypy
@ -75,11 +85,14 @@ pycparser==2.19
pycryptodome==3.8.1 # via python-jose
pycryptodomex==3.9.7
pycurl==7.43.0.5
pyeapi==0.8.3 # via napalm
pygit2==0.28.2 ; python_version < "3.8"
pymssql==2.1.4 ; python_version < "3.8"
pymysql==0.9.3
pynacl==1.4.0 # via paramiko
pyopenssl==19.0.0
pyparsing==2.4.5 # via packaging
pyparsing==2.4.5 # via junos-eznc, packaging
pyserial==3.4 # via junos-eznc, netmiko
pytest-helpers-namespace==2019.1.8
pytest-salt-factories==0.10.7
pytest-salt==2020.1.27
@ -101,14 +114,17 @@ rfc3987==1.3.8
rsa==4.0 # via google-auth
s3transfer==0.3.3 # via boto3
salttesting==2017.6.1
scp==0.13.2 # via junos-eznc, napalm, netmiko
sed==0.3.1
setproctitle==1.1.10
six==1.12.0 # via cassandra-driver, cheroot, cherrypy, cryptography, docker, docker-pycreds, geomet, google-auth, kubernetes, mock, more-itertools, moto, packaging, pygit2, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, responses, salttesting, tempora, virtualenv, websocket-client
six==1.12.0 # via bcrypt, cassandra-driver, cheroot, cherrypy, cryptography, docker, docker-pycreds, geomet, google-auth, junos-eznc, kubernetes, mock, more-itertools, moto, ncclient, packaging, pygit2, pynacl, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, responses, salttesting, tempora, textfsm, transitions, virtualenv, websocket-client
smmap2==2.0.5
strict-rfc3339==0.7
tempora==1.14.1 # via portend
textfsm==1.1.0 # via napalm, netmiko, ntc-templates
timelib==0.2.4
toml==0.10.0
transitions==0.8.2 # via junos-eznc
urllib3==1.24.2 # via botocore, kubernetes, python-etcd, requests
virtualenv==20.0.20
wcwidth==0.1.7 # via pytest
@ -118,5 +134,6 @@ wheel==0.33.4
wmi==1.4.9
wrapt==1.11.1 # via aws-xray-sdk
xmltodict==0.12.0 # via moto
yamlordereddictloader==0.4.0 # via junos-eznc
zc.lockfile==1.4 # via cherrypy
zipp==0.6.0 # via importlib-metadata, importlib-resources

View file

@ -24,8 +24,10 @@ chardet==3.0.4 # via requests
cheetah3==3.1.0
cheroot==6.5.5 # via cherrypy
cherrypy==17.4.1
ciscoconfparse==1.5.19 # via napalm
click==7.0
clustershell==1.8.1
colorama==0.4.3 # via ciscoconfparse
contextlib2==0.5.5 # via cherrypy
croniter==0.3.29
cryptography==2.6.1
@ -37,7 +39,7 @@ docker==3.7.2
docutils==0.14 # via botocore
ecdsa==0.13.3 # via python-jose
filelock==3.0.12 # via virtualenv
future==0.17.1 # via python-jose, textfsm
future==0.17.1 # via napalm, python-jose, textfsm
genshi==0.7.3
geomet==0.1.2 # via cassandra-driver
gitdb2==2.0.5 # via gitpython
@ -57,19 +59,22 @@ jxmlease==1.0.1
keyring==5.7.1
kubernetes==3.0.0
linode-python==1.1.1
lxml==4.3.3 # via junos-eznc, ncclient
lxml==4.3.3 # via junos-eznc, napalm, ncclient
mako==1.0.7
markupsafe==1.1.1
mock==3.0.5
more-itertools==5.0.0
moto==1.3.7
msgpack==1.0.0
napalm==3.1.0 ; python_version >= "3.6"
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
netaddr==0.7.19 # via junos-eznc, napalm, pyeapi
netmiko==3.2.0 # via napalm
ntc-templates==1.4.0 # via junos-eznc
oscrypto==1.2.0 # via certvalidator
packaging==19.2 # via pytest
paramiko==2.4.2 # via junos-eznc, ncclient, scp
paramiko==2.7.1 # via junos-eznc, napalm, ncclient, netmiko, scp
passlib==1.7.2 # via ciscoconfparse
pathtools==0.1.2 # via watchdog
pluggy==0.13.1 # via pytest
portend==2.4 # via cherrypy
@ -81,10 +86,11 @@ pyasn1==0.4.8
pycparser==2.19
pycryptodome==3.8.1 # via python-jose
pycryptodomex==3.9.7
pyeapi==0.8.3 # via napalm
pynacl==1.3.0 # via paramiko
pyopenssl==19.0.0
pyparsing==2.4.5 # via junos-eznc, packaging
pyserial==3.4 # via junos-eznc
pyserial==3.4 # via junos-eznc, netmiko
pytest-helpers-namespace==2019.1.8
pytest-salt-factories==0.10.7
pytest-salt==2020.1.27
@ -104,14 +110,14 @@ rfc3987==1.3.8
rsa==4.0 # via google-auth
s3transfer==0.3.3 # via boto3
salttesting==2017.6.1
scp==0.13.2 # via junos-eznc
scp==0.13.2 # via junos-eznc, napalm, netmiko
setproctitle==1.1.10
six==1.14.0
smmap2==2.0.5 # via gitdb2
strict-rfc3339==0.7
tempora==1.14.1 # via portend
terminal==0.4.0 # via ntc-templates
textfsm==1.1.0 # via ntc-templates
textfsm==1.1.0 # via napalm, netmiko, ntc-templates
timelib==0.2.4
toml==0.10.0
transitions==0.8.1 # via junos-eznc

View file

@ -24,6 +24,8 @@ chardet==3.0.4 # via requests
cheetah3==3.1.0
cheroot==6.5.4 # via cherrypy
cherrypy==17.3.0
ciscoconfparse==1.5.19 # via napalm
colorama==0.4.3 # via ciscoconfparse
contextlib2==0.5.5 # via cherrypy
croniter==0.3.29
cryptography==2.6.1 # via moto, paramiko, pyopenssl, vcert
@ -35,7 +37,7 @@ docker==3.7.2
docutils==0.14 # via botocore
ecdsa==0.13.3 # via python-jose
filelock==3.0.12 # via virtualenv
future==0.17.1 # via python-jose, textfsm
future==0.17.1 # via napalm, python-jose, textfsm
genshi==0.7.3
gitdb2==2.0.5 # via gitpython
gitpython==2.1.11
@ -56,19 +58,22 @@ kazoo==2.6.1
keyring==5.7.1
kubernetes==3.0.0
libnacl==1.7.1
lxml==4.3.3 # via junos-eznc, ncclient
lxml==4.3.3 # via junos-eznc, napalm, ncclient
mako==1.1.0
markupsafe==1.1.1
mock==3.0.5
more-itertools==5.0.0
moto==1.3.7
msgpack==1.0.0
napalm==3.1.0 ; python_version >= "3.6"
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
netaddr==0.7.19 # via junos-eznc, napalm, pyeapi
netmiko==3.2.0 # via napalm
ntc-templates==1.4.0 # via junos-eznc
oscrypto==1.2.0 # via certvalidator
packaging==19.2 # via pytest
paramiko==2.4.2
paramiko==2.7.1
passlib==1.7.2 # via ciscoconfparse
pathtools==0.1.2 # via watchdog
pluggy==0.13.0 # via pytest
portend==2.4 # via cherrypy
@ -76,16 +81,17 @@ psutil==5.6.7
py==1.8.0 # via pytest
pyaml==19.4.1 # via moto
pyasn1-modules==0.2.4 # via google-auth
pyasn1==0.4.5 # via paramiko, pyasn1-modules, rsa
pyasn1==0.4.5 # via pyasn1-modules, rsa
pycparser==2.19 # via cffi
pycryptodome==3.8.1 # via python-jose
pycryptodomex==3.9.7
pyeapi==0.8.3 # via napalm
pygit2==1.1.1
pyinotify==0.9.6
pynacl==1.3.0 # via paramiko
pyopenssl==19.0.0
pyparsing==2.4.5 # via junos-eznc, packaging
pyserial==3.4 # via junos-eznc
pyserial==3.4 # via junos-eznc, netmiko
pytest-helpers-namespace==2019.1.8
pytest-salt-factories==0.10.7
pytest-salt==2020.1.27
@ -105,7 +111,7 @@ rfc3987==1.3.8
rsa==4.0 # via google-auth
s3transfer==0.3.3 # via boto3
salttesting==2017.6.1
scp==0.13.2 # via junos-eznc
scp==0.13.2 # via junos-eznc, napalm, netmiko
setproctitle==1.1.10
setuptools-scm==3.2.0
six==1.12.0 # via bcrypt, cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kazoo, kubernetes, mock, more-itertools, moto, ncclient, packaging, pynacl, pyopenssl, python-dateutil, python-jose, pyvmomi, responses, salttesting, tempora, textfsm, transitions, vcert, virtualenv, websocket-client
@ -113,7 +119,7 @@ smmap2==2.0.5 # via gitdb2
strict-rfc3339==0.7
tempora==1.14.1 # via portend
terminal==0.4.0 # via ntc-templates
textfsm==1.1.0 # via ntc-templates
textfsm==1.1.0 # via napalm, netmiko, ntc-templates
timelib==0.2.4
toml==0.10.0
transitions==0.8.1 # via junos-eznc

View file

@ -107,7 +107,9 @@ chardet==3.0.4 # via requests
cheetah3==3.1.0
cheroot==6.5.4 # via cherrypy
cherrypy==17.3.0
ciscoconfparse==1.5.19 # via napalm
click==7.1.1 # via geomet
colorama==0.4.3 # via ciscoconfparse
contextlib2==0.5.5 # via cherrypy
croniter==0.3.29
cryptography==2.6.1 # via adal, azure-cosmosdb-table, azure-keyvault, azure-storage-common, moto, paramiko, pyopenssl, vcert
@ -119,7 +121,7 @@ docker==3.7.2
docutils==0.14 # via botocore
ecdsa==0.13.3 # via python-jose
filelock==3.0.12 # via virtualenv
future==0.17.1 # via python-jose, textfsm
future==0.17.1 # via napalm, python-jose, textfsm
genshi==0.7.3
geomet==0.1.2 # via cassandra-driver
gitdb2==2.0.5 # via gitpython
@ -142,7 +144,7 @@ kazoo==2.6.1
keyring==5.7.1
kubernetes==3.0.0
libnacl==1.7.1
lxml==4.3.3 # via junos-eznc, ncclient
lxml==4.3.3 # via junos-eznc, napalm, ncclient
mako==1.1.0
markupsafe==1.1.1
mock==3.0.5
@ -151,13 +153,15 @@ moto==1.3.7
msgpack==1.0.0
msrest==0.6.14 # via azure-applicationinsights, azure-eventgrid, azure-keyvault, azure-loganalytics, azure-mgmt-cdn, azure-mgmt-compute, azure-mgmt-containerinstance, azure-mgmt-containerregistry, azure-mgmt-containerservice, azure-mgmt-dns, azure-mgmt-eventhub, azure-mgmt-keyvault, azure-mgmt-media, azure-mgmt-network, azure-mgmt-rdbms, azure-mgmt-resource, azure-mgmt-servicebus, azure-mgmt-servicefabric, azure-mgmt-signalr, azure-servicefabric, msrestazure
msrestazure==0.6.3 # via azure-batch, azure-eventgrid, azure-graphrbac, azure-keyvault, azure-mgmt-advisor, azure-mgmt-applicationinsights, azure-mgmt-authorization, azure-mgmt-batch, azure-mgmt-batchai, azure-mgmt-billing, azure-mgmt-cdn, azure-mgmt-cognitiveservices, azure-mgmt-commerce, azure-mgmt-compute, azure-mgmt-consumption, azure-mgmt-containerinstance, azure-mgmt-containerregistry, azure-mgmt-containerservice, azure-mgmt-cosmosdb, azure-mgmt-datafactory, azure-mgmt-datalake-analytics, azure-mgmt-datalake-store, azure-mgmt-datamigration, azure-mgmt-devspaces, azure-mgmt-devtestlabs, azure-mgmt-dns, azure-mgmt-eventgrid, azure-mgmt-eventhub, azure-mgmt-hanaonazure, azure-mgmt-iotcentral, azure-mgmt-iothub, azure-mgmt-iothubprovisioningservices, azure-mgmt-keyvault, azure-mgmt-loganalytics, azure-mgmt-logic, azure-mgmt-machinelearningcompute, azure-mgmt-managementgroups, azure-mgmt-managementpartner, azure-mgmt-maps, azure-mgmt-marketplaceordering, azure-mgmt-media, azure-mgmt-monitor, azure-mgmt-msi, azure-mgmt-network, azure-mgmt-notificationhubs, azure-mgmt-policyinsights, azure-mgmt-powerbiembedded, azure-mgmt-rdbms, azure-mgmt-recoveryservices, azure-mgmt-recoveryservicesbackup, azure-mgmt-redis, azure-mgmt-relay, azure-mgmt-reservations, azure-mgmt-resource, azure-mgmt-scheduler, azure-mgmt-search, azure-mgmt-servicebus, azure-mgmt-servicefabric, azure-mgmt-signalr, azure-mgmt-sql, azure-mgmt-storage, azure-mgmt-subscription, azure-mgmt-trafficmanager, azure-mgmt-web
napalm==3.1.0 ; python_version >= "3.6"
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
netaddr==0.7.19 # via junos-eznc, napalm, pyeapi
netmiko==3.2.0 # via napalm
ntc-templates==1.4.0 # via junos-eznc
oauthlib==3.1.0 # via requests-oauthlib
oscrypto==1.2.0 # via certvalidator
packaging==19.2 # via pytest
paramiko==2.4.2
paramiko==2.7.1
passlib==1.7.2
pathtools==0.1.2 # via watchdog
pluggy==0.13.0 # via pytest
@ -166,17 +170,18 @@ psutil==5.6.7
py==1.8.0 # via pytest
pyaml==19.4.1 # via moto
pyasn1-modules==0.2.4 # via google-auth
pyasn1==0.4.5 # via paramiko, pyasn1-modules, rsa
pyasn1==0.4.5 # via pyasn1-modules, rsa
pycparser==2.19 # via cffi
pycryptodome==3.8.1 # via python-jose
pycryptodomex==3.9.7
pyeapi==0.8.3 # via napalm
pygit2==0.28.2 ; python_version < "3.8"
pyinotify==0.9.6
pyjwt==1.7.1 # via adal
pynacl==1.3.0 # via paramiko
pyopenssl==19.0.0
pyparsing==2.4.5 # via junos-eznc, packaging
pyserial==3.4 # via junos-eznc
pyserial==3.4 # via junos-eznc, netmiko
pytest-helpers-namespace==2019.1.8
pytest-salt-factories==0.10.7
pytest-salt==2020.1.27
@ -197,7 +202,7 @@ rfc3987==1.3.8
rsa==4.0 # via google-auth
s3transfer==0.3.3 # via boto3
salttesting==2017.6.1
scp==0.13.2 # via junos-eznc
scp==0.13.2 # via junos-eznc, napalm, netmiko
setproctitle==1.1.10
setuptools-scm==3.2.0
six==1.12.0 # via bcrypt, cassandra-driver, cheroot, cherrypy, cryptography, docker, docker-pycreds, geomet, google-auth, isodate, junos-eznc, kazoo, kubernetes, mock, more-itertools, moto, ncclient, packaging, pygit2, pynacl, pyopenssl, python-dateutil, python-jose, pyvmomi, responses, salttesting, tempora, textfsm, transitions, vcert, virtualenv, websocket-client
@ -205,7 +210,7 @@ smmap2==2.0.5 # via gitdb2
strict-rfc3339==0.7
tempora==1.14.1 # via portend
terminal==0.4.0 # via ntc-templates
textfsm==1.1.0 # via ntc-templates
textfsm==1.1.0 # via napalm, netmiko, ntc-templates
timelib==0.2.4
toml==0.10.0
transitions==0.8.1 # via junos-eznc

View file

@ -10,6 +10,7 @@ atomicwrites==1.3.0 # via pytest
attrs==19.1.0 # via pytest
aws-xray-sdk==0.95 # via moto
backports.functools-lru-cache==1.5 # via cheroot
bcrypt==3.1.7 # via paramiko
boto3==1.13.5
boto==2.49.0
botocore==1.16.5 # via boto3, moto, s3transfer
@ -21,8 +22,9 @@ chardet==3.0.4 # via requests
cheetah3==3.1.0
cheroot==6.5.5 # via cherrypy
cherrypy==17.4.1
ciscoconfparse==1.5.19 # via napalm
click==7.1.2 # via geomet
colorama==0.4.1 # via pytest
colorama==0.4.1 # via ciscoconfparse, pytest
contextlib2==0.5.5 # via cherrypy
cryptography==2.6.1
distlib==0.3.0 # via virtualenv
@ -34,7 +36,7 @@ docker==2.7.0
docutils==0.14 # via botocore
ecdsa==0.13.3 # via python-jose
filelock==3.0.12 # via virtualenv
future==0.17.1 # via python-jose
future==0.17.1 # via napalm, python-jose, textfsm
genshi==0.7.3
geomet==0.1.2 # via cassandra-driver
gitdb2==2.0.5
@ -50,6 +52,7 @@ jmespath==0.9.4
jsondiff==1.1.1 # via moto
jsonpickle==1.1 # via aws-xray-sdk
jsonschema==2.6.0
junos-eznc==2.5.1 # via napalm
keyring==5.7.1
kubernetes==3.0.0
libnacl==1.7.1
@ -60,7 +63,14 @@ mock==3.0.5
more-itertools==5.0.0
moto==1.3.7
msgpack==1.0.0
napalm==3.1.0 ; python_version >= "3.6"
ncclient==0.6.9 # via junos-eznc
netaddr==0.8.0 # via junos-eznc, napalm, pyeapi
netmiko==3.2.0 # via napalm
ntc-templates==1.5.0 # via junos-eznc
packaging==19.2 # via pytest
paramiko==2.7.1 # via junos-eznc, napalm, ncclient, netmiko, scp
passlib==1.7.2 # via ciscoconfparse
patch==1.16
pluggy==0.13.0 # via pytest
portend==2.4 # via cherrypy
@ -73,11 +83,14 @@ pycparser==2.19
pycryptodome==3.8.1 # via python-jose
pycryptodomex==3.9.7
pycurl==7.43.0.5
pyeapi==0.8.3 # via napalm
pygit2==0.28.2 ; python_version < "3.8"
pymssql==2.1.4 ; python_version < "3.8"
pymysql==0.9.3
pynacl==1.4.0 # via paramiko
pyopenssl==19.0.0
pyparsing==2.4.5 # via packaging
pyparsing==2.4.5 # via junos-eznc, packaging
pyserial==3.4 # via junos-eznc, netmiko
pytest-helpers-namespace==2019.1.8
pytest-salt-factories==0.10.7
pytest-salt==2020.1.27
@ -99,14 +112,17 @@ rfc3987==1.3.8
rsa==4.0 # via google-auth
s3transfer==0.3.3 # via boto3
salttesting==2017.6.1
scp==0.13.2 # via junos-eznc, napalm, netmiko
sed==0.3.1
setproctitle==1.1.10
six==1.12.0 # via cassandra-driver, cheroot, cherrypy, cryptography, docker, docker-pycreds, geomet, google-auth, kubernetes, mock, more-itertools, moto, packaging, pygit2, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, responses, salttesting, tempora, virtualenv, websocket-client
six==1.12.0 # via bcrypt, cassandra-driver, cheroot, cherrypy, cryptography, docker, docker-pycreds, geomet, google-auth, junos-eznc, kubernetes, mock, more-itertools, moto, ncclient, packaging, pygit2, pynacl, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, responses, salttesting, tempora, textfsm, transitions, virtualenv, websocket-client
smmap2==2.0.5
strict-rfc3339==0.7
tempora==1.14.1 # via portend
textfsm==1.1.0 # via napalm, netmiko, ntc-templates
timelib==0.2.4
toml==0.10.0
transitions==0.8.2 # via junos-eznc
urllib3==1.24.2 # via botocore, kubernetes, python-etcd, requests
virtualenv==20.0.20
wcwidth==0.1.7 # via pytest
@ -116,5 +132,6 @@ wheel==0.33.4
wmi==1.4.9
wrapt==1.11.1 # via aws-xray-sdk
xmltodict==0.12.0 # via moto
yamlordereddictloader==0.4.0 # via junos-eznc
zc.lockfile==1.4 # via cherrypy
zipp==0.6.0 # via importlib-metadata

View file

@ -24,8 +24,10 @@ chardet==3.0.4 # via requests
cheetah3==3.1.0
cheroot==6.5.5 # via cherrypy
cherrypy==17.4.1
ciscoconfparse==1.5.19 # via napalm
click==7.0
clustershell==1.8.1
colorama==0.4.3 # via ciscoconfparse
contextlib2==0.5.5 # via cherrypy
croniter==0.3.29
cryptography==2.6.1
@ -37,7 +39,7 @@ docker==3.7.2
docutils==0.14 # via botocore
ecdsa==0.13.3 # via python-jose
filelock==3.0.12 # via virtualenv
future==0.17.1 # via python-jose, textfsm
future==0.17.1 # via napalm, python-jose, textfsm
genshi==0.7.3
geomet==0.1.2 # via cassandra-driver
gitdb2==2.0.5 # via gitpython
@ -56,19 +58,22 @@ jxmlease==1.0.1
keyring==5.7.1
kubernetes==3.0.0
linode-python==1.1.1
lxml==4.3.3 # via junos-eznc, ncclient
lxml==4.3.3 # via junos-eznc, napalm, ncclient
mako==1.0.7
markupsafe==1.1.1
mock==3.0.5
more-itertools==5.0.0
moto==1.3.7
msgpack==1.0.0
napalm==3.1.0 ; python_version >= "3.6"
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
netaddr==0.7.19 # via junos-eznc, napalm, pyeapi
netmiko==3.2.0 # via napalm
ntc-templates==1.4.1 # via junos-eznc
oscrypto==1.2.0 # via certvalidator
packaging==19.2 # via pytest
paramiko==2.4.2 # via junos-eznc, ncclient, scp
paramiko==2.7.1 # via junos-eznc, napalm, ncclient, netmiko, scp
passlib==1.7.2 # via ciscoconfparse
pathtools==0.1.2 # via watchdog
pluggy==0.13.1 # via pytest
portend==2.4 # via cherrypy
@ -80,10 +85,11 @@ pyasn1==0.4.8
pycparser==2.19
pycryptodome==3.8.1 # via python-jose
pycryptodomex==3.9.7
pyeapi==0.8.3 # via napalm
pynacl==1.3.0 # via paramiko
pyopenssl==19.0.0
pyparsing==2.4.5 # via junos-eznc, packaging
pyserial==3.4 # via junos-eznc
pyserial==3.4 # via junos-eznc, netmiko
pytest-helpers-namespace==2019.1.8
pytest-salt-factories==0.10.7
pytest-salt==2020.1.27
@ -103,14 +109,14 @@ rfc3987==1.3.8
rsa==4.0 # via google-auth
s3transfer==0.3.3 # via boto3
salttesting==2017.6.1
scp==0.13.2 # via junos-eznc
scp==0.13.2 # via junos-eznc, napalm, netmiko
setproctitle==1.1.10
six==1.14.0
smmap2==2.0.5 # via gitdb2
strict-rfc3339==0.7
tempora==1.14.1 # via portend
terminal==0.4.0 # via ntc-templates
textfsm==1.1.0 # via ntc-templates
textfsm==1.1.0 # via napalm, netmiko, ntc-templates
timelib==0.2.4
toml==0.10.0
transitions==0.8.1 # via junos-eznc

View file

@ -24,6 +24,8 @@ chardet==3.0.4 # via requests
cheetah3==3.1.0
cheroot==6.5.4 # via cherrypy
cherrypy==17.3.0
ciscoconfparse==1.5.19 # via napalm
colorama==0.4.3 # via ciscoconfparse
contextlib2==0.5.5 # via cherrypy
croniter==0.3.29
cryptography==2.6.1 # via moto, paramiko, pyopenssl, vcert
@ -35,7 +37,7 @@ docker==3.7.2
docutils==0.14 # via botocore
ecdsa==0.13.3 # via python-jose
filelock==3.0.12 # via virtualenv
future==0.17.1 # via python-jose, textfsm
future==0.17.1 # via napalm, python-jose, textfsm
genshi==0.7.3
gitdb2==2.0.5 # via gitpython
gitpython==2.1.11
@ -55,19 +57,22 @@ kazoo==2.6.1
keyring==5.7.1
kubernetes==3.0.0
libnacl==1.7.1
lxml==4.3.3 # via junos-eznc, ncclient
lxml==4.3.3 # via junos-eznc, napalm, ncclient
mako==1.1.0
markupsafe==1.1.1
mock==3.0.5
more-itertools==5.0.0
moto==1.3.7
msgpack==1.0.0
napalm==3.1.0 ; python_version >= "3.6"
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
netaddr==0.7.19 # via junos-eznc, napalm, pyeapi
netmiko==3.2.0 # via napalm
ntc-templates==1.4.1 # via junos-eznc
oscrypto==1.2.0 # via certvalidator
packaging==19.2 # via pytest
paramiko==2.4.2
paramiko==2.7.1
passlib==1.7.2 # via ciscoconfparse
pathtools==0.1.2 # via watchdog
pluggy==0.13.0 # via pytest
portend==2.4 # via cherrypy
@ -75,16 +80,17 @@ psutil==5.6.1
py==1.8.0 # via pytest
pyaml==19.4.1 # via moto
pyasn1-modules==0.2.4 # via google-auth
pyasn1==0.4.5 # via paramiko, pyasn1-modules, rsa
pyasn1==0.4.5 # via pyasn1-modules, rsa
pycparser==2.19 # via cffi
pycryptodome==3.8.1 # via python-jose
pycryptodomex==3.9.7
pyeapi==0.8.3 # via napalm
pygit2==1.1.1
pyinotify==0.9.6
pynacl==1.3.0 # via paramiko
pyopenssl==19.0.0
pyparsing==2.4.5 # via junos-eznc, packaging
pyserial==3.4 # via junos-eznc
pyserial==3.4 # via junos-eznc, netmiko
pytest-helpers-namespace==2019.1.8
pytest-salt-factories==0.10.7
pytest-salt==2020.1.27
@ -104,7 +110,7 @@ rfc3987==1.3.8
rsa==4.0 # via google-auth
s3transfer==0.3.3 # via boto3
salttesting==2017.6.1
scp==0.13.2 # via junos-eznc
scp==0.13.2 # via junos-eznc, napalm, netmiko
setproctitle==1.1.10
setuptools-scm==3.2.0
six==1.12.0 # via bcrypt, cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kazoo, kubernetes, mock, more-itertools, moto, ncclient, packaging, pynacl, pyopenssl, python-dateutil, python-jose, pyvmomi, responses, salttesting, tempora, textfsm, transitions, vcert, virtualenv, websocket-client
@ -112,7 +118,7 @@ smmap2==2.0.5 # via gitdb2
strict-rfc3339==0.7
tempora==1.14.1 # via portend
terminal==0.4.0 # via ntc-templates
textfsm==1.1.0 # via ntc-templates
textfsm==1.1.0 # via napalm, netmiko, ntc-templates
timelib==0.2.4
toml==0.10.0
transitions==0.8.1 # via junos-eznc

View file

@ -108,7 +108,9 @@ chardet==3.0.4 # via requests
cheetah3==3.1.0
cheroot==6.5.4 # via cherrypy
cherrypy==17.3.0
ciscoconfparse==1.5.19 # via napalm
click==7.1.1 # via geomet
colorama==0.4.3 # via ciscoconfparse
contextlib2==0.5.5 # via cherrypy
croniter==0.3.29
cryptography==2.6.1 # via adal, azure-cosmosdb-table, azure-keyvault, azure-storage-common, moto, paramiko, pyopenssl, vcert
@ -120,7 +122,7 @@ docker==3.7.2
docutils==0.14 # via botocore
ecdsa==0.13.3 # via python-jose
filelock==3.0.12 # via virtualenv
future==0.17.1 # via python-jose, textfsm
future==0.17.1 # via napalm, python-jose, textfsm
genshi==0.7.3
geomet==0.1.2 # via cassandra-driver
gitdb2==2.0.5 # via gitpython
@ -142,7 +144,7 @@ kazoo==2.6.1
keyring==5.7.1
kubernetes==3.0.0
libnacl==1.7.1
lxml==4.3.3 # via junos-eznc, ncclient
lxml==4.3.3 # via junos-eznc, napalm, ncclient
mako==1.1.0
markupsafe==1.1.1
mock==3.0.5
@ -151,13 +153,15 @@ moto==1.3.7
msgpack==1.0.0
msrest==0.6.14 # via azure-applicationinsights, azure-eventgrid, azure-keyvault, azure-loganalytics, azure-mgmt-cdn, azure-mgmt-compute, azure-mgmt-containerinstance, azure-mgmt-containerregistry, azure-mgmt-containerservice, azure-mgmt-dns, azure-mgmt-eventhub, azure-mgmt-keyvault, azure-mgmt-media, azure-mgmt-network, azure-mgmt-rdbms, azure-mgmt-resource, azure-mgmt-servicebus, azure-mgmt-servicefabric, azure-mgmt-signalr, azure-servicefabric, msrestazure
msrestazure==0.6.3 # via azure-batch, azure-eventgrid, azure-graphrbac, azure-keyvault, azure-mgmt-advisor, azure-mgmt-applicationinsights, azure-mgmt-authorization, azure-mgmt-batch, azure-mgmt-batchai, azure-mgmt-billing, azure-mgmt-cdn, azure-mgmt-cognitiveservices, azure-mgmt-commerce, azure-mgmt-compute, azure-mgmt-consumption, azure-mgmt-containerinstance, azure-mgmt-containerregistry, azure-mgmt-containerservice, azure-mgmt-cosmosdb, azure-mgmt-datafactory, azure-mgmt-datalake-analytics, azure-mgmt-datalake-store, azure-mgmt-datamigration, azure-mgmt-devspaces, azure-mgmt-devtestlabs, azure-mgmt-dns, azure-mgmt-eventgrid, azure-mgmt-eventhub, azure-mgmt-hanaonazure, azure-mgmt-iotcentral, azure-mgmt-iothub, azure-mgmt-iothubprovisioningservices, azure-mgmt-keyvault, azure-mgmt-loganalytics, azure-mgmt-logic, azure-mgmt-machinelearningcompute, azure-mgmt-managementgroups, azure-mgmt-managementpartner, azure-mgmt-maps, azure-mgmt-marketplaceordering, azure-mgmt-media, azure-mgmt-monitor, azure-mgmt-msi, azure-mgmt-network, azure-mgmt-notificationhubs, azure-mgmt-policyinsights, azure-mgmt-powerbiembedded, azure-mgmt-rdbms, azure-mgmt-recoveryservices, azure-mgmt-recoveryservicesbackup, azure-mgmt-redis, azure-mgmt-relay, azure-mgmt-reservations, azure-mgmt-resource, azure-mgmt-scheduler, azure-mgmt-search, azure-mgmt-servicebus, azure-mgmt-servicefabric, azure-mgmt-signalr, azure-mgmt-sql, azure-mgmt-storage, azure-mgmt-subscription, azure-mgmt-trafficmanager, azure-mgmt-web
napalm==3.1.0 ; python_version >= "3.6"
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
netaddr==0.7.19 # via junos-eznc, napalm, pyeapi
netmiko==3.2.0 # via napalm
ntc-templates==1.4.1 # via junos-eznc
oauthlib==3.1.0 # via requests-oauthlib
oscrypto==1.2.0 # via certvalidator
packaging==19.2 # via pytest
paramiko==2.4.2
paramiko==2.7.1
passlib==1.7.2
pathtools==0.1.2 # via watchdog
pluggy==0.13.0 # via pytest
@ -166,17 +170,18 @@ psutil==5.6.1
py==1.8.0 # via pytest
pyaml==19.4.1 # via moto
pyasn1-modules==0.2.4 # via google-auth
pyasn1==0.4.5 # via paramiko, pyasn1-modules, rsa
pyasn1==0.4.5 # via pyasn1-modules, rsa
pycparser==2.19 # via cffi
pycryptodome==3.8.1 # via python-jose
pycryptodomex==3.9.7
pyeapi==0.8.3 # via napalm
pygit2==1.2.0 ; python_version >= "3.8"
pyinotify==0.9.6
pyjwt==1.7.1 # via adal
pynacl==1.3.0 # via paramiko
pyopenssl==19.0.0
pyparsing==2.4.5 # via junos-eznc, packaging
pyserial==3.4 # via junos-eznc
pyserial==3.4 # via junos-eznc, netmiko
pytest-helpers-namespace==2019.1.8
pytest-salt-factories==0.10.7
pytest-salt==2020.1.27
@ -197,7 +202,7 @@ rfc3987==1.3.8
rsa==4.0 # via google-auth
s3transfer==0.3.3 # via boto3
salttesting==2017.6.1
scp==0.13.2 # via junos-eznc
scp==0.13.2 # via junos-eznc, napalm, netmiko
setproctitle==1.1.10
setuptools-scm==3.2.0
six==1.12.0 # via bcrypt, cassandra-driver, cheroot, cherrypy, cryptography, docker, docker-pycreds, geomet, google-auth, isodate, junos-eznc, kazoo, kubernetes, mock, more-itertools, moto, ncclient, packaging, pynacl, pyopenssl, python-dateutil, python-jose, pyvmomi, responses, salttesting, tempora, textfsm, transitions, vcert, virtualenv, websocket-client
@ -205,7 +210,7 @@ smmap2==2.0.5 # via gitdb2
strict-rfc3339==0.7
tempora==1.14.1 # via portend
terminal==0.4.0 # via ntc-templates
textfsm==1.1.0 # via ntc-templates
textfsm==1.1.0 # via napalm, netmiko, ntc-templates
timelib==0.2.4
toml==0.10.0
transitions==0.8.1 # via junos-eznc

View file

@ -24,8 +24,10 @@ chardet==3.0.4 # via requests
cheetah3==3.1.0
cheroot==6.5.5 # via cherrypy
cherrypy==17.4.1
ciscoconfparse==1.5.19 # via napalm
click==7.0
clustershell==1.8.1
colorama==0.4.3 # via ciscoconfparse
contextlib2==0.5.5 # via cherrypy
croniter==0.3.29
cryptography==2.6.1
@ -37,7 +39,7 @@ docker==3.7.2
docutils==0.14 # via botocore
ecdsa==0.13.3 # via python-jose
filelock==3.0.12 # via virtualenv
future==0.17.1 # via python-jose, textfsm
future==0.17.1 # via napalm, python-jose, textfsm
genshi==0.7.3
geomet==0.1.2 # via cassandra-driver
gitdb2==2.0.5 # via gitpython
@ -56,19 +58,22 @@ jxmlease==1.0.1
keyring==5.7.1
kubernetes==3.0.0
linode-python==1.1.1
lxml==4.3.3 # via junos-eznc, ncclient
lxml==4.3.3 # via junos-eznc, napalm, ncclient
mako==1.0.7
markupsafe==1.1.1
mock==3.0.5
more-itertools==5.0.0
moto==1.3.7
msgpack==1.0.0
napalm==3.1.0 ; python_version >= "3.6"
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
netaddr==0.7.19 # via junos-eznc, napalm, pyeapi
netmiko==3.2.0 # via napalm
ntc-templates==1.4.1 # via junos-eznc
oscrypto==1.2.0 # via certvalidator
packaging==19.2 # via pytest
paramiko==2.4.2 # via junos-eznc, ncclient, scp
paramiko==2.7.1 # via junos-eznc, napalm, ncclient, netmiko, scp
passlib==1.7.2 # via ciscoconfparse
pathtools==0.1.2 # via watchdog
pluggy==0.13.1 # via pytest
portend==2.4 # via cherrypy
@ -80,10 +85,11 @@ pyasn1==0.4.8
pycparser==2.19
pycryptodome==3.8.1 # via python-jose
pycryptodomex==3.9.7
pyeapi==0.8.3 # via napalm
pynacl==1.3.0 # via paramiko
pyopenssl==19.0.0
pyparsing==2.4.5 # via junos-eznc, packaging
pyserial==3.4 # via junos-eznc
pyserial==3.4 # via junos-eznc, netmiko
pytest-helpers-namespace==2019.1.8
pytest-salt-factories==0.10.7
pytest-salt==2020.1.27
@ -103,7 +109,7 @@ rfc3987==1.3.8
rsa==4.0 # via google-auth
s3transfer==0.3.3 # via boto3
salttesting==2017.6.1
scp==0.13.2 # via junos-eznc
scp==0.13.2 # via junos-eznc, napalm, netmiko
setproctitle==1.1.10
six==1.14.0
smmap2==3.0.1 # via gitdb2
@ -111,7 +117,7 @@ smmap==3.0.4 # via smmap2
strict-rfc3339==0.7
tempora==1.14.1 # via portend
terminal==0.4.0 # via ntc-templates
textfsm==1.1.0 # via ntc-templates
textfsm==1.1.0 # via napalm, netmiko, ntc-templates
timelib==0.2.4
toml==0.10.0
transitions==0.8.1 # via junos-eznc

View file

@ -24,6 +24,8 @@ chardet==3.0.4 # via requests
cheetah3==3.1.0
cheroot==6.5.4 # via cherrypy
cherrypy==17.3.0
ciscoconfparse==1.5.19 # via napalm
colorama==0.4.3 # via ciscoconfparse
contextlib2==0.5.5 # via cherrypy
croniter==0.3.29
cryptography==2.6.1 # via moto, paramiko, pyopenssl, vcert
@ -35,7 +37,7 @@ docker==3.7.2
docutils==0.14 # via botocore
ecdsa==0.13.3 # via python-jose
filelock==3.0.12 # via virtualenv
future==0.17.1 # via python-jose, textfsm
future==0.17.1 # via napalm, python-jose, textfsm
genshi==0.7.3
gitdb2==2.0.5 # via gitpython
gitpython==2.1.11
@ -55,19 +57,22 @@ kazoo==2.6.1
keyring==5.7.1
kubernetes==3.0.0
libnacl==1.7.1
lxml==4.3.3 # via junos-eznc, ncclient
lxml==4.3.3 # via junos-eznc, napalm, ncclient
mako==1.1.0
markupsafe==1.1.1
mock==3.0.5
more-itertools==5.0.0
moto==1.3.7
msgpack==1.0.0
napalm==3.1.0 ; python_version >= "3.6"
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
netaddr==0.7.19 # via junos-eznc, napalm, pyeapi
netmiko==3.2.0 # via napalm
ntc-templates==1.4.1 # via junos-eznc
oscrypto==1.2.0 # via certvalidator
packaging==19.2 # via pytest
paramiko==2.4.2
paramiko==2.7.1
passlib==1.7.2 # via ciscoconfparse
pathtools==0.1.2 # via watchdog
pluggy==0.13.0 # via pytest
portend==2.4 # via cherrypy
@ -75,16 +80,17 @@ psutil==5.6.1
py==1.8.0 # via pytest
pyaml==19.4.1 # via moto
pyasn1-modules==0.2.4 # via google-auth
pyasn1==0.4.5 # via paramiko, pyasn1-modules, rsa
pyasn1==0.4.5 # via pyasn1-modules, rsa
pycparser==2.19 # via cffi
pycryptodome==3.8.1 # via python-jose
pycryptodomex==3.9.7
pyeapi==0.8.3 # via napalm
pygit2==1.1.1
pyinotify==0.9.6
pynacl==1.3.0 # via paramiko
pyopenssl==19.0.0
pyparsing==2.4.5 # via junos-eznc, packaging
pyserial==3.4 # via junos-eznc
pyserial==3.4 # via junos-eznc, netmiko
pytest-helpers-namespace==2019.1.8
pytest-salt-factories==0.10.7
pytest-salt==2020.1.27
@ -104,7 +110,7 @@ rfc3987==1.3.8
rsa==4.0 # via google-auth
s3transfer==0.3.3 # via boto3
salttesting==2017.6.1
scp==0.13.2 # via junos-eznc
scp==0.13.2 # via junos-eznc, napalm, netmiko
setproctitle==1.1.10
setuptools-scm==3.2.0
six==1.12.0 # via bcrypt, cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kazoo, kubernetes, mock, more-itertools, moto, ncclient, packaging, pynacl, pyopenssl, python-dateutil, python-jose, pyvmomi, responses, salttesting, tempora, textfsm, transitions, vcert, virtualenv, websocket-client
@ -112,7 +118,7 @@ smmap2==2.0.5 # via gitdb2
strict-rfc3339==0.7
tempora==1.14.1 # via portend
terminal==0.4.0 # via ntc-templates
textfsm==1.1.0 # via ntc-templates
textfsm==1.1.0 # via napalm, netmiko, ntc-templates
timelib==0.2.4
toml==0.10.0
transitions==0.8.1 # via junos-eznc

View file

@ -108,7 +108,9 @@ chardet==3.0.4 # via requests
cheetah3==3.1.0
cheroot==6.5.4 # via cherrypy
cherrypy==17.3.0
ciscoconfparse==1.5.19 # via napalm
click==7.1.1 # via geomet
colorama==0.4.3 # via ciscoconfparse
contextlib2==0.5.5 # via cherrypy
croniter==0.3.29
cryptography==2.6.1 # via adal, azure-cosmosdb-table, azure-keyvault, azure-storage-common, moto, paramiko, pyopenssl, vcert
@ -120,7 +122,7 @@ docker==3.7.2
docutils==0.14 # via botocore
ecdsa==0.13.3 # via python-jose
filelock==3.0.12 # via virtualenv
future==0.17.1 # via python-jose, textfsm
future==0.17.1 # via napalm, python-jose, textfsm
genshi==0.7.3
geomet==0.1.2 # via cassandra-driver
gitdb2==2.0.5 # via gitpython
@ -142,7 +144,7 @@ kazoo==2.6.1
keyring==5.7.1
kubernetes==3.0.0
libnacl==1.7.1
lxml==4.3.3 # via junos-eznc, ncclient
lxml==4.3.3 # via junos-eznc, napalm, ncclient
mako==1.1.0
markupsafe==1.1.1
mock==3.0.5
@ -151,13 +153,15 @@ moto==1.3.7
msgpack==1.0.0
msrest==0.6.14 # via azure-applicationinsights, azure-eventgrid, azure-keyvault, azure-loganalytics, azure-mgmt-cdn, azure-mgmt-compute, azure-mgmt-containerinstance, azure-mgmt-containerregistry, azure-mgmt-containerservice, azure-mgmt-dns, azure-mgmt-eventhub, azure-mgmt-keyvault, azure-mgmt-media, azure-mgmt-network, azure-mgmt-rdbms, azure-mgmt-resource, azure-mgmt-servicebus, azure-mgmt-servicefabric, azure-mgmt-signalr, azure-servicefabric, msrestazure
msrestazure==0.6.3 # via azure-batch, azure-eventgrid, azure-graphrbac, azure-keyvault, azure-mgmt-advisor, azure-mgmt-applicationinsights, azure-mgmt-authorization, azure-mgmt-batch, azure-mgmt-batchai, azure-mgmt-billing, azure-mgmt-cdn, azure-mgmt-cognitiveservices, azure-mgmt-commerce, azure-mgmt-compute, azure-mgmt-consumption, azure-mgmt-containerinstance, azure-mgmt-containerregistry, azure-mgmt-containerservice, azure-mgmt-cosmosdb, azure-mgmt-datafactory, azure-mgmt-datalake-analytics, azure-mgmt-datalake-store, azure-mgmt-datamigration, azure-mgmt-devspaces, azure-mgmt-devtestlabs, azure-mgmt-dns, azure-mgmt-eventgrid, azure-mgmt-eventhub, azure-mgmt-hanaonazure, azure-mgmt-iotcentral, azure-mgmt-iothub, azure-mgmt-iothubprovisioningservices, azure-mgmt-keyvault, azure-mgmt-loganalytics, azure-mgmt-logic, azure-mgmt-machinelearningcompute, azure-mgmt-managementgroups, azure-mgmt-managementpartner, azure-mgmt-maps, azure-mgmt-marketplaceordering, azure-mgmt-media, azure-mgmt-monitor, azure-mgmt-msi, azure-mgmt-network, azure-mgmt-notificationhubs, azure-mgmt-policyinsights, azure-mgmt-powerbiembedded, azure-mgmt-rdbms, azure-mgmt-recoveryservices, azure-mgmt-recoveryservicesbackup, azure-mgmt-redis, azure-mgmt-relay, azure-mgmt-reservations, azure-mgmt-resource, azure-mgmt-scheduler, azure-mgmt-search, azure-mgmt-servicebus, azure-mgmt-servicefabric, azure-mgmt-signalr, azure-mgmt-sql, azure-mgmt-storage, azure-mgmt-subscription, azure-mgmt-trafficmanager, azure-mgmt-web
napalm==3.1.0 ; python_version >= "3.6"
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
netaddr==0.7.19 # via junos-eznc, napalm, pyeapi
netmiko==3.2.0 # via napalm
ntc-templates==1.4.1 # via junos-eznc
oauthlib==3.1.0 # via requests-oauthlib
oscrypto==1.2.0 # via certvalidator
packaging==19.2 # via pytest
paramiko==2.4.2
paramiko==2.7.1
passlib==1.7.2
pathtools==0.1.2 # via watchdog
pluggy==0.13.0 # via pytest
@ -166,17 +170,18 @@ psutil==5.6.1
py==1.8.0 # via pytest
pyaml==19.4.1 # via moto
pyasn1-modules==0.2.4 # via google-auth
pyasn1==0.4.5 # via paramiko, pyasn1-modules, rsa
pyasn1==0.4.5 # via pyasn1-modules, rsa
pycparser==2.19 # via cffi
pycryptodome==3.8.1 # via python-jose
pycryptodomex==3.9.7
pyeapi==0.8.3 # via napalm
pygit2==1.2.0 ; python_version >= "3.8"
pyinotify==0.9.6
pyjwt==1.7.1 # via adal
pynacl==1.3.0 # via paramiko
pyopenssl==19.0.0
pyparsing==2.4.5 # via junos-eznc, packaging
pyserial==3.4 # via junos-eznc
pyserial==3.4 # via junos-eznc, netmiko
pytest-helpers-namespace==2019.1.8
pytest-salt-factories==0.10.7
pytest-salt==2020.1.27
@ -197,7 +202,7 @@ rfc3987==1.3.8
rsa==4.0 # via google-auth
s3transfer==0.3.3 # via boto3
salttesting==2017.6.1
scp==0.13.2 # via junos-eznc
scp==0.13.2 # via junos-eznc, napalm, netmiko
setproctitle==1.1.10
setuptools-scm==3.2.0
six==1.12.0 # via bcrypt, cassandra-driver, cheroot, cherrypy, cryptography, docker, docker-pycreds, geomet, google-auth, isodate, junos-eznc, kazoo, kubernetes, mock, more-itertools, moto, ncclient, packaging, pynacl, pyopenssl, python-dateutil, python-jose, pyvmomi, responses, salttesting, tempora, textfsm, transitions, vcert, virtualenv, websocket-client
@ -205,7 +210,7 @@ smmap2==2.0.5 # via gitdb2
strict-rfc3339==0.7
tempora==1.14.1 # via portend
terminal==0.4.0 # via ntc-templates
textfsm==1.1.0 # via ntc-templates
textfsm==1.1.0 # via napalm, netmiko, ntc-templates
timelib==0.2.4
toml==0.10.0
transitions==0.8.1 # via junos-eznc

View file

@ -14,6 +14,7 @@ kubernetes<4.0
mock>=3.0.5; python_version < '3.6'
more-itertools==5.0.0
moto<=1.3.7
napalm; python_version >= '3.6'
patch
pygit2<=0.28.2; python_version < '3.8'
pygit2>=1.2.0; python_version >= '3.8'

View file

@ -1,4 +1,3 @@
# -*- coding: utf-8 -*-
"""
BGP Finder
==========
@ -97,22 +96,15 @@ Configuration
- flap_count
outputter: yaml
"""
from __future__ import absolute_import, print_function, unicode_literals
# Import salt lib
import salt.output
from salt.ext import six
from salt.ext.six.moves import map
# Import third party libs
try:
from netaddr import IPNetwork
from netaddr import IPAddress
# pylint: disable=unused-import
from napalm.base import helpers as napalm_helpers
from napalm.base import helpers as napalm_helpers # pylint: disable=unused-import
# pylint: enable=unused-import
HAS_NAPALM = True
except ImportError:
HAS_NAPALM = False
@ -189,7 +181,7 @@ def _compare_match(dict1, dict2):
"""
Compare two dictionaries and return a boolean value if their values match.
"""
for karg, warg in six.iteritems(dict1):
for karg, warg in dict1.items():
if karg in dict2 and dict2[karg] != warg:
return False
return True
@ -298,7 +290,7 @@ def neighbors(*asns, **kwargs):
# __pub args not used in this runner (yet)
kwargs_copy = {}
kwargs_copy.update(kwargs)
for karg, _ in six.iteritems(kwargs_copy):
for karg, _ in kwargs_copy.items():
if karg.startswith("__pub"):
kwargs.pop(karg)
if not asns and not kwargs:
@ -328,7 +320,7 @@ def neighbors(*asns, **kwargs):
if asns:
title_parts.append(
"BGP Neighbors for {asns}".format(
asns=", ".join([six.text_type(asn) for asn in asns])
asns=", ".join([str(asn) for asn in asns])
)
)
if neighbor_ip:
@ -355,19 +347,21 @@ def neighbors(*asns, **kwargs):
)
)
title = "\n".join(title_parts)
for minion, get_bgp_neighbors_minion in six.iteritems(
get_bgp_neighbors_all
): # pylint: disable=too-many-nested-blocks
for (
minion,
get_bgp_neighbors_minion,
) in get_bgp_neighbors_all.items(): # pylint: disable=too-many-nested-blocks
if not get_bgp_neighbors_minion.get("result"):
continue # ignore empty or failed mines
if device and minion != device:
# when requested to display only the neighbors on a certain device
continue
get_bgp_neighbors_minion_out = get_bgp_neighbors_minion.get("out", {})
for vrf, vrf_bgp_neighbors in six.iteritems(
get_bgp_neighbors_minion_out
): # pylint: disable=unused-variable
for asn, get_bgp_neighbors_minion_asn in six.iteritems(vrf_bgp_neighbors):
for (
vrf,
vrf_bgp_neighbors,
) in get_bgp_neighbors_minion_out.items(): # pylint: disable=unused-variable
for asn, get_bgp_neighbors_minion_asn in vrf_bgp_neighbors.items():
if asns and asn not in asns:
# if filtering by AS number(s),
# will ignore if this AS number key not in that list

View file

@ -1,4 +1,3 @@
# -*- coding: utf-8 -*-
"""
NET Finder
==========
@ -68,15 +67,10 @@ Configuration
- fxp0
outputter: yaml
"""
from __future__ import absolute_import, print_function, unicode_literals
# Import salt lib
import salt.output
import salt.utils.network
from salt.ext import six
from salt.ext.six.moves import map
# Import third party libs
try:
from netaddr import IPNetwork # netaddr is already required by napalm
from netaddr.core import AddrFormatError
@ -195,12 +189,10 @@ def _find_interfaces_ip(mac):
all_interfaces = _get_mine("net.interfaces")
all_ipaddrs = _get_mine("net.ipaddrs")
for device, device_interfaces in six.iteritems(all_interfaces):
for device, device_interfaces in all_interfaces.items():
if not device_interfaces.get("result", False):
continue
for interface, interface_details in six.iteritems(
device_interfaces.get("out", {})
):
for interface, interface_details in device_interfaces.get("out", {}).items():
try:
interface_mac = napalm_helpers.convert(
napalm_helpers.mac, interface_details.get("mac_address")
@ -215,8 +207,8 @@ def _find_interfaces_ip(mac):
ip_addresses = interface_ipaddrs.get("ipv4", {})
ip_addresses.update(interface_ipaddrs.get("ipv6", {}))
interface_ips = [
"{0}/{1}".format(ip_addr, addr_details.get("prefix_length", "32"))
for ip_addr, addr_details in six.iteritems(ip_addresses)
"{}/{}".format(ip_addr, addr_details.get("prefix_length", "32"))
for ip_addr, addr_details in ip_addresses.items()
]
return device, interface, interface_ips
@ -230,12 +222,10 @@ def _find_interfaces_mac(ip): # pylint: disable=invalid-name
all_interfaces = _get_mine("net.interfaces")
all_ipaddrs = _get_mine("net.ipaddrs")
for device, device_ipaddrs in six.iteritems(all_ipaddrs):
for device, device_ipaddrs in all_ipaddrs.items():
if not device_ipaddrs.get("result", False):
continue
for interface, interface_ipaddrs in six.iteritems(
device_ipaddrs.get("out", {})
):
for interface, interface_ipaddrs in device_ipaddrs.get("out", {}).items():
ip_addresses = set(interface_ipaddrs.get("ipv4", {}).keys())
ip_addresses.update(set(interface_ipaddrs.get("ipv6", {}).keys()))
for ipaddr in ip_addresses:
@ -346,19 +336,19 @@ def interfaces(
net_runner_opts = _get_net_runner_opts()
if pattern:
title = 'Pattern "{0}" found in the description of the following interfaces'.format(
title = 'Pattern "{}" found in the description of the following interfaces'.format(
pattern
)
if not title:
title = "Details"
if interface:
title += " for interface {0}".format(interface)
title += " for interface {}".format(interface)
else:
title += " for all interfaces"
if device:
title += " on device {0}".format(device)
title += " on device {}".format(device)
if ipnet:
title += " that include network {net}".format(net=six.text_type(ipnet))
title += " that include network {net}".format(net=str(ipnet))
if best:
title += " - only best match returned"
@ -373,9 +363,10 @@ def interfaces(
best_row = {}
best_net_match = IPNetwork("0.0.0.0/0")
for device, net_interfaces_out in six.iteritems(
all_interfaces
): # pylint: disable=too-many-nested-blocks
for (
device,
net_interfaces_out,
) in all_interfaces.items(): # pylint: disable=too-many-nested-blocks
if not net_interfaces_out:
continue
if not net_interfaces_out.get("result", False):
@ -385,9 +376,7 @@ def interfaces(
selected_device_interfaces = {
interface: selected_device_interfaces.get(interface, {})
}
for interface_name, interface_details in six.iteritems(
selected_device_interfaces
):
for interface_name, interface_details in selected_device_interfaces.items():
if not interface_details:
continue
if ipnet and interface_name in net_runner_opts.get("ignore_interfaces"):
@ -412,8 +401,8 @@ def interfaces(
"ips": [],
}
intf_entry_found = False
for intrf, interface_ips in six.iteritems(
all_ipaddrs.get(device, {}).get("out", {})
for intrf, interface_ips in (
all_ipaddrs.get(device, {}).get("out", {}).items()
):
if intrf.split(".")[0] == interface_name:
ip_addresses = interface_ips.get("ipv4", {}) # all IPv4 addresses
@ -421,10 +410,8 @@ def interfaces(
interface_ips.get("ipv6", {})
) # and all IPv6 addresses
ips = [
"{0}/{1}".format(
ip_addr, addr_details.get("prefix_length", "32")
)
for ip_addr, addr_details in six.iteritems(ip_addresses)
"{}/{}".format(ip_addr, addr_details.get("prefix_length", "32"))
for ip_addr, addr_details in ip_addresses.items()
]
interf_entry = {}
interf_entry.update(device_entry)
@ -433,7 +420,7 @@ def interfaces(
interf_entry["ips"] = "\n".join(interf_entry["ips"])
if ipnet:
inet_ips = [
six.text_type(ip) for ip in ips if _ipnet_belongs(ip)
str(ip) for ip in ips if _ipnet_belongs(ip)
] # filter and get only IP include ipnet
if inet_ips: # if any
if best:
@ -530,7 +517,7 @@ def findarp(
if device:
all_arp = {device: all_arp.get(device)}
for device, device_arp in six.iteritems(all_arp):
for device, device_arp in all_arp.items():
if not device_arp:
continue
if not device_arp.get("result", False):
@ -632,7 +619,7 @@ def findmac(device=None, mac=None, interface=None, vlan=None, display=_DEFAULT_D
if device:
all_mac = {device: all_mac.get(device)}
for device, device_mac in six.iteritems(all_mac):
for device, device_mac in all_mac.items():
if not device_mac:
continue
if not device_mac.get("result", False):
@ -648,10 +635,7 @@ def findmac(device=None, mac=None, interface=None, vlan=None, display=_DEFAULT_D
== napalm_helpers.convert(napalm_helpers.mac, mac)
)
or (interface and interface in mac_entry.get("interface", ""))
or (
vlan
and six.text_type(mac_entry.get("vlan", "")) == six.text_type(vlan)
)
or (vlan and str(mac_entry.get("vlan", "")) == str(vlan))
):
rows.append(
{
@ -757,24 +741,24 @@ def lldp(
rows = []
if pattern:
title = 'Pattern "{0}" found in one of the following LLDP details'.format(
title = 'Pattern "{}" found in one of the following LLDP details'.format(
pattern
)
if not title:
title = "LLDP Neighbors"
if interface:
title += " for interface {0}".format(interface)
title += " for interface {}".format(interface)
else:
title += " for all interfaces"
if device:
title += " on device {0}".format(device)
title += " on device {}".format(device)
if chassis:
title += " having Chassis ID {0}".format(chassis)
title += " having Chassis ID {}".format(chassis)
if device:
all_lldp = {device: all_lldp.get(device)}
for device, device_lldp in six.iteritems(all_lldp):
for device, device_lldp in all_lldp.items():
if not device_lldp:
continue
if not device_lldp.get("result", False):
@ -782,7 +766,7 @@ def lldp(
lldp_interfaces = device_lldp.get("out", {})
if interface:
lldp_interfaces = {interface: lldp_interfaces.get(interface, [])}
for intrf, interface_lldp in six.iteritems(lldp_interfaces):
for intrf, interface_lldp in lldp_interfaces.items():
if not interface_lldp:
continue
for lldp_row in interface_lldp: