HONEYNODE_OK_START_MSG = "Netconf SSH endpoint started successfully at 0.0.0.0"
KARAF_OK_START_MSG = re.escape(
"Blueprint container for bundle org.opendaylight.netconf.restconf")+".* was successfully created"
-
+LIGHTY_OK_START_MSG = re.escape("lighty.io and RESTCONF-NETCONF started")
RESTCONF_BASE_URL = "http://localhost:8181/restconf"
ODL_LOGIN = "admin"
print("starting OpenDaylight...")
if "USE_LIGHTY" in os.environ and os.environ['USE_LIGHTY'] == 'True':
process = start_lighty()
- # TODO: add some sort of health check similar to Karaf below
+ start_msg = LIGHTY_OK_START_MSG
else:
process = start_karaf()
- if wait_until_log_contains(KARAF_LOG, KARAF_OK_START_MSG, time_to_wait=60):
- print("OpenDaylight started !")
- else:
- print("OpenDaylight failed to start !")
- shutdown_process(process)
- for pid in process_list:
- shutdown_process(pid)
- sys.exit(1)
+ start_msg = KARAF_OK_START_MSG
+ if wait_until_log_contains(TPCE_LOG, start_msg, time_to_wait=60):
+ print("OpenDaylight started !")
+ else:
+ print("OpenDaylight failed to start !")
+ shutdown_process(process)
+ for pid in process_list:
+ shutdown_process(pid)
+ sys.exit(1)
process_list.append(process)
return process_list
def mount_device(node_id, sim):
- url = URL_CONFIG_NETCONF_TOPO+"node/"+node_id
+ url = URL_CONFIG_NETCONF_TOPO + "node/" + node_id
body = {"node": [{
"node-id": node_id,
"netconf-node-topology:username": NODES_LOGIN,
"netconf-node-topology:tcp-only": "false",
"netconf-node-topology:pass-through": {}}]}
response = put_request(url, body)
- if wait_until_log_contains(TPCE_LOG, re.escape("Triggering notification stream NETCONF for node "+node_id), 60):
- print("Node "+node_id+" correctly added to tpce topology", end='... ', flush=True)
+ if wait_until_log_contains(TPCE_LOG, re.escape("Triggering notification stream NETCONF for node " + node_id), 60):
+ print("Node " + node_id + " correctly added to tpce topology", end='... ', flush=True)
else:
- print("Node "+node_id+" still not added to tpce topology", end='... ', flush=True)
+ print("Node " + node_id + " still not added to tpce topology", end='... ', flush=True)
if response.status_code == requests.codes.ok:
print("It was probably loaded at start-up", end='... ', flush=True)
# TODO an else-clause to abort test would probably be nice here
def unmount_device(node_id):
- url = URL_CONFIG_NETCONF_TOPO+"node/"+node_id
+ url = URL_CONFIG_NETCONF_TOPO + "node/" + node_id
response = delete_request(url)
- if wait_until_log_contains(TPCE_LOG, re.escape("onDeviceDisConnected: "+node_id), 60):
- print("Node "+node_id+" correctly deleted from tpce topology", end='... ', flush=True)
+ if wait_until_log_contains(TPCE_LOG, re.escape("onDeviceDisConnected: " + node_id), 60):
+ print("Node " + node_id + " correctly deleted from tpce topology", end='... ', flush=True)
else:
- print("Node "+node_id+" still not deleted from tpce topology", end='... ', flush=True)
+ print("Node " + node_id + " still not deleted from tpce topology", end='... ', flush=True)
return response
filelogs = open(log_file, 'r')
filelogs.seek(0, 2)
filefound = True
- print("Searching for pattern '"+regexp+"' in "+os.path.basename(log_file), end='... ', flush=True)
+ print("Searching for pattern '" + regexp + "' in " + os.path.basename(log_file), end='... ', flush=True)
compiled_regexp = re.compile(regexp)
while True:
line = filelogs.readline()
if not line:
time.sleep(0.1)
except TimeoutError:
- print("Pattern not found after "+str(time_to_wait), end=" seconds! ", flush=True)
+ print("Pattern not found after " + str(time_to_wait), end=" seconds! ", flush=True)
except PermissionError:
print("Permission Error when trying to access the log file", end=" ... ", flush=True)
finally:
def __exit__(self, type, value, traceback):
# pylint: disable=W0622
signal.alarm(0)
+