Skip to content

Commit

Permalink
Update main.py. Add audit logging fro add/mod/del flow routes
Browse files Browse the repository at this point in the history
  • Loading branch information
knewell committed Sep 16, 2019
1 parent 394d2a0 commit 4a8f93c
Showing 1 changed file with 26 additions and 10 deletions.
36 changes: 26 additions & 10 deletions main.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,15 @@
from jnpr.junos.exception import ConfigLoadError, CommitError
from data.fr import FlowRoutesTable, FlowFilterTable

# set up logging for the main program
logFormatter = '%(asctime)s - %(name)s - %(levelname)s - %(message)s'
logging.basicConfig(format=logFormatter, level=logging.INFO)
logger = logging.getLogger(__name__)

# suppressing the INFO logging from ncclient module
logging.getLogger('ncclient').setLevel(logging.WARNING)
# suppressing the INFO logging from cherrypy module
#logging.getLogger('cherrypy').setLevel(logging.WARNING)

class MyDev(object):

Expand All @@ -51,15 +60,13 @@ def addNewFlowRoute(self, flowRouteData=None):
if flowRouteData['vrf'] == 'default':
flowRouteData.pop('vrf', None)

env = Environment(autoescape=False,
loader=FileSystemLoader('./template'), trim_blocks=False, lstrip_blocks=False)
template = env.get_template('set-flow-route.conf')
#print template.render(flowRouteData)

# env = Environment(autoescape=False,
# loader=FileSystemLoader('./template'), trim_blocks=False, lstrip_blocks=False)
# template = env.get_template('set-flow-route.conf')
# print template.render(flowRouteData)

my_router = None
for router in self.routers:

for name, value in router.items():
if 'rr' in value['type']:
my_router = [value['ip']]
Expand All @@ -74,8 +81,10 @@ def addNewFlowRoute(self, flowRouteData=None):
cu.load(template_path='template/set-flow-route.conf', template_vars=flowRouteData)
cu.commit()
cu.unlock()
logger.info('Flow Route added ' + str(flowRouteData))

except ConfigLoadError as cle:
logger.warning(cle.message)
return False, cle.message

# self.flow_config[flowRouteData['flowRouteName']] = {
Expand All @@ -92,10 +101,10 @@ def modFlowRoute(self, flowRouteData=None):
if flowRouteData['vrf'] == 'default':
flowRouteData.pop('vrf', None)

env = Environment(autoescape=False,
loader=FileSystemLoader('./template'), trim_blocks=False, lstrip_blocks=False)
template = env.get_template('set-flow-route.conf')
#print(template.render(flowRouteData))
# env = Environment(autoescape=False,
# loader=FileSystemLoader('./template'), trim_blocks=False, lstrip_blocks=False)
# template = env.get_template('set-flow-route.conf')
# print(template.render(flowRouteData))

my_router = None
for router in self.routers:
Expand All @@ -112,8 +121,10 @@ def modFlowRoute(self, flowRouteData=None):
cu.load(template_path='template/set-flow-route.conf', template_vars=flowRouteData)
cu.commit()
cu.unlock()
logger.info('Flow Route modified ' + str(flowRouteData))

except CommitError as ce:
logger.warning(ce.message)
return False, ce.message

# self.flow_config[flowRouteData['flowRouteName']] = {
Expand Down Expand Up @@ -149,8 +160,10 @@ def delFlowRoute(self, flowRouteData=None):
cu.load(template_path='template/delete-flow-route.conf', template_vars=flowRouteData, merge=True)
cu.commit()
cu.unlock()
logger.info('Flow Route deleted ' + str(flowRouteData))

except ConfigLoadError as cle:
logger.warning(cle.message)
return False, cle.message

self.flow_config.pop(flowRouteData['flowRouteName'], None)
Expand Down Expand Up @@ -635,4 +648,7 @@ def POST(self):
'server.socket_host': '0.0.0.0',
'server.socket_port': 8080,
})
# suppressing the logging from cherrypy module if log.screen == False
cherrypy.log.error_log.propagate = False
cherrypy.log.access_log.propagate = False
cherrypy.quickstart(webapp, '/', conf)

0 comments on commit 4a8f93c

Please sign in to comment.