Skip to content
Snippets Groups Projects
Commit 372b3e55 authored by Erik Reid's avatar Erik Reid
Browse files

store netdash router list and not junosspace list

parent f2b4018e
Branches
Tags
No related merge requests found
......@@ -313,11 +313,9 @@ def load_routers_from_netdash(url):
"""
r = requests.get(url=url)
r.raise_for_status()
neteng_routers = set([
return [
l.strip() for l in r.text.splitlines() if l.strip()
])
return list(neteng_routers)
]
def local_interfaces(
......
......@@ -105,11 +105,12 @@ def build_service_interface_user_list(config):
def derive_router_hostnames(config):
r = get_next_redis(config)
junosspace_equipment = set()
for k in r.keys('junosspace:*'):
m = re.match('^junosspace:(.*)$', k.decode('utf-8'))
assert m
junosspace_equipment.add(m.group(1))
routers = r.get('netdash')
assert routers
junosspace_equipment = json.loads(routers.decode('utf-8'))
assert isinstance(junosspace_equipment, (list, tuple))
junosspace_equipment = set(junosspace_equipment)
opsdb_equipment = set()
for k in r.scan_iter('opsdb:interface_services:*'):
......
......@@ -268,36 +268,25 @@ def update_neteng_managed_device_list(self):
self.update_state(
state=states.STARTED,
meta={
'task': 'update_junosspace_device_list',
'message': 'querying junosspace for managed routers'
'task': 'update_neteng_managed_device_list',
'message': 'querying netdash for managed routers'
})
r = get_next_redis(InventoryTask.config)
routers = {}
for d in juniper.load_routers_from_junosspace(
InventoryTask.config['junosspace']):
routers['junosspace:' + d['hostname']] = json.dumps(d).encode('utf-8')
routers = list(juniper.load_routers_from_netdash(
InventoryTask.config['managed-routers']))
self.update_state(
state=states.STARTED,
meta={
'task': 'update_junosspace_device_list',
'message': 'found %d routers, saving details' % len(routers)
'task': 'update_neteng_managed_device_list',
'message': f'found {len(routers)} routers, saving details'
})
rp = r.pipeline()
for k in r.scan_iter('junosspace:*'):
rp.delete(k)
rp.execute()
rp = r.pipeline()
for k, v in routers.items():
rp.set(k, v)
rp.execute()
r = get_next_redis(InventoryTask.config)
r.set('netdash', json.dumps(routers).encode('utf-8'))
return {
'task': 'update_junosspace_device_list',
'task': 'update_neteng_managed_device_list',
'message': 'saved %d managed routers' % len(routers)
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment