|
|
@@ -23,7 +23,7 @@ def index(request):
|
|
23
|
23
|
|
|
24
|
24
|
rapi = exfo.list_api()
|
|
25
|
25
|
sla = exfo.call_api("sla")
|
|
26
|
|
-
|
|
|
26
|
+
|
|
27
|
27
|
data_to_parse = """
|
|
28
|
28
|
interface Loopback0
|
|
29
|
29
|
description Router-id-loopback
|
|
|
@@ -105,8 +105,8 @@ interface {{ interface | contains("Vlan") }}
|
|
105
|
105
|
# results = parser.result(format='xlsx')[0]
|
|
106
|
106
|
# pprint(results)
|
|
107
|
107
|
try:
|
|
108
|
|
- mk_ips = mkt.call_remote("ip/route")
|
|
109
|
|
- mk_address = mkt.call_remote("ip/address")
|
|
|
108
|
+ mk_ips = mkt.call_remote("ip/route")
|
|
|
109
|
+ mk_address = mkt.call_remote("ip/address")
|
|
110
|
110
|
except:
|
|
111
|
111
|
mk_ips = []
|
|
112
|
112
|
mk_address = []
|
|
|
@@ -252,7 +252,7 @@ def print_table(request):
|
|
252
|
252
|
return render(request, 'backend/print_table.html')
|
|
253
|
253
|
|
|
254
|
254
|
|
|
255
|
|
-
|
|
|
255
|
+
|
|
256
|
256
|
def dump_fixed_results(request):
|
|
257
|
257
|
from bson.json_util import dumps
|
|
258
|
258
|
from bson.json_util import loads
|
|
|
@@ -312,7 +312,7 @@ def gen_report_notebook():
|
|
312
|
312
|
|
|
313
|
313
|
from_zone = tz.gettz('UTC')
|
|
314
|
314
|
to_zone = tz.gettz('Asia/Bangkok')
|
|
315
|
|
-
|
|
|
315
|
+
|
|
316
|
316
|
c = db['fixed_results'].find()
|
|
317
|
317
|
c2 = db['ip_address']
|
|
318
|
318
|
|
|
|
@@ -325,14 +325,14 @@ def gen_report_notebook():
|
|
325
|
325
|
yest = utc - timedelta(minutes=4)
|
|
326
|
326
|
dt = utc.astimezone(to_zone)
|
|
327
|
327
|
|
|
328
|
|
- d = {'header': i['header'], 'results': i['results'], 'output': res, 'params': i['parameters'], 'ts': i['ids']['time_stamp'],
|
|
|
328
|
+ d = {'header': i['header'], 'results': i['results'], 'output': res, 'params': i['parameters'], 'ts': i['ids']['time_stamp'],
|
|
329
|
329
|
'dt': str(dt), 'test_type_name': i['ids']['fixed_results_url']}
|
|
330
|
330
|
|
|
331
|
|
-
|
|
|
331
|
+
|
|
332
|
332
|
|
|
333
|
333
|
d.update(i['names'])
|
|
334
|
334
|
if not d['sla_name']:
|
|
335
|
|
- continue
|
|
|
335
|
+ continue
|
|
336
|
336
|
|
|
337
|
337
|
sla_splt = d['sla_name'].split('-')
|
|
338
|
338
|
if len(sla_splt) > 1:
|
|
|
@@ -351,7 +351,7 @@ def gen_report_notebook():
|
|
351
|
351
|
pprint("Found Target")
|
|
352
|
352
|
pprint(target_address)
|
|
353
|
353
|
d.update(target_address)
|
|
354
|
|
-
|
|
|
354
|
+
|
|
355
|
355
|
#res.update(i['ids'])
|
|
356
|
356
|
#res.update(i[])
|
|
357
|
357
|
#pprint(d)
|
|
|
@@ -366,11 +366,11 @@ def gen_report_notebook():
|
|
366
|
366
|
|
|
367
|
367
|
df1 = df1.query('sla_name == sla_name')
|
|
368
|
368
|
#pprint(df1['sla_name'].unique())
|
|
369
|
|
-
|
|
|
369
|
+
|
|
370
|
370
|
#df1['results_text'] = df1['results'].apply(con_human)
|
|
371
|
371
|
df1['results_text'] = df1.apply(con_human, axis=1)
|
|
372
|
372
|
try:
|
|
373
|
|
- df1['network_str'] = df1['network'] + " / " + df1['interface']
|
|
|
373
|
+ df1['network_str'] = df1['network'] + " / " + df1['interface']
|
|
374
|
374
|
except:
|
|
375
|
375
|
df1['network_str'] = "N/A"
|
|
376
|
376
|
|
|
|
@@ -382,33 +382,33 @@ def gen_report(request):
|
|
382
|
382
|
pprint("report notebook ...")
|
|
383
|
383
|
if request.GET.get('clear', None):
|
|
384
|
384
|
return redirect("/backend/dump_fixed_results/?redir=/backend/gen_report/")
|
|
385
|
|
-
|
|
|
385
|
+
|
|
386
|
386
|
try:
|
|
387
|
387
|
table,df = gen_report_notebook()
|
|
388
|
388
|
except Exception as e:
|
|
389
|
389
|
messages.error(request, str(e))
|
|
390
|
390
|
return render(request, 'backend/gen_report.html', {'dump_again': True})
|
|
391
|
|
-
|
|
|
391
|
+
|
|
392
|
392
|
slas = list(df['sla_name'].unique())
|
|
393
|
393
|
vrs = list(df['verifier_name'].unique())
|
|
394
|
394
|
sla_name = request.GET.getlist('sla_name')
|
|
395
|
395
|
vr_name = request.GET.getlist('vr_name')
|
|
396
|
|
-
|
|
|
396
|
+
|
|
397
|
397
|
pprint("--- sla_name ---")
|
|
398
|
398
|
pprint(sla_name)
|
|
399
|
399
|
if len(sla_name) > 0:
|
|
400
|
400
|
sla_filter = ", ".join(f"'{w}'" for w in sla_name)
|
|
401
|
401
|
table = table.query(f"sla_name in ({sla_filter})")
|
|
402
|
|
-
|
|
|
402
|
+
|
|
403
|
403
|
if len(vr_name) > 0:
|
|
404
|
404
|
vr_filter = ", ".join(f"'{w}'" for w in vr_name)
|
|
405
|
405
|
table = table.query(f"verifier_name in ({vr_filter})")
|
|
406
|
|
-
|
|
|
406
|
+
|
|
407
|
407
|
table = table.dropna(how='all', axis=0)
|
|
408
|
408
|
table = table.dropna(how='all', axis=1)
|
|
409
|
409
|
|
|
410
|
410
|
gen_report = request.GET.get('genReport', None)
|
|
411
|
|
-
|
|
|
411
|
+
|
|
412
|
412
|
report_link = None
|
|
413
|
413
|
if gen_report:
|
|
414
|
414
|
import time
|
|
|
@@ -422,8 +422,8 @@ def gen_report(request):
|
|
422
|
422
|
report_link = f'/media/{fn}'
|
|
423
|
423
|
|
|
424
|
424
|
try:
|
|
425
|
|
- mk_ips = mkt.call_remote("ip/route")
|
|
426
|
|
- mk_address = mkt.call_remote("ip/address")
|
|
|
425
|
+ mk_ips = mkt.call_remote("ip/route")
|
|
|
426
|
+ mk_address = mkt.call_remote("ip/address")
|
|
427
|
427
|
except:
|
|
428
|
428
|
mk_ips = []
|
|
429
|
429
|
mk_address = []
|
|
|
@@ -436,12 +436,15 @@ def gen_report(request):
|
|
436
|
436
|
def mikro_dump_task():
|
|
437
|
437
|
#look at only pppoe only ( excloude pppoe5 )
|
|
438
|
438
|
col = db['ip_address']
|
|
439
|
|
- mk_address = mkt.call_remote("ip/address")
|
|
440
|
|
- for i in mk_address:
|
|
441
|
|
- temp = {'ts': datetime.utcnow()}
|
|
442
|
|
- temp = temp | i
|
|
443
|
|
- col.insert_one(temp)
|
|
444
|
|
- pprint("dump ip complete")
|
|
|
439
|
+ try:
|
|
|
440
|
+ mk_address = mkt.call_remote("ip/address")
|
|
|
441
|
+ for i in mk_address:
|
|
|
442
|
+ temp = {'ts': datetime.utcnow()}
|
|
|
443
|
+ temp = temp | i
|
|
|
444
|
+ col.insert_one(temp)
|
|
|
445
|
+ pprint("dump ip complete")
|
|
|
446
|
+ except Exception as e:
|
|
|
447
|
+ pprint(f"error = {e}")
|
|
445
|
448
|
|
|
446
|
449
|
@shared_task
|
|
447
|
450
|
def gen_report_task():
|
|
|
@@ -464,9 +467,9 @@ def gen_report_task():
|
|
464
|
467
|
def list_reports(request):
|
|
465
|
468
|
import os
|
|
466
|
469
|
from django.conf import settings
|
|
467
|
|
-
|
|
|
470
|
+
|
|
468
|
471
|
mr = settings.MEDIA_ROOT
|
|
469
|
|
- file_list =os.listdir(mr)
|
|
|
472
|
+ file_list =os.listdir(mr)
|
|
470
|
473
|
|
|
471
|
474
|
def get_creation_time(item):
|
|
472
|
475
|
item_path = os.path.join(mr, item)
|