X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=test%2Fusecases%2Foruclosedlooprecovery%2Fscriptversion%2Fsimulators%2Fsdnr_simulator.py;h=a44c0734f67fd0b7ae8e6ddfae0c9d96086ae87c;hb=36acb0c596211d3d771deb421eb71a05b3489e84;hp=888fad693de1c322531274c69b62a1c7e24db0af;hpb=6c9c6a3a5c103a3b979e903c374dd299ce978f3a;p=nonrtric.git diff --git a/test/usecases/oruclosedlooprecovery/scriptversion/simulators/sdnr_simulator.py b/test/usecases/oruclosedlooprecovery/scriptversion/simulators/sdnr_simulator.py index 888fad69..a44c0734 100644 --- a/test/usecases/oruclosedlooprecovery/scriptversion/simulators/sdnr_simulator.py +++ b/test/usecases/oruclosedlooprecovery/scriptversion/simulators/sdnr_simulator.py @@ -18,6 +18,7 @@ from flask import Flask from flask import Response +from flask_httpauth import HTTPBasicAuth import json import os import random @@ -29,6 +30,7 @@ import time # Stores the ID of the O-DU and randomly, after between 0 and 10 seconds, sends an Alarm Notification that clears the # "CUS Link Failure" alarm event to MR. app = Flask(__name__) +auth = HTTPBasicAuth() mr_host = "http://localhost" mr_port = "3904" @@ -37,7 +39,10 @@ MR_PATH = "/events/unauthenticated.SEC_FAULT_OUTPUT" # Server info HOST_IP = "::" HOST_PORT = 9990 -APP_URL = "/rests/data/network-topology:network-topology/topology=topology-netconf/node=/yang-ext:mount/o-ran-sc-du-hello-world:network-function/du-to-ru-connection=" +APP_URL = "/rests/data/network-topology:network-topology/topology=topology-netconf/node=/yang-ext:mount/o-ran-sc-du-hello-world:network-function/distributed-unit-functions=/radio-resource-management-policy-ratio=rrm-pol-1" + +USERNAME = "admin" +PASSWORD = "Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U" FAULT_ID = "28" @@ -83,17 +88,17 @@ linkFailureMessage = { class AlarmClearThread (threading.Thread): - def __init__(self, sleep_time, o_ru_id): + def __init__(self, sleep_time, o_du_id): threading.Thread.__init__(self) self.sleep_time = sleep_time - self.o_ru_id = o_ru_id + self.o_du_id = o_du_id def run(self): - print(f'Sleeping: {self.sleep_time} before clearing O-DU: {self.o_ru_id}') + print(f'Sleeping: {self.sleep_time} before clearing O-DU: {self.o_du_id}') time.sleep(self.sleep_time) msg_as_json = json.loads(json.dumps(linkFailureMessage)) - msg_as_json["event"]["commonEventHeader"]["sourceName"] = self.o_ru_id - print("Sedning alarm clear for O-RU: " + self.o_ru_id) + msg_as_json["event"]["commonEventHeader"]["sourceName"] = self.o_du_id + print("Sedning alarm clear for O-DU: " + self.o_du_id) requests.post(mr_host + ":" + mr_port + MR_PATH, json=msg_as_json); @@ -104,12 +109,19 @@ def index(): return 'OK', 200 +@auth.verify_password +def verify_password(username, password): + if username == USERNAME and password == PASSWORD: + return username + + @app.route(APP_URL, - methods=['POST']) -def sendrequest(o_du_id, o_ru_id): - print("Got request with O-DU ID: " + o_du_id + " and O-RU ID: " + o_ru_id) + methods=['PUT']) +@auth.login_required +def sendrequest(o_du_id, o_du_id2): + print("Got request with O-DU ID: " + o_du_id) random_time = int(10 * random.random()) - alarm_clear_thread = AlarmClearThread(random_time, o_ru_id) + alarm_clear_thread = AlarmClearThread(random_time, o_du_id) alarm_clear_thread.start() return Response(status=200)