From 7363faa6243e3428d20a3be1800df9aa641ed3ba Mon Sep 17 00:00:00 2001 From: "denilson.l65" Date: Tue, 24 Aug 2021 11:08:00 +0000 Subject: DCAE SliceAnalysis MS - Cps Integration Issue-ID: DCAEGEN2-2885 Signed-off-by: denilson.l65 Change-Id: Iea7a675e5dc2f182dda14f0ccf14f2864a5991e5 --- components/slice-analysis-ms/ChangeLog.md | 11 + .../slice/analysis/ms/configdb/CpsService.java | 76 +++- .../slice/analysis/ms/service/ConsumerThread.java | 13 +- .../ms/configdb/CpsInterfaceServiceTest.java | 109 ++++++ .../src/test/resources/DUCellsList.json | 400 +++++++++++++++++++++ .../src/test/resources/DUList.json | 236 ++++++++++++ .../src/test/resources/sliceConfig.json | 322 +++++++++++++++++ 7 files changed, 1162 insertions(+), 5 deletions(-) create mode 100644 components/slice-analysis-ms/ChangeLog.md create mode 100644 components/slice-analysis-ms/src/test/java/org/onap/slice/analysis/ms/configdb/CpsInterfaceServiceTest.java create mode 100644 components/slice-analysis-ms/src/test/resources/DUCellsList.json create mode 100644 components/slice-analysis-ms/src/test/resources/DUList.json create mode 100644 components/slice-analysis-ms/src/test/resources/sliceConfig.json diff --git a/components/slice-analysis-ms/ChangeLog.md b/components/slice-analysis-ms/ChangeLog.md new file mode 100644 index 00000000..5d64d124 --- /dev/null +++ b/components/slice-analysis-ms/ChangeLog.md @@ -0,0 +1,11 @@ +# Change Log +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](http://keepachangelog.com/) +and this project adheres to [Semantic Versioning](http://semver.org/). + +## [1.0.6] - 2021/08/28 + - [DCAEGEN2-2885](https://jira.onap.org/browse/DCAEGEN2-2885) - DCAE SliceAnalysis MS - CPS Integration + + - [DCAEGEN2-2811](https://jira.onap.org/browse/DCAEGEN2-2811) - Remove security vulnerabilities + diff --git a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/configdb/CpsService.java b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/configdb/CpsService.java index f0c27e19..389a75d9 100644 --- a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/configdb/CpsService.java +++ b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/configdb/CpsService.java @@ -22,12 +22,18 @@ package org.onap.slice.analysis.ms.configdb; import java.util.List; import java.util.Map; +import java.util.HashMap; +import java.util.ArrayList; +import org.json.JSONArray; +import org.json.JSONObject; import org.onap.slice.analysis.ms.models.Configuration; import org.onap.slice.analysis.ms.restclients.CpsRestClient; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; +import org.springframework.core.ParameterizedTypeReference; import org.springframework.stereotype.Service; /** @@ -48,22 +54,84 @@ public class CpsService implements CpsInterface { * Fetches the current configuration of RIC from CPS */ public Map> fetchCurrentConfigurationOfRIC(String snssai) { - return null; + Map> responseMap = new HashMap>(); + String reqUrl = cpsBaseUrl +"/get-nearrtric-config"; + log.info("fetching current configuration of RIC from Cps: {s-NSSAI: "+snssai+"}"); + String requestBody = "{\"inputParameters\": {\"sNssai\":"+JSONObject.quote(snssai)+"}}"; + try { + String response = restclient.sendPostRequest(reqUrl,requestBody, new ParameterizedTypeReference() {}).getBody(); + JSONArray sliceArray = new JSONArray(response); + for (int i=0;i map = new HashMap(); + JSONArray configDataArray = sNSSAIList.getJSONObject(k).getJSONArray("configData"); + for(int l=0;l fetchNetworkFunctionsOfSnssai(String snssai) { - return null; + List responseList=new ArrayList<>(); + String reqUrl=cpsBaseUrl+"/get-gnbdufunction-by-snssai"; + log.info("fetching network functions of snssai from Cps: {s-NSSAI: "+snssai+"}"); + String requestBody = "{\"inputParameters\": {\"sNssai\":"+JSONObject.quote(snssai)+"}}"; + try { + String response=restclient.sendPostRequest(reqUrl,requestBody,new ParameterizedTypeReference() {}).getBody(); + JSONArray networkFunctionJsonArry = new JSONArray(response); + for (int i=0;i> fetchRICsOfSnssai(String snssai) { - return null; + Map> responseMap=new HashMap<>(); + String reqUrl=cpsBaseUrl + "/get-nrcelldu-by-snssai"; + log.info("fetching RIC of s-NSSAI from Cps: {s-NSSAI: "+snssai+"}"); + String requestBody = "{\"inputParameters\": {\"sNssai\":"+JSONObject.quote(snssai)+"}}"; + try { + String response=restclient.sendPostRequest(reqUrl,requestBody,new ParameterizedTypeReference() {}).getBody(); + JSONArray sliceArray = new JSONArray(response); + for (int i=0;i cellslist=new ArrayList<>(); + for(int k=0;k map = new HashMap<>(); + map.put("dLThptPerSlice", 10); + map.put("uLThptPerSlice", 10); + map.put("maxNumberOfConns", 10); + Map> responseMap = new HashMap<>(); + responseMap.put("11", map); + try { + String serviceInstance = new String( + Files.readAllBytes(Paths.get("src/test/resources/sliceConfig.json"))); + Mockito.when(restClient.sendPostRequest(Mockito.anyString(), Mockito.anyString(), Mockito.any())).thenReturn(new ResponseEntity<>(serviceInstance, HttpStatus.OK)); + } catch (Exception e) { + e.printStackTrace(); + } + assertEquals(responseMap, cpsService.fetchCurrentConfigurationOfRIC("111-1111")); + } + + @Test + public void fetchNetworkFunctionsOfSnssaiTest() { + List responseList=new ArrayList<>(); + responseList.add("22"); + responseList.add("23"); + try { + String serviceInstance = new String( + Files.readAllBytes(Paths.get("src/test/resources/DUList.json"))); + Mockito.when(restClient.sendPostRequest(Mockito.anyString(), Mockito.anyString(), Mockito.any())).thenReturn(new ResponseEntity<>(serviceInstance, HttpStatus.OK)); + } catch (Exception e) { + e.printStackTrace(); + } + assertEquals(responseList, cpsService.fetchNetworkFunctionsOfSnssai("111-1111")); + } + + @Test + public void fetchRICsOfSnssaiTest() { + Map> responseMap=new HashMap<>(); + List cellslist=new ArrayList<>(); + cellslist.add("1599"); + cellslist.add("1598"); + responseMap.put("11",cellslist); + try { + String serviceInstance = new String( + Files.readAllBytes(Paths.get("src/test/resources/DUCellsList.json"))); + Mockito.when(restClient.sendPostRequest(Mockito.anyString(), Mockito.anyString(), Mockito.any())).thenReturn(new ResponseEntity<>(serviceInstance, HttpStatus.OK)); + } catch (Exception e) { + e.printStackTrace(); + } + assertEquals(responseMap, cpsService.fetchRICsOfSnssai("111-1111")); + } +} diff --git a/components/slice-analysis-ms/src/test/resources/DUCellsList.json b/components/slice-analysis-ms/src/test/resources/DUCellsList.json new file mode 100644 index 00000000..799e1e80 --- /dev/null +++ b/components/slice-analysis-ms/src/test/resources/DUCellsList.json @@ -0,0 +1,400 @@ +[ + { + "idNearRTRIC": 11, + "attributes": { + "near-rt-ric-url": "10.165.160.47:6080", + "trackingArea": "Kingston", + "rANNFNSSIList": [ + "e893-e93r-c0f2-kj76", + "m93ed-e93e-c0f2-9i7y" + ], + "RRMPolicyRatio": [ + { + "id": "33", + "attributes": { + "resourceType": "sharing", + "rRMPolicyMemberList": [ + { + "idx": 33, + "mcc": "310", + "mnc": "410", + "sNSSAI": 101 + } + ], + "quotaType": "STRICT", + "rRMPolicyMaxRatio": 22, + "rRMPolicyMinRatio": 3, + "rRMPolicyDedicatedRatio": 4 + } + } + ], + "pLMNInfoList": [ + { + "mcc": "310", + "mnc": "410", + "sNSSAIList": [ + { + "sNssai": "010", + "status": "ACTIVE", + "configData": [ + { + "configParameter": "maxNumberOfConns", + "configValue": 10 + }, + { + "configParameter": "uLThptPerSlice", + "configValue": 10 + }, + { + "configParameter": "dLThptPerSlice", + "configValue": 10 + } + ] + } + ] + } + ], + "sliceProfilesList": [ + { + "sliceProfileId": "b594-e98r-c7f2-ij79", + "sNSSAI": 101, + "maxNumberofUEs": 24, + "latency": 2, + "uLThptPerSlice": 30, + "dLThptPerSlice": 60, + "maxNumberofConns": 22, + "uEMobilityLevel": "high", + "coverageAreaList": [ + "CA1", + "CA2" + ], + "resourceSharingLevel": "Shared" + } + ] + }, + "GNBDUFunction": [ + { + "idGNBDUFunction": "22", + "attributes": { + "gNBDUFunction-url": "10.165.160.13:6080", + "gNBIdLength": 23, + "gNBDUName": "gnbdu1", + "gNBDUId": 22, + "gNBId": 98763, + "RRMPolicyRatio": [ + { + "id": "34", + "attributes": { + "resourceType": "sharing", + "rRMPolicyMemberList": [ + { + "idx": 34, + "mcc": "211", + "mnc": "111", + "sNSSAI": 102 + } + ], + "quotaType": "STRICT", + "rRMPolicyMaxRatio": 23, + "rRMPolicyMinRatio": 4, + "rRMPolicyDedicatedRatio": 5 + } + } + ], + "userLabel": "user", + "sAP": [ + { + "host": "localhost", + "port": 8080 + } + ] + }, + "NRCellDU": [ + { + "idNRCellDU": "1599", + "attributes": { + "nRCellDU-url": "10.165.160.15:8083", + "cellLocalId": 1599, + "operationalState": "ENABLED", + "administrativeState": "UNLOCKED", + "cellState": "ACTIVE", + "RRMPolicyRatio": [ + { + "id": "34", + "attributes": { + "resourceType": "sharing", + "rRMPolicyMemberList": [ + { + "idx": 34, + "mcc": "211", + "mnc": "111", + "sNSSAI": 102 + } + ], + "quotaType": "STRICT", + "rRMPolicyMaxRatio": 23, + "rRMPolicyMinRatio": 4, + "rRMPolicyDedicatedRatio": 5 + } + } + ], + "pLMNInfoList": [ + { + "mcc": "211", + "mnc": "211", + "sNSSAIList": [ + { + "sNssai": "111-1111", + "status": "active", + "configData": [ + { + "configParameter": "maxNumberOfConns", + "configValue": 20 + }, + { + "configParameter": "dLThptPerSlice", + "configValue": 20 + }, + { + "configParameter": "uLThptPerSlice", + "configValue": 20 + } + ] + } + ] + } + ], + "nRPCI": 11, + "nRTAC": 14777, + "arfcnDL": 1, + "arfcnUL": 2, + "arfcnSUL": 3, + "bSChannelBwDL": 4, + "bSChannelBwUL": 5, + "bSChannelBwSUL": 6, + "ssbFrequency": 7, + "ssbSubCarrierSpacing": 15, + "ssbOffset": 9, + "ssbDuration": 4, + "nRSectorCarrierRef": [ + "OU=Sales" + ], + "userLabel": "user", + "sAP": [ + { + "host": "localhost", + "port": 8080 + } + ] + } + }, + { + "idNRCellDU": "1598", + "attributes": { + "nRCellDU-url": "10.165.160.15:8083", + "cellLocalId": 1598, + "operationalState": "ENABLED", + "administrativeState": "UNLOCKED", + "cellState": "ACTIVE", + "RRMPolicyRatio": [ + { + "id": "34", + "attributes": { + "resourceType": "sharing", + "rRMPolicyMemberList": [ + { + "idx": 34, + "mcc": "211", + "mnc": "111", + "sNSSAI": 102 + } + ], + "quotaType": "STRICT", + "rRMPolicyMaxRatio": 23, + "rRMPolicyMinRatio": 4, + "rRMPolicyDedicatedRatio": 5 + } + } + ], + "pLMNInfoList": [ + { + "mcc": "211", + "mnc": "211", + "sNSSAIList": [ + { + "sNssai": "111-1111", + "status": "active", + "configData": [ + { + "configParameter": "maxNumberOfConns", + "configValue": 20 + }, + { + "configParameter": "dLThptPerSlice", + "configValue": 20 + }, + { + "configParameter": "uLThptPerSlice", + "configValue": 20 + } + ] + } + ] + } + ], + "nRPCI": 11, + "nRTAC": 14777, + "arfcnDL": 1, + "arfcnUL": 2, + "arfcnSUL": 3, + "bSChannelBwDL": 4, + "bSChannelBwUL": 5, + "bSChannelBwSUL": 6, + "ssbFrequency": 7, + "ssbSubCarrierSpacing": 15, + "ssbOffset": 9, + "ssbDuration": 4, + "nRSectorCarrierRef": [ + "OU=Sales" + ], + "userLabel": "user", + "sAP": [ + { + "host": "localhost", + "port": 8080 + } + ] + } + } + ] + } + ], + "GNBCUUPFunction": [ + { + "idGNBCUUPFunction": "22", + "attributes": { + "gNBCUUPFunction-url": "10.165.160.13:6080", + "gNBId": 22, + "RRMPolicyRatio": [ + { + "id": "35", + "attributes": { + "resourceType": "sharing", + "rRMPolicyMemberList": [ + { + "idx": 35, + "mcc": "212", + "mnc": "212", + "sNSSAI": 203 + } + ], + "quotaType": "STRICT", + "rRMPolicyMaxRatio": 22, + "rRMPolicyMinRatio": 3, + "rRMPolicyDedicatedRatio": 4 + } + } + ], + "userLabel": "user", + "sAP": [ + { + "host": "localhost", + "port": 8080 + } + ] + } + } + ], + "GNBCUCPFunction": [ + { + "idGNBCUCPFunction": "32", + "attributes": { + "gNBCUCPFunction-url": "10.165.160.13:6080", + "gNBId": 32, + "gNBIdLength": 23, + "gNBCUName": "gnbcucp1", + "RRMPolicyRatio": [ + { + "id": "43", + "attributes": { + "resourceType": "sharing", + "rRMPolicyMemberList": [ + { + "idx": 43, + "mcc": "310", + "mnc": "410", + "sNSSAI": 101 + } + ], + "quotaType": "STRICT", + "rRMPolicyMaxRatio": 22, + "rRMPolicyMinRatio": 3, + "rRMPolicyDedicatedRatio": 4 + } + } + ], + "userLabel": "user", + "sAP": [ + { + "host": "localhost", + "port": 8080 + } + ] + }, + "NRCellCU": [ + { + "idNRCellCU": "15199", + "attributes": { + "nRCellCU-url": "10.165.160.15:8083", + "cellLocalId": 15199, + "RRMPolicyRatio": [ + { + "id": "55", + "attributes": { + "resourceType": "sharing", + "rRMPolicyMemberList": [ + { + "idx": 55, + "mcc": "550", + "mnc": "550", + "sNSSAI": 101 + } + ], + "quotaType": "STRICT", + "rRMPolicyMaxRatio": 22, + "rRMPolicyMinRatio": 3, + "rRMPolicyDedicatedRatio": 4 + } + } + ], + "pLMNInfoList": [ + { + "mcc": "551", + "mnc": "550", + "sNSSAIList": [ + { + "sNssai": "501", + "status": "active", + "configData": [ + { + "configParameter": "maxNumberOfConns", + "configValue": 10 + } + ] + } + ] + } + ], + "sAP": [ + { + "host": "localhost", + "port": 8080 + } + ] + } + } + ] + } + ] + } +] diff --git a/components/slice-analysis-ms/src/test/resources/DUList.json b/components/slice-analysis-ms/src/test/resources/DUList.json new file mode 100644 index 00000000..26b96ed6 --- /dev/null +++ b/components/slice-analysis-ms/src/test/resources/DUList.json @@ -0,0 +1,236 @@ +[ + { + "idGNBDUFunction": "22", + "attributes": { + "gNBDUFunction-url": "10.165.160.13:6080", + "gNBIdLength": 23, + "gNBDUName": "gnbdu1", + "gNBDUId": 22, + "gNBId": 98763, + "RRMPolicyRatio": [ + { + "id": "34", + "attributes": { + "resourceType": "sharing", + "rRMPolicyMemberList": [ + { + "idx": 34, + "mcc": "211", + "mnc": "111", + "sNSSAI": 102 + } + ], + "quotaType": "STRICT", + "rRMPolicyMaxRatio": 23, + "rRMPolicyMinRatio": 4, + "rRMPolicyDedicatedRatio": 5 + } + } + ], + "userLabel": "user", + "sAP": [ + { + "host": "localhost", + "port": 8080 + } + ] + }, + "NRCellDU": [ + { + "idNRCellDU": "15299", + "attributes": { + "nRCellDU-url": "10.165.160.15:8083", + "cellLocalId": 15299, + "operationalState": "ENABLED", + "administrativeState": "UNLOCKED", + "cellState": "ACTIVE", + "RRMPolicyRatio": [ + { + "id": "34", + "attributes": { + "resourceType": "sharing", + "rRMPolicyMemberList": [ + { + "idx": 34, + "mcc": "211", + "mnc": "111", + "sNSSAI": 102 + } + ], + "quotaType": "STRICT", + "rRMPolicyMaxRatio": 23, + "rRMPolicyMinRatio": 4, + "rRMPolicyDedicatedRatio": 5 + } + } + ], + "pLMNInfoList": [ + { + "mcc": "211", + "mnc": "211", + "sNSSAIList": [ + { + "sNssai": "111-1111", + "status": "active", + "configData": [ + { + "configParameter": "maxNumberOfConns", + "configValue": 20 + }, + { + "configParameter": "dLThptPerSlice", + "configValue": 20 + }, + { + "configParameter": "uLThptPerSlice", + "configValue": 20 + } + ] + } + ] + } + ], + "nRPCI": 11, + "nRTAC": 14777, + "arfcnDL": 1, + "arfcnUL": 2, + "arfcnSUL": 3, + "bSChannelBwDL": 4, + "bSChannelBwUL": 5, + "bSChannelBwSUL": 6, + "ssbFrequency": 7, + "ssbSubCarrierSpacing": 15, + "ssbOffset": 9, + "ssbDuration": 4, + "nRSectorCarrierRef": [ + "OU=Sales" + ], + "userLabel": "user", + "sAP": [ + { + "host": "localhost", + "port": 8080 + } + ] + } + } + ] + }, + { + "idGNBDUFunction": "23", + "attributes": { + "gNBDUFunction-url": "10.165.160.13:6080", + "gNBIdLength": 23, + "gNBDUName": "gnbdu1", + "gNBDUId": 23, + "gNBId": 98763, + "RRMPolicyRatio": [ + { + "id": "34", + "attributes": { + "resourceType": "sharing", + "rRMPolicyMemberList": [ + { + "idx": 34, + "mcc": "211", + "mnc": "111", + "sNSSAI": 102 + } + ], + "quotaType": "STRICT", + "rRMPolicyMaxRatio": 23, + "rRMPolicyMinRatio": 4, + "rRMPolicyDedicatedRatio": 5 + } + } + ], + "userLabel": "user", + "sAP": [ + { + "host": "localhost", + "port": 8080 + } + ] + }, + "NRCellDU": [ + { + "idNRCellDU": "15299", + "attributes": { + "nRCellDU-url": "10.165.160.15:8083", + "cellLocalId": 15299, + "operationalState": "ENABLED", + "administrativeState": "UNLOCKED", + "cellState": "ACTIVE", + "RRMPolicyRatio": [ + { + "id": "34", + "attributes": { + "resourceType": "sharing", + "rRMPolicyMemberList": [ + { + "idx": 34, + "mcc": "211", + "mnc": "111", + "sNSSAI": 102 + } + ], + "quotaType": "STRICT", + "rRMPolicyMaxRatio": 23, + "rRMPolicyMinRatio": 4, + "rRMPolicyDedicatedRatio": 5 + } + } + ], + "pLMNInfoList": [ + { + "mcc": "211", + "mnc": "211", + "sNSSAIList": [ + { + "sNssai": "111-1111", + "status": "active", + "configData": [ + { + "configParameter": "maxNumberOfConns", + "configValue": 20 + }, + { + "configParameter": "dLThptPerSlice", + "configValue": 20 + }, + { + "configParameter": "uLThptPerSlice", + "configValue": 20 + } + ] + } + ] + } + ], + "nRPCI": 11, + "nRTAC": 14777, + "arfcnDL": 1, + "arfcnUL": 2, + "arfcnSUL": 3, + "bSChannelBwDL": 4, + "bSChannelBwUL": 5, + "bSChannelBwSUL": 6, + "ssbFrequency": 7, + "ssbSubCarrierSpacing": 15, + "ssbOffset": 9, + "ssbDuration": 4, + "nRSectorCarrierRef": [ + "OU=Sales" + ], + "userLabel": "user", + "sAP": [ + { + "host": "localhost", + "port": 8080 + } + ] + } + } + ] + } +] diff --git a/components/slice-analysis-ms/src/test/resources/sliceConfig.json b/components/slice-analysis-ms/src/test/resources/sliceConfig.json new file mode 100644 index 00000000..8e5e1886 --- /dev/null +++ b/components/slice-analysis-ms/src/test/resources/sliceConfig.json @@ -0,0 +1,322 @@ +[ + { + "idNearRTRIC": 11, + "attributes": { + "near-rt-ric-url": "10.165.160.47:6080", + "trackingArea": "Kingston", + "rANNFNSSIList": [ + "e893-e93r-c0f2-kj76", + "m93ed-e93e-c0f2-9i7y" + ], + "RRMPolicyRatio": [ + { + "id": "33", + "attributes": { + "resourceType": "sharing", + "rRMPolicyMemberList": [ + { + "idx": 33, + "mcc": "310", + "mnc": "410", + "sNSSAI": 101 + } + ], + "quotaType": "STRICT", + "rRMPolicyMaxRatio": 22, + "rRMPolicyMinRatio": 3, + "rRMPolicyDedicatedRatio": 4 + } + } + ], + "pLMNInfoList": [ + { + "mcc": "310", + "mnc": "410", + "sNSSAIList": [ + { + "sNssai": "111-1111", + "status": "ACTIVE", + "configData": [ + { + "configParameter": "maxNumberOfConns", + "configValue": 10 + }, + { + "configParameter": "uLThptPerSlice", + "configValue": 10 + }, + { + "configParameter": "dLThptPerSlice", + "configValue": 10 + } + ] + } + ] + } + ], + "sliceProfilesList": [ + { + "sliceProfileId": "b594-e98r-c7f2-ij79", + "sNSSAI": 101, + "maxNumberofUEs": 24, + "latency": 2, + "uLThptPerSlice": 30, + "dLThptPerSlice": 60, + "maxNumberofConns": 22, + "uEMobilityLevel": "high", + "coverageAreaList": [ + "CA1", + "CA2" + ], + "resourceSharingLevel": "Shared" + } + ] + }, + "GNBDUFunction": [ + { + "idGNBDUFunction": "22", + "attributes": { + "gNBDUFunction-url": "10.165.160.13:6080", + "gNBIdLength": 23, + "gNBDUName": "gnbdu1", + "gNBDUId": 22, + "gNBId": 98763, + "RRMPolicyRatio": [ + { + "id": "34", + "attributes": { + "resourceType": "sharing", + "rRMPolicyMemberList": [ + { + "idx": 34, + "mcc": "211", + "mnc": "111", + "sNSSAI": 102 + } + ], + "quotaType": "STRICT", + "rRMPolicyMaxRatio": 23, + "rRMPolicyMinRatio": 4, + "rRMPolicyDedicatedRatio": 5 + } + } + ], + "userLabel": "user", + "sAP": [ + { + "host": "localhost", + "port": 8080 + } + ] + }, + "NRCellDU": [ + { + "idNRCellDU": "15299", + "attributes": { + "nRCellDU-url": "10.165.160.15:8083", + "cellLocalId": 15299, + "operationalState": "ENABLED", + "administrativeState": "UNLOCKED", + "cellState": "ACTIVE", + "RRMPolicyRatio": [ + { + "id": "34", + "attributes": { + "resourceType": "sharing", + "rRMPolicyMemberList": [ + { + "idx": 34, + "mcc": "211", + "mnc": "111", + "sNSSAI": 102 + } + ], + "quotaType": "STRICT", + "rRMPolicyMaxRatio": 23, + "rRMPolicyMinRatio": 4, + "rRMPolicyDedicatedRatio": 5 + } + } + ], + "pLMNInfoList": [ + { + "mcc": "211", + "mnc": "211", + "sNSSAIList": [ + { + "sNssai": "111-1111", + "status": "active", + "configData": [ + { + "configParameter": "maxNumberOfConns", + "configValue": 20 + }, + { + "configParameter": "dLThptPerSlice", + "configValue": 20 + }, + { + "configParameter": "uLThptPerSlice", + "configValue": 20 + } + ] + } + ] + } + ], + "nRPCI": 11, + "nRTAC": 14777, + "arfcnDL": 1, + "arfcnUL": 2, + "arfcnSUL": 3, + "bSChannelBwDL": 4, + "bSChannelBwUL": 5, + "bSChannelBwSUL": 6, + "ssbFrequency": 7, + "ssbSubCarrierSpacing": 15, + "ssbOffset": 9, + "ssbDuration": 4, + "nRSectorCarrierRef": [ + "OU=Sales" + ], + "userLabel": "user", + "sAP": [ + { + "host": "localhost", + "port": 8080 + } + ] + } + } + ] + } + ], + "GNBCUUPFunction": [ + { + "idGNBCUUPFunction": "22", + "attributes": { + "gNBCUUPFunction-url": "10.165.160.13:6080", + "gNBId": 22, + "RRMPolicyRatio": [ + { + "id": "35", + "attributes": { + "resourceType": "sharing", + "rRMPolicyMemberList": [ + { + "idx": 35, + "mcc": "212", + "mnc": "212", + "sNSSAI": 203 + } + ], + "quotaType": "STRICT", + "rRMPolicyMaxRatio": 22, + "rRMPolicyMinRatio": 3, + "rRMPolicyDedicatedRatio": 4 + } + } + ], + "userLabel": "user", + "sAP": [ + { + "host": "localhost", + "port": 8080 + } + ] + } + } + ], + "GNBCUCPFunction": [ + { + "idGNBCUCPFunction": "32", + "attributes": { + "gNBCUCPFunction-url": "10.165.160.13:6080", + "gNBId": 32, + "gNBIdLength": 23, + "gNBCUName": "gnbcucp1", + "RRMPolicyRatio": [ + { + "id": "43", + "attributes": { + "resourceType": "sharing", + "rRMPolicyMemberList": [ + { + "idx": 43, + "mcc": "310", + "mnc": "410", + "sNSSAI": 101 + } + ], + "quotaType": "STRICT", + "rRMPolicyMaxRatio": 22, + "rRMPolicyMinRatio": 3, + "rRMPolicyDedicatedRatio": 4 + } + } + ], + "userLabel": "user", + "sAP": [ + { + "host": "localhost", + "port": 8080 + } + ] + }, + "NRCellCU": [ + { + "idNRCellCU": "15199", + "attributes": { + "nRCellCU-url": "10.165.160.15:8083", + "cellLocalId": 15199, + "RRMPolicyRatio": [ + { + "id": "55", + "attributes": { + "resourceType": "sharing", + "rRMPolicyMemberList": [ + { + "idx": 55, + "mcc": "550", + "mnc": "550", + "sNSSAI": 101 + } + ], + "quotaType": "STRICT", + "rRMPolicyMaxRatio": 22, + "rRMPolicyMinRatio": 3, + "rRMPolicyDedicatedRatio": 4 + } + } + ], + "pLMNInfoList": [ + { + "mcc": "551", + "mnc": "550", + "sNSSAIList": [ + { + "sNssai": "501", + "status": "active", + "configData": [ + { + "configParameter": "maxNumberOfConns", + "configValue": 10 + } + ] + } + ] + } + ], + "sAP": [ + { + "host": "localhost", + "port": 8080 + } + ] + } + } + ] + } + ] + } +] -- cgit 1.2.3-korg