aboutsummaryrefslogtreecommitdiffstats
path: root/test/mocks/ran-nssmf-simulator/RanNssmfSimulator/MainApp.py
diff options
context:
space:
mode:
authorYogendra Pal <yogendra@aarnanetworks.com>2022-03-03 00:15:48 +0530
committeryogendrapal <yogendra@aarnanetworks.com>2022-03-04 22:32:37 +0530
commit3faa47c04cc54b21d32876debb88bd22e667547e (patch)
treebb6809f67a50aace96a879fb755f36bde74f68c0 /test/mocks/ran-nssmf-simulator/RanNssmfSimulator/MainApp.py
parent0eaeb819661d1579f08d6c44bd7b266a5f5acda0 (diff)
Add the support of activate/deactivate events to RAN NSSMF simulator
Issue-ID: INT-2080 Signed-off-by: yogendrapal <yogendra@aarnanetworks.com> Change-Id: If4e7bd29c4350e41ef2a1c2bf7ce40cea0bd2a66
Diffstat (limited to 'test/mocks/ran-nssmf-simulator/RanNssmfSimulator/MainApp.py')
-rw-r--r--test/mocks/ran-nssmf-simulator/RanNssmfSimulator/MainApp.py45
1 files changed, 44 insertions, 1 deletions
diff --git a/test/mocks/ran-nssmf-simulator/RanNssmfSimulator/MainApp.py b/test/mocks/ran-nssmf-simulator/RanNssmfSimulator/MainApp.py
index 6074e7634..05edfa872 100644
--- a/test/mocks/ran-nssmf-simulator/RanNssmfSimulator/MainApp.py
+++ b/test/mocks/ran-nssmf-simulator/RanNssmfSimulator/MainApp.py
@@ -2,6 +2,7 @@
# ============LICENSE_START=======================================================
# Copyright (C) 2020 Huawei Technologies Co., Ltd. All rights reserved.
+# Contribution (C) 2022 Aarna Networks, Inc. All rights reserved.
# ================================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -21,7 +22,7 @@ from flask import Flask, request, Response
from schematics.exceptions import DataError
from .utils import REST_PORT, LOGGING_LEVEL
-from .SliceDataType import AllocateNssi, DeAllocateNssi
+from .SliceDataType import AllocateNssi, DeAllocateNssi, ActivateNssi, DeActivateNssi
from . import AuthManager
from . import NssManager
@@ -97,6 +98,48 @@ def handleDeallocateNssi(sliceProfileId):
return NssManager.deallocateNssi(sliceProfileId, request.json), 200
+@app.route("/api/rest/provMns/v1/an/NSS/<string:snssai>/activations", methods=['PUT'])
+def handleActivateNssi(snssai):
+ """
+ Method: handleActivateNssi
+ This method handles slice activation event generated by SO NSSMF adapter.
+ As part of this event, SO NSSMF adapter will send the associated 'snssai'.
+ 'snssai' is string type value and example is: "01-2557D9". Wherein,
+ sst: "01" and sd: "2557D9".
+ Argument: snssai
+ 'sst': Identifies the service (e.g eMBB, URLLC,...)
+ 'sd' : service differentiator within sst.
+ Return value: http status 200
+ """
+ AuthManager.checkAuthToken(request.headers)
+
+ app.logger.info("Receive ActivateNssi request for snssai:%s\n%s"
+ % (snssai, json.dumps(request.json, indent=2)))
+
+ ActivateNssi(request.json).validate()
+
+ return NssManager.activateNssi(snssai, request.json), 200
+
+@app.route("/api/rest/provMns/v1/an/NSS/<string:snssai>/deactivation", methods=['PUT'])
+def handleDeActivateNssi(snssai):
+ """
+ Method: handleDeActivateNssi
+ This method handles slice deactivation event generated by SO NSSMF adapter.
+ As part of this event, SO NSSMF adapter will send the associated 'snssai'.
+ Example 'snssai' : "01-2557D9".
+ Argument: snssai
+ 'sst': Identifies the service (e.g eMBB, URLLC,...)
+ 'sd' : service differentiator within sst.
+ Return value: http status 200
+ """
+ AuthManager.checkAuthToken(request.headers)
+
+ app.logger.info("Receive DeActivateNssi request for snssai:%s\n%s"
+ % (snssai, json.dumps(request.json, indent=2)))
+
+ DeActivateNssi(request.json).validate()
+
+ return NssManager.deactivateNssi(snssai, request.json), 200
def main():
AuthManager.startAuthManagerJob()