diff options
-rwxr-xr-x | cps-application/pom.xml | 4 | ||||
-rwxr-xr-x | cps-parent/pom.xml | 21 | ||||
-rw-r--r-- | cps-ri/src/main/resources/changelog/db/changes/09-loadData-dmi-registry-schema-set.yaml | 2 | ||||
-rw-r--r-- | cps-ri/src/main/resources/changelog/db/changes/data/dmi/anchor.csv | 2 | ||||
-rwxr-xr-x | cps-service/src/test/groovy/org/onap/cps/api/impl/E2ENetworkSliceSpec.groovy | 2 | ||||
-rw-r--r-- | cps-service/src/test/resources/e2e/basic/cps-ran-schema-model-data-v4.json | 6 | ||||
-rw-r--r-- | cps-service/src/test/resources/e2e/basic/cps-ran-schema-model@2021-05-19.yang (renamed from cps-service/src/test/resources/e2e/basic/cps-ran-schema-model@2021-01-28.yang) | 153 | ||||
-rw-r--r-- | docker-compose/README.md | 27 | ||||
-rwxr-xr-x | docker-compose/docker-compose.yml | 22 |
9 files changed, 176 insertions, 63 deletions
diff --git a/cps-application/pom.xml b/cps-application/pom.xml index 8c79666252..2ae4883752 100755 --- a/cps-application/pom.xml +++ b/cps-application/pom.xml @@ -38,7 +38,7 @@ <jib-maven-plugin.version>2.8.0</jib-maven-plugin.version> <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format> <minimum-coverage>0.7</minimum-coverage> - <base.image>${docker.repository.pull}onap/integration-java11:8.0.0</base.image> + <base.image>${docker.pull.registry}/onap/integration-java11:8.0.0</base.image> <image.tag>${project.version}-${maven.build.timestamp}</image.tag> </properties> @@ -127,7 +127,7 @@ <tags> <tag>latest</tag> </tags> - <image>${docker.repository.push}onap/${image.name}:${image.tag}</image> + <image>${docker.push.registry}/onap/${image.name}:${image.tag}</image> </to> </configuration> <executions> diff --git a/cps-parent/pom.xml b/cps-parent/pom.xml index 78a89f0aca..a341ea9af7 100755 --- a/cps-parent/pom.xml +++ b/cps-parent/pom.xml @@ -37,16 +37,10 @@ <properties> <app>org.onap.cps.Application</app> - <docker.repository.push>nexus3.onap.org:10003/</docker.repository.push> - <docker.repository.pull>nexus3.onap.org:10001/</docker.repository.pull> <java.version>11</java.version> <jsonschema2pojo-maven-plugin.version>1.1.1</jsonschema2pojo-maven-plugin.version> <minimum-coverage>0.9</minimum-coverage> - <nexusproxy>https://nexus.onap.org</nexusproxy> <oparent.version>3.1.0</oparent.version> - <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> - <releaseNexusPath>/content/repositories/releases/</releaseNexusPath> - <snapshotNexusPath>/content/repositories/snapshots/</snapshotNexusPath> <spotbugs-maven-plugin.version>4.1.3</spotbugs-maven-plugin.version> <spotbugs.slf4j.version>1.8.0-beta4</spotbugs.slf4j.version> <spotbugs.bug-pattern.version>1.5.0</spotbugs.bug-pattern.version> @@ -73,19 +67,6 @@ </sonar.coverage.jacoco.xmlReportPaths> </properties> - <distributionManagement> - <repository> - <id>ecomp-releases</id> - <name>ECOMP Release Repository</name> - <url>${nexusproxy}${releaseNexusPath}</url> - </repository> - <snapshotRepository> - <id>ecomp-snapshots</id> - <name>ECOMP Snapshot Repository</name> - <url>${nexusproxy}${snapshotNexusPath}</url> - </snapshotRepository> - </distributionManagement> - <dependencyManagement> <dependencies> <dependency> @@ -346,7 +327,7 @@ see https://www.testcontainers.org/features/configuration/#disabling-ryuk --> <TESTCONTAINERS_RYUK_DISABLED>true</TESTCONTAINERS_RYUK_DISABLED> - <TESTCONTAINERS_HUB_IMAGE_NAME_PREFIX>${docker.repository.pull}library/</TESTCONTAINERS_HUB_IMAGE_NAME_PREFIX> + <TESTCONTAINERS_HUB_IMAGE_NAME_PREFIX>${docker.pull.registry}/library/</TESTCONTAINERS_HUB_IMAGE_NAME_PREFIX> </environmentVariables> </configuration> </plugin> diff --git a/cps-ri/src/main/resources/changelog/db/changes/09-loadData-dmi-registry-schema-set.yaml b/cps-ri/src/main/resources/changelog/db/changes/09-loadData-dmi-registry-schema-set.yaml index 9009ab26d8..d0977fbf38 100644 --- a/cps-ri/src/main/resources/changelog/db/changes/09-loadData-dmi-registry-schema-set.yaml +++ b/cps-ri/src/main/resources/changelog/db/changes/09-loadData-dmi-registry-schema-set.yaml @@ -111,5 +111,5 @@ databaseChangeLog: tableName: 'anchor' rollback: - sql: - sql: delete from anchor where name = 'ncmp-dmi-registery' + sql: delete from anchor where name = 'ncmp-dmi-registry' diff --git a/cps-ri/src/main/resources/changelog/db/changes/data/dmi/anchor.csv b/cps-ri/src/main/resources/changelog/db/changes/data/dmi/anchor.csv index bfd78c18e6..7a0df2137a 100644 --- a/cps-ri/src/main/resources/changelog/db/changes/data/dmi/anchor.csv +++ b/cps-ri/src/main/resources/changelog/db/changes/data/dmi/anchor.csv @@ -1,2 +1,2 @@ name|schema_set_id|dataspace_id -ncmp-dmi-registery|(select id from schema_set where name='ncmp-dmi-registry-model')|(select id from dataspace where name='NCMP-Admin') +ncmp-dmi-registry|(select id from schema_set where name='ncmp-dmi-registry-model')|(select id from dataspace where name='NCMP-Admin') diff --git a/cps-service/src/test/groovy/org/onap/cps/api/impl/E2ENetworkSliceSpec.groovy b/cps-service/src/test/groovy/org/onap/cps/api/impl/E2ENetworkSliceSpec.groovy index a09166df19..aa54a9991e 100755 --- a/cps-service/src/test/groovy/org/onap/cps/api/impl/E2ENetworkSliceSpec.groovy +++ b/cps-service/src/test/groovy/org/onap/cps/api/impl/E2ENetworkSliceSpec.groovy @@ -150,7 +150,7 @@ class E2ENetworkSliceSpec extends Specification { def yangResourcesNameToContentMap = TestUtils.getYangResourcesAsMap(
'ietf/ietf-inet-types@2013-07-15.yang',
'ietf/ietf-yang-types@2013-07-15.yang',
- 'e2e/basic/cps-ran-schema-model@2021-01-28.yang'
+ 'e2e/basic/cps-ran-schema-model@2021-05-19.yang'
)
and : 'json data'
def jsonData = TestUtils.getResourceFileContent('e2e/basic/cps-ran-schema-model-data-v4.json')
diff --git a/cps-service/src/test/resources/e2e/basic/cps-ran-schema-model-data-v4.json b/cps-service/src/test/resources/e2e/basic/cps-ran-schema-model-data-v4.json index 0925eef735..fba875bd79 100644 --- a/cps-service/src/test/resources/e2e/basic/cps-ran-schema-model-data-v4.json +++ b/cps-service/src/test/resources/e2e/basic/cps-ran-schema-model-data-v4.json @@ -4,9 +4,9 @@ { "idNearRTRIC": "11", "attributes":{ - "ranNFNSSIIdList":[ - "ac8ca1a9-e1ec-4480-8720-c74e92566885" - ] + "ranNFNSSIIdList":[ + "ac8ca1a9-e1ec-4480-8720-c74e92566885" + ] }, "GNBCUUPFunction": [ { diff --git a/cps-service/src/test/resources/e2e/basic/cps-ran-schema-model@2021-01-28.yang b/cps-service/src/test/resources/e2e/basic/cps-ran-schema-model@2021-05-19.yang index 224e884aa5..5fd292a99d 100644 --- a/cps-service/src/test/resources/e2e/basic/cps-ran-schema-model@2021-01-28.yang +++ b/cps-service/src/test/resources/e2e/basic/cps-ran-schema-model@2021-05-19.yang @@ -3,14 +3,14 @@ module cps-ran-schema-model { namespace "org:onap:ccsdk:features:sdnr:northbound:cps-ran-schema-model"; prefix rn; - import ietf-inet-types { + import ietf-inet-types { prefix inet; } import ietf-yang-types { prefix yang; } - organization + organization "Open Network Automation Platform - ONAP <https://www.onap.org>"; contact @@ -39,6 +39,13 @@ module cps-ran-schema-model { See the License for the specific language governing permissions and limitations under the License."; + revision 2021-05-19 { + description + "Added support for OOF PCI SON Use case"; + reference + "https://wiki.onap.org/display/DW/CPS+APIs"; + } + revision 2021-01-28 { description "CPS RAN Network YANG Model for ONAP/O-RAN POC"; @@ -855,7 +862,7 @@ module cps-ran-schema-model { reference "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413"; } - list pLMNInfoList { + list pLMNInfoList { uses PLMNInfo; key "mcc mnc"; description "The PLMNInfoList is a list of PLMNInfo data type. It defines which PLMNs that can be served by the nearRTRIC."; @@ -875,6 +882,7 @@ module cps-ran-schema-model { standardized (like RRMPolicyRatio) or as vendor specific, by inheriting from the abstract RRMPolicy_ IOC. For details see subclause 4.3.36."; } + leaf-list ranNFNSSIIdList{ type string; config true; @@ -886,17 +894,17 @@ module cps-ran-schema-model { - grouping Configuration{ - leaf configParameter{ - type string; - description "Type of the configuration parameter"; + grouping Configuration{ + leaf configParameter{ + type string; + description "Type of the configuration parameter"; } - leaf configValue{ - type int64; - description "Identifies the configuration to be done for the network elements under the NearRTRIC"; + leaf configValue{ + type int64; + description "Identifies the configuration to be done for the network elements under the NearRTRIC"; - } - } + } + } grouping GNBDUFunctionGroup { @@ -994,6 +1002,31 @@ module cps-ran-schema-model { reference "NCI in 3GPP TS 38.300"; } + + leaf siteLatitude { + type decimal64 { + fraction-digits 4; + range "-90.0000..+90.0000"; + } + description "The latitude of the site where the ManagedFunction + instance resides, based on World Geodetic System (1984 version) + global reference frame (WGS 84). Positive values correspond to + the northern hemisphere. This attribute is optional in case of + BTSFunction and RNCFunction instance(s)."; + } + + leaf siteLongitude { + type decimal64 { + fraction-digits 4; + range "-180.0000..+180.0000"; + } + description "The longitude of the site where the ManagedFunction + instance resides, based on World Geodetic System (1984 version) + global reference frame (WGS 84). Positive values correspond to + degrees east of 0 degrees longitude. This attribute is optional in + case of BTSFunction and RNCFunction instance(s)."; + } + list pLMNInfoList { key "mcc mnc"; min-elements 1; @@ -1085,21 +1118,21 @@ module cps-ran-schema-model { grouping sNSSAIConfig{ - leaf sNssai { + leaf sNssai { type string; description "s-NSSAI of a network slice."; - reference "3GPP TS 23.003"; + reference "3GPP TS 23.003"; } - leaf status { + leaf status { type string; description "status of s-NSSAI"; } - list configData{ - uses Configuration; - key "configParameter"; - description "List of configurations to be done at the network elements"; - } - } + list configData{ + uses Configuration; + key "configParameter"; + description "List of configurations to be done at the network elements"; + } + } grouping RRMPolicy_Group { description @@ -1290,6 +1323,23 @@ module cps-ran-schema-model { } } // grouping NRCellCUGroup + grouping RegionNRCellCUMappingGroup { + description + "Represents the NRCellCU IOC."; + reference + "3GPP TS 28.541"; + leaf cellLocalId { + type int32 { + range "0..16383"; + } + mandatory false; + description + "Identifies an NR cell of a gNB. Together with corresponding + gNB ID it forms the NR Cell Identifier (NCI)."; + } + + } // grouping RegionNRCellCUMappingGroup + grouping NRCellRelationGroup { description "Represents the NRCellRelation IOC."; @@ -1304,6 +1354,17 @@ module cps-ran-schema-model { } } // grouping + typedef RegionId { + type union { + type uint8; + type string { + length 8; + } + } + reference "similar to clause 2.10.1 of 3GPP TS 23.003"; + } + + // container for RAN Network container cps-ran-schema { @@ -1312,6 +1373,56 @@ module cps-ran-schema-model { relationships among O-RAN managed elements for the purposes of storing in Configuration and Persistence ONAP system "; + + list Regions { + key "regionId"; // list Regions + description + "A list of regions in the RAN network to map to mutually exclusive NRCellCU's"; + leaf regionId { + type RegionId; + } + container cps-region-cell-mapping { + list NRCellCU { + key "idNRCellCU"; + description + "Represents the information required by CU that is + responsible for the management of inter-cell mobility and neighbour + relations via ANR."; + reference + "3GPP TS 28.541"; + leaf idNRCellCU { + type string; + description + "TODO"; + } + container attributes { + description + "TODO"; + uses RegionNRCellCUMappingGroup; + } + list NRCellRelation { + key "idNRCellRelation"; + description + "Represents a neighbour cell relation from a source cell + to a target cell, where the target cell is an NRCellCU or + ExternalNRCellCU instance."; + reference + "3GPP TS 28.541"; + leaf idNRCellRelation { + type string; + description + "TODO"; + } + container attributes { + description + "TODO"; + uses NRCellRelationGroup; + } + } // list NRCellRelation + } + } + } + list NearRTRIC { key "idNearRTRIC"; // list GNBCUCPFunction description diff --git a/docker-compose/README.md b/docker-compose/README.md index 6fa222908c..c172276ebe 100644 --- a/docker-compose/README.md +++ b/docker-compose/README.md @@ -1,9 +1,30 @@ +<!-- + ============LICENSE_START======================================================= + Copyright (C) 2020 Pantheon.tech + Modifications (C) 2020-2021 Nordix Foundation. + ================================================================================ + 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. + + SPDX-License-Identifier: Apache-2.0 + ============LICENSE_END========================================================= +--> + # Building and running CPS locally ## Building Java Archive only Following command builds all Java components to `cps-application/target/cps-application-x.y.z-SNAPSHOT.jar` JAR file -without generating any docker images: +without generating any docker images: ```bash mvn clean install -Pcps-docker -Pncmp-docker -Pcps-ncmp-docker -Djib.skip @@ -14,14 +35,14 @@ mvn clean install -Pcps-docker -Pncmp-docker -Pcps-ncmp-docker -Djib.skip * Following command builds the JAR file and also generates the Docker image for all CPS components: ```bash -mvn clean install -Pcps-docker -Pncmp-docker -Pcps-ncmp-docker -Ddocker.repository.push= +mvn clean install -Pcps-docker -Pncmp-docker -Pcps-ncmp-docker ``` * Following command builds the JAR file and generates the Docker image for specified CPS component: (with `<docker-profile>` being one of `cps-docker`, `ncmp-docker` or `cps-ncmp-docker`): ```bash -mvn clean install -P<docker-profile> -Ddocker.repository.push= +mvn clean install -P<docker-profile> ``` ## Running Docker containers diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml index f01d12da28..2878462a36 100755 --- a/docker-compose/docker-compose.yml +++ b/docker-compose/docker-compose.yml @@ -21,45 +21,45 @@ version: "3.7" services: #cps-standalone: # container_name: cps-service - # image: onap/cps-service:${VERSION:-latest} + # image: ${DOCKER_REPO:-nexus3.onap.org:10003}/onap/cps-service:${VERSION:-latest} # ports: # - "8881:8080" # environment: # CPS_USERNAME: ${CPS_USERNAME:-cpsuser} # CPS_PASSWORD: ${CPS_PASSWORD:-cpsr0cks!} # DB_HOST: dbpostgresql - # DB_USERNAME: ${DB_USERNAME} - # DB_PASSWORD: ${DB_PASSWORD} + # DB_USERNAME: ${DB_USERNAME:-cps} + # DB_PASSWORD: ${DB_PASSWORD:-cps} # restart: unless-stopped # depends_on: # - dbpostgresql #ncmp-standalone: # container_name: cps-ncmp - # image: onap/cps-ncmp:${VERSION:-latest} + # image: ${DOCKER_REPO:-nexus3.onap.org:10003}/onap/cps-ncmp:${VERSION:-latest} # ports: # - "8882:8080" # environment: # CPS_USERNAME: ${CPS_USERNAME:-cpsuser} # CPS_PASSWORD: ${CPS_PASSWORD:-cpsr0cks!} # DB_HOST: dbpostgresql - # DB_USERNAME: ${DB_USERNAME} - # DB_PASSWORD: ${DB_PASSWORD} + # DB_USERNAME: ${DB_USERNAME:-cps} + # DB_PASSWORD: ${DB_PASSWORD:-cps} # restart: unless-stopped # depends_on: # - dbpostgresql cps-and-ncmp: container_name: cps-and-ncmp - image: onap/cps-and-ncmp:${VERSION:-latest} + image: ${DOCKER_REPO:-nexus3.onap.org:10003}/onap/cps-and-ncmp:${VERSION:-latest} ports: - "8883:8080" environment: CPS_USERNAME: ${CPS_USERNAME:-cpsuser} CPS_PASSWORD: ${CPS_PASSWORD:-cpsr0cks!} DB_HOST: dbpostgresql - DB_USERNAME: ${DB_USERNAME} - DB_PASSWORD: ${DB_PASSWORD} + DB_USERNAME: ${DB_USERNAME:-cps} + DB_PASSWORD: ${DB_PASSWORD:-cps} restart: unless-stopped depends_on: - dbpostgresql @@ -71,5 +71,5 @@ services: - '5432:5432' environment: POSTGRES_DB: cpsdb - POSTGRES_USER: ${DB_USERNAME} - POSTGRES_PASSWORD: ${DB_PASSWORD} + POSTGRES_USER: ${DB_USERNAME:-cps} + POSTGRES_PASSWORD: ${DB_PASSWORD:-cps} |