From 688bef926db4ac934e9d396084f06762cae9adf3 Mon Sep 17 00:00:00 2001 From: cklewar Date: Tue, 10 Apr 2018 11:57:56 +0200 Subject: [PATCH] - update add/mod/del --- main.py | 32 +++++++++++++++++++++++++------- ui/config.yml | 4 ++-- ui/ui.js | 2 -- 3 files changed, 27 insertions(+), 11 deletions(-) diff --git a/main.py b/main.py index 0640ed5..ffe391c 100644 --- a/main.py +++ b/main.py @@ -18,7 +18,7 @@ # -import os.path +import os import cherrypy import hashlib import datetime @@ -49,7 +49,14 @@ def addNewFlowRoute(self, flowRouteData=None): # loader=FileSystemLoader('./template'), trim_blocks=False, lstrip_blocks=False) #template = env.get_template('set-flow-route.conf') - with Device(host=self.routers[0]['rt1']['ip'], user=self.dev_user, password=self.dev_pw) as dev: + my_router = None + for router in self.routers: + + for name, value in router.iteritems(): + if 'rr' in value['type']: + my_router = [value['ip']] + + with Device(host=my_router[0], user=self.dev_user, password=self.dev_pw) as dev: try: @@ -73,7 +80,14 @@ def addNewFlowRoute(self, flowRouteData=None): def modFlowRoute(self, flowRouteData=None): - with Device(host=self.routers[0]['rt1']['ip'], user=self.dev_user, password=self.dev_pw) as dev: + my_router = None + for router in self.routers: + + for name, value in router.iteritems(): + if 'rr' in value['type']: + my_router = [value['ip']] + + with Device(host=my_router[0], user=self.dev_user, password=self.dev_pw) as dev: cu = Config(dev) cu.lock() cu.load(template_path='template/mod-flow-route.conf', template_vars=flowRouteData) @@ -89,7 +103,14 @@ def modFlowRoute(self, flowRouteData=None): def delFlowRoute(self, flowRouteData=None): - with Device(host=self.routers[0]['rt1']['ip'], user=self.dev_user, password=self.dev_pw) as dev: + my_router = None + for router in self.routers: + + for name, value in router.iteritems(): + if 'rr' in value['type']: + my_router = [value['ip']] + + with Device(host=my_router[0], user=self.dev_user, password=self.dev_pw) as dev: try: @@ -278,7 +299,6 @@ def loadFlowRouteConfig(self): for child in item.iterchildren(): for value in child.iter(): - print value.tag, value.text _action[child.tag] = {'value': value.text} self.flow_config[my_list[0]]['action'] = _action @@ -301,8 +321,6 @@ def loadFlowRouteConfig(self): else: _action[key] = {'value': None} - print route - self.flow_config[route['name']] = {'dstPrefix': route['match']['destination'] if 'destination' in route['match'] else '*', 'srcPrefix': route['match']['source'] if 'source' in route['match'] else '*', 'protocol': route['match']['protocol'] if 'protocol' in route['match'] else '*', diff --git a/ui/config.yml b/ui/config.yml index 89dc8e2..38ffe45 100644 --- a/ui/config.yml +++ b/ui/config.yml @@ -2,9 +2,9 @@ age_out_interval: 00:03:00 dev_pw: juniper123 dev_user: root routers: - - rt1: + - RR: type: rr ip: 10.11.111.120 - - rt2: + - PE: type: asbr ip: 10.11.111.121 \ No newline at end of file diff --git a/ui/ui.js b/ui/ui.js index bd1acaa..31346b7 100644 --- a/ui/ui.js +++ b/ui/ui.js @@ -140,8 +140,6 @@ $(document).ready(function () { if (data.age <= ageOutInterval) { $(row).css( 'color', 'red' ).animate( { color: 'black' }); - - } }, "columns": [