summaryrefslogtreecommitdiffstats
path: root/apps/slice_selection
diff options
context:
space:
mode:
authorkrishnaa96 <krishna.moorthy6@wipro.com>2020-05-01 13:34:50 +0530
committerkrishnaa96 <krishna.moorthy6@wipro.com>2020-05-01 13:36:38 +0530
commit070488fcb919b2cdffca8a3739b0f9abbb9414f4 (patch)
treecbc23ec9149d8409084fba1847e7d4bc35887d56 /apps/slice_selection
parent375d7bd29cdc687e11ae27183a20653e76bfba3c (diff)
Add NSSI and slice profile in shared NSI response
Issue-ID: OPTFRA-749 Signed-off-by: krishnaa96 <krishna.moorthy6@wipro.com> Change-Id: Ie41f07881dad20e54bc13e5c1d7a6be094972a35
Diffstat (limited to 'apps/slice_selection')
-rw-r--r--apps/slice_selection/models/api/nsi_selection_response.py9
-rw-r--r--apps/slice_selection/optimizers/conductor/response_processor.py13
2 files changed, 22 insertions, 0 deletions
diff --git a/apps/slice_selection/models/api/nsi_selection_response.py b/apps/slice_selection/models/api/nsi_selection_response.py
index 9547200..a927efa 100644
--- a/apps/slice_selection/models/api/nsi_selection_response.py
+++ b/apps/slice_selection/models/api/nsi_selection_response.py
@@ -22,12 +22,21 @@ from schematics.types.compound import ModelType, ListType, DictType
# TODO: update osdf.models
+class NSSI(OSDFModel):
+ NSSIId = StringType(required=True)
+ NSSIName = StringType(required=True)
+ UUID = StringType(required=True)
+ invariantUUID = StringType(required=True)
+ sliceProfile = ListType(DictType(BaseType))
+
+
class SharedNSISolution(OSDFModel):
invariantUUID = StringType(required=True)
UUID = StringType(required=True)
NSIName = StringType(required=True)
NSIId = StringType(required=True)
matchLevel = StringType(required=True)
+ NSSIs = ListType(ModelType(NSSI))
class NSSTInfo(OSDFModel):
diff --git a/apps/slice_selection/optimizers/conductor/response_processor.py b/apps/slice_selection/optimizers/conductor/response_processor.py
index a841cb5..c175c1a 100644
--- a/apps/slice_selection/optimizers/conductor/response_processor.py
+++ b/apps/slice_selection/optimizers/conductor/response_processor.py
@@ -54,6 +54,19 @@ def conductor_response_processor(overall_recommendations, nst_info_map, request_
shared_nsi_solution["NSIName"] = candidate.get('nsi_name')
shared_nsi_solution["UUID"] = candidate.get('nsi_model_version_id')
shared_nsi_solution["invariantUUID"] = candidate.get('nsi_model_invariant_id')
+
+ nssi_info_list = get_nssi_solutions(recommendation)
+ nssis = list()
+ for nssi_info in nssi_info_list:
+ nssi = dict()
+ nssi["NSSIId"] = nssi_info.get("NSSISolution").get("NSSIId")
+ nssi["NSSIName"] = nssi_info.get("NSSISolution").get("NSSIName")
+ nssi["UUID"] = ""
+ nssi["invariantUUID"] = ""
+ nssi["sliceProfile"] = [nssi_info.get("sliceProfile")]
+ nssis.append(nssi)
+
+ shared_nsi_solution["NSSIs"] = nssis
shared_nsi_solutions.append(shared_nsi_solution)
else:
nssi_solutions = get_nssi_solutions(recommendation)