From e774d8e154736681f8bb918b581bcd2d3fd87eb3 Mon Sep 17 00:00:00 2001 From: "denilson.l65" Date: Thu, 28 Oct 2021 05:35:37 +0000 Subject: [PATCH] Add CPS & AAI components in slice-analysis-ms csit Issue-ID: DCAEGEN2-2956 Signed-off-by: denilson.l65 Change-Id: I5b687b7a76a91e96d2934c9c17f8f72d6097485b --- .gitignore | 1 - .../config/sliceanalysisms/config_all.json | 6 +- .../testsuites/setup.sh | 5 + .../testsuites/teardown.sh | 3 + .../testsuites/testplan.txt | 3 +- .../cps-aai/application.properties | 132 ++++ .../slice-analysis-ms/cps-aai/application.yml | 51 ++ .../slice-analysis-ms/cps-aai/cps-aai-setup.sh | 77 +++ .../slice-analysis-ms/cps-aai/docker-compose.yaml | 103 +++ .../slice-analysis-ms/cps-aai/ran-network.zip | Bin 0 -> 24052 bytes .../slice-analysis-ms/cps-aai/settings.xml | 171 +++++ .../cps-aai/sim-data/customers.json | 5 + .../cps-aai/sim-data/payload-ran-network.json | 704 +++++++++++++++++++++ .../cps-aai/sim-data/service_instances.json | 10 + .../cps-aai/sim-data/service_role.json | 112 ++++ .../cps-aai/sim-data/service_subscriptions.json | 1 + .../cps-aai/sim-data/slice_profile.json | 9 + .../testcases/data/expected_ml_payload0.json | 38 ++ .../testcases/data/expected_payload_pm0.json | 1 + .../testcases/data/ml_response0.json | 18 + .../testcases/data/performance_notification0.json | 84 +++ .../testcases/slice-analysis-ms-test-cps-aai.robot | 78 +++ 22 files changed, 1607 insertions(+), 5 deletions(-) create mode 100644 scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/application.properties create mode 100644 scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/application.yml create mode 100644 scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/cps-aai-setup.sh create mode 100644 scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/docker-compose.yaml create mode 100755 scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/ran-network.zip create mode 100755 scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/settings.xml create mode 100644 scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/sim-data/customers.json create mode 100644 scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/sim-data/payload-ran-network.json create mode 100644 scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/sim-data/service_instances.json create mode 100644 scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/sim-data/service_role.json create mode 100644 scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/sim-data/service_subscriptions.json create mode 100644 scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/sim-data/slice_profile.json create mode 100644 tests/dcaegen2-services-slice-analysis-ms/testcases/data/expected_ml_payload0.json create mode 100644 tests/dcaegen2-services-slice-analysis-ms/testcases/data/expected_payload_pm0.json create mode 100644 tests/dcaegen2-services-slice-analysis-ms/testcases/data/ml_response0.json create mode 100644 tests/dcaegen2-services-slice-analysis-ms/testcases/data/performance_notification0.json create mode 100644 tests/dcaegen2-services-slice-analysis-ms/testcases/slice-analysis-ms-test-cps-aai.robot diff --git a/.gitignore b/.gitignore index aeff7fff..de8eea83 100644 --- a/.gitignore +++ b/.gitignore @@ -13,7 +13,6 @@ env.properties .vagrant /archives/ *.jar -*.zip *.tar *.gz *.log diff --git a/plans/dcaegen2-services-slice-analysis-ms/testsuites/config/sliceanalysisms/config_all.json b/plans/dcaegen2-services-slice-analysis-ms/testsuites/config/sliceanalysisms/config_all.json index 75938019..7504ca86 100644 --- a/plans/dcaegen2-services-slice-analysis-ms/testsuites/config/sliceanalysisms/config_all.json +++ b/plans/dcaegen2-services-slice-analysis-ms/testsuites/config/sliceanalysisms/config_all.json @@ -64,9 +64,9 @@ "sliceanalysisms.pollingTimeout": 60, "sliceanalysisms.cid": "sliceanalysisms-cid", "sliceanalysisms.configDb.service": "http://configdb_sim:5000", - "sliceanalysisms.aai.url": "http://configdb_sim:5000/aai/v21", - "sliceanalysisms.cps.url": "http://configdb_sim:5000", - "sliceanalysisms.configDbEnabled": "true", + "sliceanalysisms.aai.url": "https://aai-resources:8447/aai/v21", + "sliceanalysisms.cps.url": "http://cps-tbdmt:8080/execute/ran-network", + "sliceanalysisms.configDbEnabled": "false", "service_calls": { "policy-req": [] }, diff --git a/plans/dcaegen2-services-slice-analysis-ms/testsuites/setup.sh b/plans/dcaegen2-services-slice-analysis-ms/testsuites/setup.sh index 1c52d718..b75df561 100644 --- a/plans/dcaegen2-services-slice-analysis-ms/testsuites/setup.sh +++ b/plans/dcaegen2-services-slice-analysis-ms/testsuites/setup.sh @@ -5,6 +5,7 @@ docker login -u docker -p docker nexus3.onap.org:10001 TEST_PLANS_DIR=$WORKSPACE/plans/dcaegen2-services-slice-analysis-ms/testsuites TEST_SCRIPTS_DIR=$WORKSPACE/scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms TEST_ROBOT_DIR=$WORKSPACE/tests/dcaegen2-services-slice-analysis-ms/testcases +TEST_SCRIPTS_CPS_DIR=$WORKSPACE/scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai docker-compose up -d @@ -56,5 +57,9 @@ sleep 10 CONFIGDB_SIM_IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' configdb_sim) echo "CONFIGDB_SIM_IP=${CONFIGDB_SIM_IP}" +# CPS & AAI set up +cd $TEST_SCRIPTS_CPS_DIR +sh cps-aai-setup.sh ROBOT_VARIABLES="-v ZOOKEEPER_IP:${ZOOKEEPER_IP} -v KAFKA_IP:${KAFKA_IP} -v DMAAP_IP:${DMAAP_IP} -v SLICE_ANALYSIS_MS_POSTGRES_IP:${SLICE_ANALYSIS_MS_POSTGRES_IP} -v SLICE_ANALYSIS_MS_IP:${SLICE_ANALYSIS_MS_IP} -v CONFIGDB_SIM_IP:${CONFIGDB_SIM_IP} -v TEST_ROBOT_DIR:${TEST_ROBOT_DIR}" + diff --git a/plans/dcaegen2-services-slice-analysis-ms/testsuites/teardown.sh b/plans/dcaegen2-services-slice-analysis-ms/testsuites/teardown.sh index 516bf8cb..2ac53527 100644 --- a/plans/dcaegen2-services-slice-analysis-ms/testsuites/teardown.sh +++ b/plans/dcaegen2-services-slice-analysis-ms/testsuites/teardown.sh @@ -1,9 +1,12 @@ #!/bin/bash echo "Starting teardown script" TEST_PLANS_DIR=$WORKSPACE/plans/dcaegen2-services-slice-analysis-ms/testsuites +TEST_SCRIPTS_DIR=$WORKSPACE/scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai mkdir -p $WORKSPACE/archives docker container stop configdb_sim docker container rm configdb_sim docker-compose -f $TEST_PLANS_DIR/docker-compose.yaml logs > $WORKSPACE/archives/sonhandler-docker-compose.log +docker-compose -f $TEST_SCRIPTS_DIR/docker-compose.yaml down -v docker-compose -f $TEST_PLANS_DIR/docker-compose.yaml down -v + diff --git a/plans/dcaegen2-services-slice-analysis-ms/testsuites/testplan.txt b/plans/dcaegen2-services-slice-analysis-ms/testsuites/testplan.txt index a8b2bdab..d8708f41 100644 --- a/plans/dcaegen2-services-slice-analysis-ms/testsuites/testplan.txt +++ b/plans/dcaegen2-services-slice-analysis-ms/testsuites/testplan.txt @@ -1,3 +1,4 @@ # Test suites are relative paths under [integration/csit.git]/tests/. # Place the suites in run order. -dcaegen2-services-slice-analysis-ms/testcases +#dcaegen2-services-slice-analysis-ms/testcases/slice-analysis-ms-test.robot +dcaegen2-services-slice-analysis-ms/testcases/slice-analysis-ms-test-cps-aai.robot diff --git a/scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/application.properties b/scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/application.properties new file mode 100644 index 00000000..ee768055 --- /dev/null +++ b/scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/application.properties @@ -0,0 +1,132 @@ +# The following info parameters are being referenced by ajsc6 +info.build.artifact=aai-resources +info.build.name=resources +info.build.description=Resources Microservice +info.build.version=1.1.0 + +spring.application.name=Resources Microservice +spring.jersey.type=filter +spring.main.allow-bean-definition-overriding=true + +server.servlet.context-path=/ +spring.autoconfigure.exclude=\ + org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,\ + org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration,\ + org.keycloak.adapters.springboot.KeycloakAutoConfiguration,\ + org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration,\ + org.springframework.boot.actuate.autoconfigure.security.servlet.ManagementWebSecurityAutoConfiguration + +spring.jersey.application-path=${schema.uri.base.path} + +spring.profiles.active=production +#The max number of active threads in this pool +jetty.threadPool.maxThreads=200 +#The minimum number of threads always kept alive +jetty.threadPool.minThreads=8 +#The number of milliseconds before an idle thread shutsdown, unless the number of active threads are less or equal to minSpareThreads +server.tomcat.max-idle-time=60000 + +# If you get an application startup failure that the port is already taken +# If thats not it, please check if the key-store file path makes sense +server.local.startpath=/opt/aai-resources/resources +server.basic.auth.location=${server.local.startpath}/etc/auth/realm.properties +server.certs.location=${server.local.startpath}etc/auth/ +#server.keystore.name=keystore.jks +server.keystore.name=aai_keystore +server.truststore.name=aai_keystore +server.port=8447 +server.ssl.enabled-protocols=TLSv1.1,TLSv1.2 +server.ssl.key-store=${server.certs.location}${server.keystore.name} +server.ssl.key-store-password=password(OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0) +server.ssl.trust-store=${server.certs.location}${server.truststore.name} +server.ssl.trust-store-password=password(OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0) +server.ssl.client-auth=want +server.ssl.key-store-type=JKS + +null.db.serialization.enabled=true + +# JMS bind address host port +jms.bind.address=tcp://localhost:61647 + +dmaap.ribbon.listOfServers=localhost:3904 + +# Schema related attributes for the oxm and edges +# Any additional schema related attributes should start with prefix schema +schema.configuration.location=N/A +schema.source.name=onap +schema.nodes.location=${server.local.startpath}/schema/${schema.source.name}/oxm/ +schema.edges.location=${server.local.startpath}/schema/${schema.source.name}/dbedgerules/ + +schema.ingest.file=${server.local.startpath}/application.properties + +# Schema Version Related Attributes + +schema.uri.base.path=/aai +# Lists all of the versions in the schema +schema.version.list=v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24 +# Specifies from which version should the depth parameter to default to zero +schema.version.depth.start=v10 +# Specifies from which version should the related link be displayed in response payload +schema.version.related.link.start=v10 +# Specifies from which version should the client see only the uri excluding host info +# Before this version server base will also be included +schema.version.app.root.start=v11 +# Specifies from which version should the namespace be changed +schema.version.namespace.change.start=v12 +# Specifies from which version should the client start seeing the edge label in payload +schema.version.edge.label.start=v12 +# Specifies the version that the application should default to +schema.version.api.default=v24 + + +#schema.translator.list=schema-service +schema.translator.list=config +schema.service.base.url=https://localhost:8452/aai/schema-service/v1/ +schema.service.nodes.endpoint=nodes?version= +schema.service.edges.endpoint=edgerules?version= +schema.service.versions.endpoint=versions + +schema.service.ssl.key-store=${server.certs.location}${server.keystore.name} +schema.service.ssl.trust-store=${server.certs.location}${server.truststore.name} +schema.service.ssl.key-store-password=password(OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0) +schema.service.ssl.trust-store-password=password(OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0) +schema.service.versions.override=false + +#To Expose the Prometheus scraping endpoint +management.server.port=8448 +#To Enable Actuator Endpoint, you can override this to True in OOM charts +management.endpoints.enabled-by-default=true +#To Enable Actuator Endpoint, you can override this in OOM Charts +management.endpoints.web.exposure.include=info, health, prometheus +management.metrics.web.server.auto-time-requests=false +management.metrics.tags.group_id=aai +# management.metrics.tags.app_id=${info.build.artifact} +# management.metrics.tags.aai_uri=${schema.uri.base.path} +#It is not advisable to use labels to store dimensions with high cardinality. +#Enable this option only for debug purposes. For more information: https://github.com/micrometer-metrics/micrometer/issues/1584 +scrape.uri.metrics=false + +# Location of the cadi properties file should be specified here +aaf.cadi.file=${server.local.startpath}/cadi.properties + +delta.events.enabled=false + +# Specifies what type of request should it be: one-way-ssl, two-way-ssl, no-auth +validation.service.client=one-way-ssl +# Base url for the validation service +validation.service.base.url=https://localhost:9501/services/validation-service +# Client certificate to use to make the request to validation +validation.service.ssl.key-store=${server.local.startpath}/etc/auth/aai-client-cert.p12 +# Truststore to use to make the request to validation +validation.service.ssl.trust-store=${server.local.startpath}/etc/auth/tomcat_keystore +# Client certificate password for the validation +validation.service.ssl.key-store-password=password(OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0) +# Truststore password for the validation +validation.service.ssl.trust-store-password=password(OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0) +# Amount of time that the client should wait in milliseconds before request failing +validation.service.timeout-in-milliseconds=3000 +# List of aai node types that should be send to the validation microservice +validation.service.node-types=generic-vnf,lag-interface,l-interface,logical-link,newvce,nos-server,p-interface,pnf,pserver,vce,vlan,vnfc,vpls-pe,vserver +# List of X-FromAppId regexes seperated by comma to ignore the pre validation for +# Note: please don't add any client id here as this is only for testing tools such as robot +validation.service.exclusion-regexes= diff --git a/scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/application.yml b/scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/application.yml new file mode 100644 index 00000000..7d0aae81 --- /dev/null +++ b/scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/application.yml @@ -0,0 +1,51 @@ +############################################################################### +# ============LICENSE_START======================================================= +# ONAP +# ================================================================================ +# Copyright (C) 2021 Wipro Limited. +# ============================================================================== +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END========================================================= +# +############################################################################### + +spring: + datasource: + initialization-mode: always + initialize: true + url: jdbc:postgresql://postgres:5432/cps_template_db + username: postgres + password: postgres + continue-on-error: true + jpa: + hibernate: + ddl-auto: update + properties: + hibernate: + temp: + use_jdbc_metadata_defaults: false + database-platform: org.hibernate.dialect.PostgreSQLDialect +app: + cpsCoreConfiguration: + url: http://cps-and-ncmp:8080/cps/api/v1/dataspaces/E2EDemo + username: cpsuser + password: cpsr0cks! + ncmpConfiguration: + url: http://cps-and-ncmp:8080/cps/api/v1 + username: cpsuser + password: cpsr0cks! + cpsClient: cpsCore + schemaToAnchor: + ran-coverage-area: coverage-area-onap + e2e-cavsta-schemaset: e2e-cavsta1 + ran-network: ran-network-anchor diff --git a/scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/cps-aai-setup.sh b/scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/cps-aai-setup.sh new file mode 100644 index 00000000..4cd5e447 --- /dev/null +++ b/scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/cps-aai-setup.sh @@ -0,0 +1,77 @@ +#!/bin/bash + +#Building cps-tbdmt image +git clone "https://gerrit.onap.org/r/cps/cps-tbdmt" +mvn -f cps-tbdmt/ -Dmaven.test.skip clean install --settings settings.xml +sudo rm -r cps-tbdmt/ + +#Creating containers for cps, cps-tbdmt & aai-resources +docker-compose up -d + +sleep 50 + +# uploading data to cps & cps-tbdmt +CPS_IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' cps-and-ncmp ) +echo $CPS_IP +CPS_TBDMT_IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' cps-tbdmt ) +echo $CPS_TBDMT_IP + +echo "Creating dataspace: " +curl --location --user cpsuser:cpsr0cks! -H "Accept: application/json" -H "Content-Type: application/json" \ +--request POST \ +http://$CPS_IP:8080/cps/api/v1/dataspaces?dataspace-name=E2EDemo + +echo "\nCreating schema set: " +curl --location --user cpsuser:cpsr0cks! \ +--request POST \ +http://$CPS_IP:8080/cps/api/v1/dataspaces/E2EDemo/schema-sets --form 'file=@"ran-network.zip"' --form 'schema-set-name="ran-network"' + +echo "\nCreating anchor: " +curl --location --user cpsuser:cpsr0cks! --request POST \ +http://$CPS_IP:8080/cps/api/v1/dataspaces/E2EDemo/anchors?schema-set-name=ran-network \ +-d anchor-name=ran-network-anchor + +echo "\nUploading cps payload " +curl --location --user cpsuser:cpsr0cks! --request POST \ +http://$CPS_IP:8080/cps/api/v1/dataspaces/E2EDemo/anchors/ran-network-anchor/nodes \ +--header 'Content-Type: application/json' \ +-d @sim-data/payload-ran-network.json + + +echo "\nuploading tbdmt-templates" +curl --location --request POST \ +http://$CPS_TBDMT_IP:8080/templates \ +--header 'Content-Type: application/json' \ +--data-raw '{"templateId": "get-nearrtric-config","model": "ran-network","requestType": "query-cps-path","xpathTemplate": "//sNSSAIList[@sNssai='\''{{sNssai}}'\'']/ancestor::NearRTRIC","includeDescendants": true}' + +curl --location --request POST \ +http://$CPS_TBDMT_IP:8080/templates \ +--header 'Content-Type: application/json' \ +--data-raw '{"templateId": "get-gnbdufunction-by-snssai","model": "ran-network","requestType": "query-cps-path","xpathTemplate": "//sNSSAIList[@sNssai='\''{{sNssai}}'\'']/ancestor::GNBDUFunction","includeDescendants": true}' + +curl --location --request POST \ +http://$CPS_TBDMT_IP:8080/templates \ +--header 'Content-Type: application/json' \ +--data-raw '{"templateId": "get-nrcelldu-by-snssai","model": "ran-network","requestType": "query-cps-path","xpathTemplate": "//sNSSAIList[@sNssai='\''{{sNssai}}'\'']/ancestor::NearRTRIC","includeDescendants": true}' + + +##Uploading aai data +AAI_RESOURCES_IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' aai-resources ) + +echo "\nUploading data to aai-resources" +curl --request PUT -H "X-FromAppId:AAI " -H "X-TransactionId:get_aai_subscr" -H "Accept:application/json" -H "Content-Type:application/json" -k \ +https://$AAI_RESOURCES_IP:8447/aai/v21/business/customers/customer/5GCustomer \ +-d @sim-data/customers.json + +curl --request PUT -H "X-FromAppId:AAI " -H "X-TransactionId:get_aai_subscr" -H "Accept:application/json" -H "Content-Type:application/json" -k \ +https://$AAI_RESOURCES_IP:8447/aai/v21/business/customers/customer/5GCustomer/service-subscriptions/service-subscription/5G \ +-d @sim-data/service_subscriptions.json + +curl --request PUT -H "X-FromAppId:AAI " -H "X-TransactionId:get_aai_subscr" -H "Accept:application/json" -H "Content-Type:application/json" -k \ +https://$AAI_RESOURCES_IP:8447/aai/v21/business/customers/customer/5GCustomer/service-subscriptions/service-subscription/5G/service-instances/service-instance/3f2f23fa-c567-4dd8-8f15-f95ae3e6fd84 \ +-d @sim-data/service_instances.json + +curl --request PUT -H "X-FromAppId:AAI " -H "X-TransactionId:get_aai_subscr" -H "Accept:application/json" -H "Content-Type:application/json" -k \ +https://$AAI_RESOURCES_IP:8447/aai/v24/business/customers/customer/5GCustomer/service-subscriptions/service-subscription/5G/service-instances/service-instance/3f2f23fa-c567-4dd8-8f15-f95ae3e6fd84/slice-profiles/slice-profile/684hf846f-863b-4901-b202-0ab86a638555 \ +-d @sim-data/slice_profile.json + diff --git a/scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/docker-compose.yaml b/scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/docker-compose.yaml new file mode 100644 index 00000000..ec44ba72 --- /dev/null +++ b/scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/docker-compose.yaml @@ -0,0 +1,103 @@ +# ============LICENSE_START======================================================= +# cps-tdmt +# ================================================================================ +# Copyright (C) 2021 Wipro Limited. +# ============================================================================== +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END========================================================= + +version: "3.3" +networks: + testsuites_slice-analysis-ms-default: + external: true +services: + cps-and-ncmp: + container_name: cps-and-ncmp + hostname: cps-and-ncmp + image: ${DOCKER_REPO:-nexus3.onap.org:10003}/onap/cps-and-ncmp:${VERSION:-latest} + ports: + - "8883:8080" + - "8887:8081" + networks: + - testsuites_slice-analysis-ms-default + environment: + CPS_USERNAME: ${CPS_USERNAME:-cpsuser} + CPS_PASSWORD: ${CPS_PASSWORD:-cpsr0cks!} + DB_HOST: dbpostgresql + DB_USERNAME: ${DB_USERNAME:-cps} + DB_PASSWORD: ${DB_PASSWORD:-cps} + DMI_USERNAME: ${DMI_USERNAME:-cpsuser} + DMI_PASSWORD: ${DMI_PASSWORD:-cpsr0cks!} + #KAFKA_BOOTSTRAP_SERVER: kafka:9092 + #notification.data-updated.enabled: 'true' + #NOTIFICATION_DATASPACE_FILTER_PATTERNS: '.*' + restart: unless-stopped + depends_on: + - dbpostgresql + + dbpostgresql: + container_name: dbpostgresql + image: postgres:13.2-alpine + ports: + - '5432:5432' + networks: + - testsuites_slice-analysis-ms-default + environment: + POSTGRES_DB: cpsdb + POSTGRES_USER: ${DB_USERNAME:-cps} + POSTGRES_PASSWORD: ${DB_PASSWORD:-cps} + postgres: + image: 'postgres:12.4-alpine' + container_name: cps-tbdmt-postgres + hostname: postgres + environment: + - POSTGRES_USER=postgres + - POSTGRES_PASSWORD=postgres + - POSTGRES_DB=cps_template_db + ports: + - 5432 + healthcheck: + test: ["CMD", "nc", "-z", "localhost", "5432"] + interval: 30s + timeout: 10s + retries: 5 + networks: + - testsuites_slice-analysis-ms-default + cps-tdmt: + image: ${DOCKER_REPO:-nexus3.onap.org:10003}/onap/cps-tbdmt:${VERSION:-latest} + container_name: cps-tbdmt + hostname: cps-tbdmt + ports: + - "8088:8080" + volumes: + - "./application.yml:/app/resources/application.yml" + depends_on: + - postgres + restart: on-failure:10 + networks: + - testsuites_slice-analysis-ms-default + aai-resources: + image: ${DOCKER_REPO:-nexus3.onap.org:10001}/onap/aai-resources:1.9.1 + hostname: aai-resources + container_name: aai-resources + networks: + - testsuites_slice-analysis-ms-default + ports: + - "8447:8447" + volumes: + - ./application.properties:/opt/app/aai-resources/resources/application.properties + logging: + driver: "json-file" + options: + max-size: "30m" + max-file: "5" diff --git a/scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/ran-network.zip b/scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/ran-network.zip new file mode 100755 index 0000000000000000000000000000000000000000..806c022b7e920af37e4d3320bb474380338bc230 GIT binary patch literal 24052 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 v{tfJ(qlv%6=4AdS>_1QU?*H literal 0 HcmV?d00001 diff --git a/scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/settings.xml b/scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/settings.xml new file mode 100755 index 00000000..e645b41b --- /dev/null +++ b/scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/settings.xml @@ -0,0 +1,171 @@ + + + + +${user.home}/.m2/repository + + + onap-settings + + https://nexus.onap.org + https://nexus.onap.org/content/sites/raw + https://nexus.onap.org/service/local/repositories/raw/content + ecomp-raw + + + nexus3.onap.org:10003 + nexus3.onap.org:10002 + nexus3.onap.org:10001 + nexus3.onap.org:10003 + + + + onap-snapshots + + + onap-snapshots + onap-snapshots + https://nexus.onap.org/content/repositories/snapshots/ + + false + + + true + + + + + + onap-snapshots + onap-snapshots + https://nexus.onap.org/content/repositories/snapshots/ + + false + + + true + + + + + + onap-releases + + + onap-releases + onap-releases + https://nexus.onap.org/content/repositories/releases/ + + true + + + false + + + + + + onap-releases + onap-releases + https://nexus.onap.org/content/repositories/releases/ + + true + + + false + + + + + + onap-public + + + central + https://repo1.maven.org/maven2/ + + + onap-public + onap-public + https://nexus.onap.org/content/repositories/public/ + + true + + + false + + + + + + central + https://repo1.maven.org/maven2/ + + + onap-public + onap-public + https://nexus.onap.org/content/repositories/public/ + + true + + + false + + + + + + + local-public + + + local-public + local-public + http://nexus-proxy:8081/nexus/content/repositories/public/ + + true + + + false + + + + + + local-public + local-public + http://nexus-proxy:8081/nexus/content/repositories/public/ + + true + + + false + + + + + + + + onap-settings + onap-snapshots + onap-releases + onap-public + + + + + diff --git a/scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/sim-data/customers.json b/scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/sim-data/customers.json new file mode 100644 index 00000000..29072fa0 --- /dev/null +++ b/scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/sim-data/customers.json @@ -0,0 +1,5 @@ +{ + "global-customer-id": "5GCustomer", + "subscriber-name": "5GCustomer", + "subscriber-type": "INFRA" +} diff --git a/scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/sim-data/payload-ran-network.json b/scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/sim-data/payload-ran-network.json new file mode 100644 index 00000000..d72ac241 --- /dev/null +++ b/scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/sim-data/payload-ran-network.json @@ -0,0 +1,704 @@ +{ + "ran-network": { + "NearRTRIC": [ + { + "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": "001-00110", + "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": "1", + "attributes": { + "gNBDUFunction-url": "10.165.160.13:6080", + "gNBIdLength": 23, + "gNBDUName": "gnbdu1", + "gNBDUId": "1", + "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": "11220", + "attributes": { + "nRCellDU-url": "10.165.160.15:8083", + "cellLocalId": 11220, + "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": "001-00110", + "status": "active", + "configData": [ + { + "configParameter": "maxNumberOfConns", + "configValue": 11 + }, + { + "configParameter": "dLThptPerSlice", + "configValue": 12 + }, + { + "configParameter": "uLThptPerSlice", + "configValue": 13 + } + ] + } + ] + } + ], + "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": "11221", + "attributes": { + "nRCellDU-url": "10.165.160.15:8083", + "cellLocalId": 11221, + "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": "001-00110", + "status": "active", + "configData": [ + { + "configParameter": "maxNumberOfConns", + "configValue": 11 + }, + { + "configParameter": "dLThptPerSlice", + "configValue": 12 + }, + { + "configParameter": "uLThptPerSlice", + "configValue": 13 + } + ] + } + ] + } + ], + "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": "11222", + "attributes": { + "nRCellDU-url": "10.165.160.15:8083", + "cellLocalId": 11222, + "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": "001-00110", + "status": "active", + "configData": [ + { + "configParameter": "maxNumberOfConns", + "configValue": 11 + }, + { + "configParameter": "dLThptPerSlice", + "configValue": 12 + }, + { + "configParameter": "uLThptPerSlice", + "configValue": 13 + } + ] + } + ] + } + ], + "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 + } + ] + } + } + ] + } + ] + }, + { + "idNearRTRIC": 22, + "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": "311", + "mnc": "411", + "sNSSAIList": [ + { + "sNssai": "111-1111", + "status": "ACTIVE", + "configData": [ + { + "configParameter": "maxNumberOfConns", + "configValue": 20 + }, + { + "configParameter": "uLThptPerSlice", + "configValue": 20 + }, + { + "configParameter": "dLThptPerSlice", + "configValue": 20 + } + ] + } + ] + } + ], + "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": "2", + "attributes": { + "gNBDUFunction-url": "10.165.160.13:6080", + "gNBIdLength": 23, + "gNBDUName": "gnbdu1", + "gNBDUId": "2", + "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": "12230", + "attributes": { + "nRCellDU-url": "10.165.160.15:8083", + "cellLocalId": 12230, + "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": 21 + }, + { + "configParameter": "dLThptPerSlice", + "configValue": 21 + }, + { + "configParameter": "uLThptPerSlice", + "configValue": 21 + } + ] + } + ] + } + ], + "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": "12231", + "attributes": { + "nRCellDU-url": "10.165.160.15:8083", + "cellLocalId": 12231, + "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": 21 + }, + { + "configParameter": "dLThptPerSlice", + "configValue": 21 + }, + { + "configParameter": "uLThptPerSlice", + "configValue": 21 + } + ] + } + ] + } + ], + "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": "12232", + "attributes": { + "nRCellDU-url": "10.165.160.15:8083", + "cellLocalId": 12232, + "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": 21 + }, + { + "configParameter": "dLThptPerSlice", + "configValue": 21 + }, + { + "configParameter": "uLThptPerSlice", + "configValue": 21 + } + ] + } + ] + } + ], + "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/scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/sim-data/service_instances.json b/scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/sim-data/service_instances.json new file mode 100644 index 00000000..161c61bb --- /dev/null +++ b/scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/sim-data/service_instances.json @@ -0,0 +1,10 @@ +{ + "service-instance-id":"3f2f23fa-c567-4dd8-8f15-f95ae3e6fd84", + "service-instance-name":"an_sp_1", + "service-type":"00-000", + "service-role":"nssi", + "environment-context":"001-00110", + "workload-context":"AN-NF", + "service-instance-location-id":"[\"460-00\",\"460-01\"]", + "orchestration-status":"deactivated" +} diff --git a/scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/sim-data/service_role.json b/scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/sim-data/service_role.json new file mode 100644 index 00000000..a78b1028 --- /dev/null +++ b/scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/sim-data/service_role.json @@ -0,0 +1,112 @@ +{ + "service-instance":[ + { + "service-instance-id":"4b889f2b-8ee4-4ec7-881f-5b1af8a74039", + "service-instance-name":"TEST_RAN_NF_NSST", + "service-type":"00-000", + "service-role":"nssi", + "environment-context":"001-00110", + "workload-context":"AN-NF", + "model-invariant-id":"cc2ffa2f-722b-4ab1-a6cb-45258ebf0c7f", + "model-version-id":"ca22957d-3aa1-4c6e-ab70-666e678b8e02", + "service-instance-location-id":"[\"460-00\",\"460-01\"]", + "resource-version":"1613630576677", + "orchestration-status":"deactivated", + "service-function":"non-shared", + "relationship-list":{ + "relationship":[ + { + "related-to":"network-route", + "relationship-label":"org.onap.relationships.inventory.ComposedOf", + "related-link":"/aai/v21/network/network-routes/network-route/835909aa-3163-41fe-b0aa-8964887132c9", + "relationship-data":[ + { + "relationship-key":"network-route.route-id", + "relationship-value":"835909aa-3163-41fe-b0aa-8964887132c9" + } + ] + }, + { + "related-to":"service-instance", + "relationship-label":"org.onap.relationships.inventory.ComposedOf", + "related-link":"/aai/v21/business/customers/customer/5GCustomer/service-subscriptions/service-subscription/5G/service-instances/service-instance/ee81b1a6-6562-40e2-8235-122a92d651a7", + "relationship-data":[ + { + "relationship-key":"customer.global-customer-id", + "relationship-value":"5GCustomer" + }, + { + "relationship-key":"service-subscription.service-type", + "relationship-value":"5G" + }, + { + "relationship-key":"service-instance.service-instance-id", + "relationship-value":"ee81b1a6-6562-40e2-8235-122a92d651a7" + } + ], + "related-to-property":[ + { + "property-key":"service-instance.service-instance-name", + "property-value":"sliceprofile_002fcda5-ebff-4efc-b385-58d0b3f25f6f" + } + ] + } + ] + } + }, + { + "service-instance-id":"4b889f2b-8ee4-4ec7-881f-5b1af8a74049", + "service-instance-name":"TEST_RAN_NF_NSST", + "service-type":"00-000", + "service-role":"nssi", + "environment-context":"001-010000", + "workload-context":"AN-NF", + "model-invariant-id":"cc2ffa2f-722b-4ab1-a6cb-45258ebf0c7f", + "model-version-id":"ca22957d-3aa1-4c6e-ab70-666e678b8e02", + "service-instance-location-id":"[\"460-00\",\"460-01\"]", + "resource-version":"1613630576677", + "orchestration-status":"deactivated", + "service-function":"non-shared", + "relationship-list":{ + "relationship":[ + { + "related-to":"network-route", + "relationship-label":"org.onap.relationships.inventory.ComposedOf", + "related-link":"/aai/v21/network/network-routes/network-route/835909aa-3163-41fe-b0aa-8964887132c9", + "relationship-data":[ + { + "relationship-key":"network-route.route-id", + "relationship-value":"835909aa-3163-41fe-b0aa-8964887132c9" + } + ] + }, + { + "related-to":"service-instance", + "relationship-label":"org.onap.relationships.inventory.ComposedOf", + "related-link":"/aai/v21/business/customers/customer/5GCustomer/service-subscriptions/service-subscription/5G/service-instances/service-instance/ee81b1a6-6562-40e2-8235-122a92d651a7", + "relationship-data":[ + { + "relationship-key":"customer.global-customer-id", + "relationship-value":"5GCustomer" + }, + { + "relationship-key":"service-subscription.service-type", + "relationship-value":"5G" + }, + { + "relationship-key":"service-instance.service-instance-id", + "relationship-value":"ee81b1a6-6562-40e2-8235-122a92d651a7" + } + ], + "related-to-property":[ + { + "property-key":"service-instance.service-instance-name", + "property-value":"sliceprofile_002fcda5-ebff-4efc-b385-58d0b3f25f6f" + } + ] + } + ] + } + } + ] +} diff --git a/scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/sim-data/service_subscriptions.json b/scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/sim-data/service_subscriptions.json new file mode 100644 index 00000000..b9563a49 --- /dev/null +++ b/scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/sim-data/service_subscriptions.json @@ -0,0 +1 @@ +{"service-type":"5G"} diff --git a/scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/sim-data/slice_profile.json b/scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/sim-data/slice_profile.json new file mode 100644 index 00000000..1dbbdbec --- /dev/null +++ b/scripts/dcaegen2-services-slice-analysis-ms/slice-analysis-ms/cps-aai/sim-data/slice_profile.json @@ -0,0 +1,9 @@ +{ + "profile-id":"684hf846f-863b-4901-b202-0ab86a638555", + "latency":30, + "max-number-of-UEs":200, + "coverage-area-TA-list":"[1, 2, 3, 4]", + "resource-sharing-level":"non-shared", + "exp-data-rate-UL":40, + "exp-data-rate-DL":50 +} diff --git a/tests/dcaegen2-services-slice-analysis-ms/testcases/data/expected_ml_payload0.json b/tests/dcaegen2-services-slice-analysis-ms/testcases/data/expected_ml_payload0.json new file mode 100644 index 00000000..81f4f309 --- /dev/null +++ b/tests/dcaegen2-services-slice-analysis-ms/testcases/data/expected_ml_payload0.json @@ -0,0 +1,38 @@ +{ + "name": "3f2f23fa-c567-4dd8-8f15-f95ae3e6fd84", + "serviceInstanceID": "3f2f23fa-c567-4dd8-8f15-f95ae3e6fd84", + "globalSubscriberId": "5GCustomer", + "subscriptionServiceType": "5G", + "networkType": "AN", + "additionalProperties": { + "modifyAction": "reconfigure", + "snssaiList": [ + "001-00110" + ], + "sliceProfileId": "3f2f23fa-c567-4dd8-8f15-f95ae3e6fd83", + "resourceConfig": { + "snssai": "001-00110", + "data": [ + { + "gNBCUName": "cucpserver1", + "nearRTRICId": "11", + "cellCUList": [ + { + "cellLocalId": 11220, + "configData": { + "maxNumberofConns": "20", + "predictedMaxNumberofConns": "25", + "lastUpdatedTS": "yyyy/MM/dd HH:mm:ss" + } + } + ] + } + ] + }, + "nsiInfo": { + "nsiName": "", + "nsiId": "36575a3f-c18c-4bf1-908e-e498ee481853" + }, + "scriptName": "AN" + } +} diff --git a/tests/dcaegen2-services-slice-analysis-ms/testcases/data/expected_payload_pm0.json b/tests/dcaegen2-services-slice-analysis-ms/testcases/data/expected_payload_pm0.json new file mode 100644 index 00000000..f730294d --- /dev/null +++ b/tests/dcaegen2-services-slice-analysis-ms/testcases/data/expected_payload_pm0.json @@ -0,0 +1 @@ +{"name":"3f2f23fa-c567-4dd8-8f15-f95ae3e6fd84","serviceInstanceID":"3f2f23fa-c567-4dd8-8f15-f95ae3e6fd84","globalSubscriberId":"5GCustomer","subscriptionServiceType":"5G","networkType":"AN","additionalProperties":{"modifyAction":"reconfigure","snssaiList":["001-00110"],"sliceProfileId":"3f2f23fa-c567-4dd8-8f15-f95ae3e6fd84","resourceConfig":{"11":{"dLThptPerSlice":40,"uLThptPerSlice":50}},"nsiInfo":{"nsiName":"","nsiId":"7455d0de-fc43-4260-b8d4-5b57d357ea57"},"scriptName":"AN"}} diff --git a/tests/dcaegen2-services-slice-analysis-ms/testcases/data/ml_response0.json b/tests/dcaegen2-services-slice-analysis-ms/testcases/data/ml_response0.json new file mode 100644 index 00000000..476ba86c --- /dev/null +++ b/tests/dcaegen2-services-slice-analysis-ms/testcases/data/ml_response0.json @@ -0,0 +1,18 @@ +{ + "snssai": "001-00110", + "data": [ + { + "gNBCUName": "cucpserver1", + "cellCUList": [ + { + "cellLocalId": 11220, + "configData": { + "maxNumberofConns": "20", + "predictedMaxNumberofConns": "25", + "lastUpdatedTS": "yyyy/MM/dd HH:mm:ss" + } + } + ] + } + ] +} diff --git a/tests/dcaegen2-services-slice-analysis-ms/testcases/data/performance_notification0.json b/tests/dcaegen2-services-slice-analysis-ms/testcases/data/performance_notification0.json new file mode 100644 index 00000000..f6c649c2 --- /dev/null +++ b/tests/dcaegen2-services-slice-analysis-ms/testcases/data/performance_notification0.json @@ -0,0 +1,84 @@ +{ + "event": { + "commonEventHeader": { + "domain": "perf3gpp", + "eventId": "9e7c7db8-7a51-4bff-94f5-b530296edd7c", + "sequence": 0, + "eventName": "perf3gpp_AcmeNode-Acme_pmMeasResult", + "sourceName": "oteNB5309", + "reportingEntityName": "", + "priority": "Normal", + "startEpochMicrosec": 1538478000000, + "lastEpochMicrosec": 1538478900000, + "version": "4.0", + "vesEventListenerVersion": "7.1", + "timeZoneOffset": "UTC+05:00" + }, + "perf3gppFields": { + "perf3gppFieldsVersion": "1", + "measDataCollection": { + "granularityPeriod": 1538482500000, + "measuredEntityUserName": "", + "measuredEntityDn": "1", + "measuredEntitySoftwareVersion": "r0.1", + "measInfoList": [ + { + "measInfoId": { + "sMeasInfoId": "some measInfoId" + }, + "measTypes": { + "sMeasTypesList": [ + "SM.PrbUsedDl.001-00110", + "SM.PrbUsedUl.001-00110" + ] + }, + "measValuesList": [ + { + "measObjInstId": "11220", + "suspectFlag": "false", + "measResults": [ + { + "p": 1, + "sValue": "75" + }, + { + "p": 2, + "sValue": "84" + } + ] + }, + { + "measObjInstId": "11221", + "suspectFlag": "false", + "measResults": [ + { + "p": 1, + "sValue": "76" + }, + { + "p": 2, + "sValue": "85" + } + ] + }, + { + "measObjInstId": "11222", + "suspectFlag": "false", + "measResults": [ + { + "p": 1, + "sValue": "90" + }, + { + "p": 2, + "sValue": "95" + } + ] + } + ] + } + ] + } + } + } +} diff --git a/tests/dcaegen2-services-slice-analysis-ms/testcases/slice-analysis-ms-test-cps-aai.robot b/tests/dcaegen2-services-slice-analysis-ms/testcases/slice-analysis-ms-test-cps-aai.robot new file mode 100644 index 00000000..8c4d8e23 --- /dev/null +++ b/tests/dcaegen2-services-slice-analysis-ms/testcases/slice-analysis-ms-test-cps-aai.robot @@ -0,0 +1,78 @@ +*** Settings *** +Library Collections +Library Process +Library RequestsLibrary +Library String +Library OperatingSystem + +Suite Teardown Delete All Sessions + +*** Variables *** +${SLICE_ANALYSIS_MS_BASE_URL} http://${SLICE_ANALYSIS_MS_IP}:8080 +${HEALTHCHECK_ENDPOINT} /healthcheck +${DMAAP_URL} http://${DMAAP_IP}:3904/events +${unauthenticated.DCAE_CL_OUTPUT} /unauthenticated.DCAE_CL_OUTPUT/23/23 +${POST_DMAAP_EVENT_FOR_ML_NOTIF_URL} http://${DMAAP_IP}:3904/events/unauthenticated.ML_RESPONSE_TOPIC +${POST_DMAAP_EVENT_FOR_PM_NOTIF_URL} http://${DMAAP_IP}:3904/events/unauthenticated.PERFORMANCE_MEASUREMENTS + + +*** Test Cases *** + +HealthCheck + + Create Session sliceanalysisms ${SLICE_ANALYSIS_MS_BASE_URL} + ${resp}= Get Request sliceanalysisms ${HEALTHCHECK_ENDPOINT} + Should Be Equal As Strings ${resp.status_code} 200 + + +Post ml notification to dmaap + Create Session dmaap ${DMAAP_URL} + ${headers}= Create Dictionary Content-Type application/json + ${data}= Get File ${TEST_ROBOT_DIR}/data/ml_response0.json + ${response}= Evaluate requests.post('${POST_DMAAP_EVENT_FOR_ML_NOTIF_URL}', data=$data) + Should Be Equal As Strings ${response.status_code} 200 + + +Verify ml notification trigger + Create Session dmaap ${DMAAP_URL} + FOR ${i} IN RANGE 30 + ${result}= Get Request dmaap ${unauthenticated.DCAE_CL_OUTPUT} + Exit For Loop If ${result.json()} != @{EMPTY} + Log Waiting for slice-analysis-ms to handle trigger... console=${True} + Sleep 5s + END + + ${expected_string}= Get File ${TEST_ROBOT_DIR}/data/expected_ml_payload0.json + ${expected_payload}= Evaluate json.loads("""${expected_string}""") json + ${result}= Convert To String ${result.content} + ${result_string}= Get Substring ${result} 2 -2 + ${actual_data}= Evaluate json.loads("""${result_string}""") json + ${actual_payload_str}= Set Variable ${actual_data['payload']} + ${actual_payload}= Evaluate json.loads("""${actual_payload_str}""") json + +Post pm notification-1 to dmaap + ${data}= Get File ${TEST_ROBOT_DIR}/data/performance_notification0.json + FOR ${j} IN RANGE 6 + ${response}= Evaluate requests.post('${POST_DMAAP_EVENT_FOR_PM_NOTIF_URL}', data=$data) + Sleep 10s + END + Should Be Equal As Strings ${response.status_code} 200 + + +Verify pm notification-1 trigger + Create Session dmaap ${DMAAP_URL} + FOR ${i} IN RANGE 20 + ${result}= Get Request dmaap ${unauthenticated.DCAE_CL_OUTPUT} + Exit For Loop If ${result.json()} != @{EMPTY} + Log Waiting for sliceanalysisms to handle trigger... console=${True} + Sleep 30s + END + ${expected_string}= Get File ${TEST_ROBOT_DIR}/data/expected_payload_pm0.json + ${expected_payload}= Evaluate json.loads("""${expected_string}""") json + ${result}= Convert To String ${result.content} + ${result_string}= Get Substring ${result} 2 -2 + ${actual_data}= Evaluate json.loads("""${result_string}""") json + ${actual_payload_str}= Set Variable ${actual_data['payload']} + ${actual_payload}= Evaluate json.loads("""${actual_payload_str}""") json + set to dictionary ${expected_payload['additionalProperties']['nsiInfo']} nsiId=${actual_payload['additionalProperties']['nsiInfo']['nsiId']} + Should Be True """${actual_payload}""".strip() == """${expected_payload}""".strip() -- 2.16.6