aboutsummaryrefslogtreecommitdiffstats
path: root/miss_htbt_service/mod
diff options
context:
space:
mode:
authorPrakashH <pbhandar@techmahindra.com>2019-01-28 20:49:02 +0000
committerPrakashH <pbhandar@techmahindra.com>2019-01-28 20:49:02 +0000
commita86243058c2daa560aebaecdb096ff63788a6f44 (patch)
tree68d29b8ec0545792d50785b0105914d00c73d884 /miss_htbt_service/mod
parent20110ffeb5071193e7b437e797636d9d6318dcd4 (diff)
Heartbeat Microservice Support
Heartbeat service monitors missing HB notification Issue-ID: DCAEGEN2-267 Change-Id: I0fd191b2a3495202e22f633ada4a1350a97557ad Signed-off-by: PrakashH <pbhandar@techmahindra.com>
Diffstat (limited to 'miss_htbt_service/mod')
-rw-r--r--miss_htbt_service/mod/trapd_get_cbs_config.py10
-rw-r--r--miss_htbt_service/mod/trapd_vnf_table.py135
2 files changed, 137 insertions, 8 deletions
diff --git a/miss_htbt_service/mod/trapd_get_cbs_config.py b/miss_htbt_service/mod/trapd_get_cbs_config.py
index d2b615f..47ba223 100644
--- a/miss_htbt_service/mod/trapd_get_cbs_config.py
+++ b/miss_htbt_service/mod/trapd_get_cbs_config.py
@@ -58,9 +58,9 @@ def get_cbs_config():
# See if we are in a config binding service (CBS) /controller environment
try:
+ msg = "Unable to fetch CBS config or it is erroneously empty - trying override/simulator config"
tds.c_config = get_config()
if tds.c_config == {}:
- msg = "Unable to fetch CBS config or it is erroneously empty - trying override/simulator config"
stdout_logger(msg)
# if no CBS present, default to JSON config specified via CBS_HTBT_JSON env var
@@ -69,15 +69,15 @@ def get_cbs_config():
stdout_logger(msg)
try:
+ msg = "CBS_HTBT_JSON not defined - FATAL ERROR, exiting"
_cbs_sim_json_file = os.getenv("CBS_HTBT_JSON", "None")
except Exception as e:
- msg = "CBS_HTBT_JSON not defined - FATAL ERROR, exiting"
stdout_logger(msg)
cleanup(1,None)
return False
+ msg = "CBS_HTBT_JSON not defined - FATAL ERROR, exiting"
if _cbs_sim_json_file == "None":
- msg = "CBS_HTBT_JSON not defined - FATAL ERROR, exiting"
stdout_logger(msg)
cleanup(1,None)
return False
@@ -85,11 +85,11 @@ def get_cbs_config():
msg = ("ONAP controller override specified via CBS_HTBT_JSON: %s" %
_cbs_sim_json_file)
stdout_logger(msg)
+ msg = "Unable to load CBS_HTBT_JSON " + _cbs_sim_json_file + \
+ " (invalid json?) - FATAL ERROR, exiting"
try:
tds.c_config = json.load(open(_cbs_sim_json_file))
except Exception as e:
- msg = "Unable to load CBS_HTBT_JSON " + _cbs_sim_json_file + \
- " (invalid json?) - FATAL ERROR, exiting"
stdout_logger(msg)
cleanup_and_exit(0,None)
diff --git a/miss_htbt_service/mod/trapd_vnf_table.py b/miss_htbt_service/mod/trapd_vnf_table.py
index a76c886..b180bf5 100644
--- a/miss_htbt_service/mod/trapd_vnf_table.py
+++ b/miss_htbt_service/mod/trapd_vnf_table.py
@@ -35,9 +35,16 @@ import logging
import get_logger
import yaml
import os.path as path
+import db_monitoring as dbmon
+import json
+from onap_dcae_cbs_docker_client.client import get_config
+import unittest
+import time
+import subprocess
prog_name = os.path.basename(__file__)
hb_properties_file = path.abspath(path.join(__file__, "../../config/hbproperties.yaml"))
+_logger = get_logger.get_logger(__name__)
def hb_properties():
#Read the hbproperties.yaml for postgress and CBS related data
@@ -54,7 +61,6 @@ def hb_properties():
s.close()
return ip_address, port_num, user_name, password, db_name, cbs_polling_required, cbs_polling_interval
-ip_address, port_num, user_name, password, db_name, cbs_polling_required, cbs_polling_interval = hb_properties()
def verify_DB_creation_1(user_name,password,ip_address,port_num,db_name):
connection_db = pm.postgres_db_open(user_name,password,ip_address,port_num,db_name)
@@ -90,17 +96,140 @@ def verify_DB_creation_hb_common(user_name,password,ip_address,port_num,db_name)
def verify_cbsPolling_required():
+ _cbspolling_status = True
+ os.environ['pytest']='test'
+ #os.environ['CONSUL_HOST']='10.12.6.50' # Used this IP during testing
+ os.environ['CONSUL_HOST']='localhost'
+ os.environ['SERVICE_NAME']='mvp-dcaegen2-heartbeat-static'
try:
_cbspolling_status=cf.config_notif_run()
except Exception as e:
- return None
+ print("Config_notify error - ",e)
+ #return None
+ os.unsetenv('pytest')
+ os.unsetenv('CONSUL_HOST')
+ os.unsetenv('SERVICE_NAME')
return _cbspolling_status
def verify_cbspolling():
+ os.environ['pytest']='test'
+ os.environ['SERVICE_NAME']='mvp-dcaegen2-heartbeat-static'
try:
- _cbspolling=cbs.currentpidMain(10)
+ _cbspolling=cbs.pollCBS(10)
except Exception as e:
+ #print("CBSP error - ",e)
return None
+ os.unsetenv('pytest')
+ os.unsetenv('SERVICE_NAME')
return _cbspolling
+
+def verify_fetch_json_file():
+ os.environ['pytest']='test'
+ os.environ['SERVICE_NAME']='mvp-dcaegen2-heartbeat-static'
+ #os.environ['CONSUL_HOST']='10.12.6.50' # Used this IP during testing
+ os.environ['CONSUL_HOST']='localhost'
+ os.environ['HOSTNAME']='mvp-dcaegen2-heartbeat-static'
+ try:
+ db.fetch_json_file()
+ result = True
+ except Exception as e:
+ result = False
+ print(result)
+ os.unsetenv('pytest')
+ os.unsetenv('SERVICE_NAME')
+ os.unsetenv('CONSUL_HOST')
+ os.unsetenv('HOSTNAME')
+ return result
+
+def verify_misshtbtdmain():
+ os.environ['pytest']='test'
+ os.environ['SERVICE_NAME']='mvp-dcaegen2-heartbeat-static'
+ #os.environ['CONSUL_HOST']='10.12.6.50'
+ os.environ['CONSUL_HOST']='localhost'
+ os.environ['HOSTNAME']='mvp-dcaegen2-heartbeat-static'
+
+ try:
+ db.main()
+ result = True
+ except Exception as e:
+ result = False
+ print(result)
+ os.unsetenv('pytest')
+ os.unsetenv('SERVICE_NAME')
+ os.unsetenv('CONSUL_HOST')
+ os.unsetenv('HOSTNAME')
+ return result
+
+def verify_dbmonitoring():
+ os.environ['pytest']='test'
+ os.environ['SERVICE_NAME']='mvp-dcaegen2-heartbeat-static'
+ #os.environ['CONSUL_HOST']='10.12.6.50'
+ os.environ['CONSUL_HOST']='localhost'
+ os.environ['HOSTNAME']='mvp-dcaegen2-heartbeat-static'
+ try:
+ jsfile = db.fetch_json_file()
+ ip_address, port_num, user_name, password, db_name, cbs_polling_required, cbs_polling_interval = hb_properties()
+ hbc_pid, hbc_state, hbc_srcName, hbc_time = db.read_hb_common(user_name,password,ip_address,port_num,db_name)
+ dbmon.db_monitoring(hbc_pid,jsfile,user_name,password,ip_address,port_num,db_name)
+ result = True
+ except Exception as e:
+ print("Message process error - ",e)
+ result = False
+ print(result)
+ os.unsetenv('pytest')
+ os.unsetenv('SERVICE_NAME')
+ os.unsetenv('CONSUL_HOST')
+ os.unsetenv('HOSTNAME')
+ return result
+
+def verify_dbmon_startup():
+ try:
+ p = subprocess.Popen(['./miss_htbt_service/db_monitoring.py'], stdout=subprocess.PIPE,shell=True)
+ time.sleep(1)
+ except Exception as e:
+ #print( "Message process error - ",e)
+ return None
+ return True
+
+def verify_sendControlLoop_VNF_ONSET():
+ try:
+# _CL_return = sendControlLoopEvent(CLType, pol_url, policy_version, policy_name, policy_scope, target_type, srcName, epoc_time, closed_control_loop_name, version, target)
+ pol_url = "http://10.12.5.252:3904/events/unauthenticated.DCAE_CL_OUTPUT/"
+ _CL_return = dbmon.sendControlLoopEvent("ONSET", pol_url, "1.0", "vFireWall", "pscope", "VNF", "srcname1", 1541234567, "SampleCLName", "1.0", "genVnfName")
+ except Exception as e:
+ #msg = "Message process error - ",err
+ #_logger.error(msg)
+ return None
+ return _CL_return
+
+def verify_sendControlLoop_VM_ONSET():
+ try:
+ pol_url = "http://10.12.5.252:3904/events/unauthenticated.DCAE_CL_OUTPUT/"
+ _CL_return = dbmon.sendControlLoopEvent("ONSET", pol_url, "1.0", "vFireWall", "pscope", "VM", "srcname1", 1541234567, "SampleCLName", "1.0", "genVnfName")
+ except Exception as e:
+ #msg = "Message process error - ",err
+ #_logger.error(msg)
+ return None
+ return _CL_return
+
+def verify_sendControlLoop_VNF_ABATED():
+ try:
+ pol_url = "http://10.12.5.252:3904/events/unauthenticated.DCAE_CL_OUTPUT/"
+ _CL_return = dbmon.sendControlLoopEvent("ABATED", pol_url, "1.0", "vFireWall", "pscope", "VNF", "srcname1", 1541234567, "SampleCLName", "1.0", "genVnfName")
+ except Exception as e:
+ #msg = "Message process error - ",err
+ #_logger.error(msg)
+ return None
+ return _CL_return
+
+def verify_sendControlLoop_VM_ABATED():
+ try:
+ pol_url = "http://10.12.5.252:3904/events/unauthenticated.DCAE_CL_OUTPUT/"
+ _CL_return = dbmon.sendControlLoopEvent("ABATED", pol_url, "1.0", "vFireWall", "pscope", "VM", "srcname1", 1541234567, "SampleCLName", "1.0", "genVnfName")
+ except Exception as e:
+# msg = "Message process error - ",err
+# _logger.error(msg)
+ return None
+ return _CL_return