From e3980260a770b66eae1744fba59ab574adb07dcd Mon Sep 17 00:00:00 2001 From: ychacon Date: Wed, 30 Mar 2022 22:54:14 +0200 Subject: [PATCH] Adding docker-compose for setting up ICS version Issue-ID: NONRTRIC-740 Signed-off-by: ychacon Change-Id: Icfdd19504021c942126a54cd48f1f5c3f302a7ac --- docker-compose/icsversion/.env | 44 +++++++ .../icsversion/config/control-panel/nginx.conf | 27 +++++ .../config/dmaap-adaptor-java/application.yaml | 71 +++++++++++ .../application_configuration.json | 9 ++ .../dmaap-mediator-producer/type_config.json | 9 ++ .../application-nonrtricgateway.yaml | 56 +++++++++ .../icsversion/config/oru-app/o-ru-to-o-du-map.txt | 14 +++ docker-compose/icsversion/docker-compose.yaml | 130 +++++++++++++++++++++ 8 files changed, 360 insertions(+) create mode 100644 docker-compose/icsversion/.env create mode 100644 docker-compose/icsversion/config/control-panel/nginx.conf create mode 100644 docker-compose/icsversion/config/dmaap-adaptor-java/application.yaml create mode 100644 docker-compose/icsversion/config/dmaap-adaptor-java/application_configuration.json create mode 100644 docker-compose/icsversion/config/dmaap-mediator-producer/type_config.json create mode 100644 docker-compose/icsversion/config/nonrtric-gateway/application-nonrtricgateway.yaml create mode 100644 docker-compose/icsversion/config/oru-app/o-ru-to-o-du-map.txt create mode 100644 docker-compose/icsversion/docker-compose.yaml diff --git a/docker-compose/icsversion/.env b/docker-compose/icsversion/.env new file mode 100644 index 0000000..a92191e --- /dev/null +++ b/docker-compose/icsversion/.env @@ -0,0 +1,44 @@ +# ============LICENSE_START=============================================== +# Copyright (C) 2022 Nordix Foundation. All rights reserved. +# ======================================================================== +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# 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================================================= +# + +#CONTROL_PANEL +CONTROL_PANEL_IMAGE_BASE="nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-controlpanel" +CONTROL_PANEL_IMAGE_TAG="2.3.0" + +#GATEWAY +NONRTRIC_GATEWAY_IMAGE_BASE="nexus3.o-ran-sc.org:10004/o-ran-sc/nonrtric-gateway" +NONRTRIC_GATEWAY_IMAGE_TAG="1.1.0" + +#ICS +ICS_IMAGE_BASE="nexus3.o-ran-sc.org:10004/o-ran-sc/nonrtric-information-coordinator-service" +ICS_IMAGE_TAG="1.2.1" + +#ORU +ORU_APP_IMAGE_BASE="nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-o-ru-closed-loop-recovery" +ORU_APP_IMAGE_TAG="1.0.1" + +#ODU +ODU_APP_IMAGE_BASE="nexus3.o-ran-sc.org:10004/o-ran-sc/nonrtric-rapp-ransliceassurance-icsversion" +ODU_APP_IMAGE_TAG="1.0.0" + +#DMAAP_MEDIATOR_GO +DMAAP_MEDIATOR_GO_BASE="nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-dmaap-mediator-producer" +DMAAP_MEDIATOR_GO_TAG="1.0.1" + +#DMAAP_ADAPTOR_JAVA +DMAAP_ADAPTOR_JAVA_BASE="nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-dmaap-adaptor" +DMAAP_ADAPTOR_JAVA_TAG="1.0.1" \ No newline at end of file diff --git a/docker-compose/icsversion/config/control-panel/nginx.conf b/docker-compose/icsversion/config/control-panel/nginx.conf new file mode 100644 index 0000000..3416fd4 --- /dev/null +++ b/docker-compose/icsversion/config/control-panel/nginx.conf @@ -0,0 +1,27 @@ +events{} + +http { + include /etc/nginx/mime.types; + resolver 127.0.0.11; + server { + listen 8080; + server_name localhost; + root /usr/share/nginx/html; + index index.html; + location /a1-policy/ { + set $upstream nonrtric-gateway; + proxy_pass http://$upstream:9090; + } + location /data-producer/{ + set $upstream nonrtric-gateway; + proxy_pass http://$upstream:9090; + } + location /data-consumer/{ + set $upstream nonrtric-gateway; + proxy_pass http://$upstream:9090; + } + location / { + try_files $uri $uri/ /index.html; + } + } +} diff --git a/docker-compose/icsversion/config/dmaap-adaptor-java/application.yaml b/docker-compose/icsversion/config/dmaap-adaptor-java/application.yaml new file mode 100644 index 0000000..c646c14 --- /dev/null +++ b/docker-compose/icsversion/config/dmaap-adaptor-java/application.yaml @@ -0,0 +1,71 @@ +################################################################################ +# Copyright (c) 2022 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. # +################################################################################ +spring: + profiles: + active: prod + main: + allow-bean-definition-overriding: true + aop: + auto: false +management: + endpoints: + web: + exposure: + # Enabling of springboot actuator features. See springboot documentation. + include: "loggers,logfile,health,info,metrics,threaddump,heapdump" + +logging: + # Configuration of logging + level: + ROOT: ERROR + org.springframework: ERROR + org.springframework.data: ERROR + org.springframework.web.reactive.function.client.ExchangeFunctions: ERROR + org.oran.dmaapadapter: TRACE + file: + name: /var/log/dmaap-adaptor-service/application.log +server: + # Configuration of the HTTP/REST server. The parameters are defined and handeled by the springboot framework. + # See springboot documentation. + port : 8435 + http-port: 8084 + ssl: + key-store-type: JKS + key-store-password: policy_agent + key-store: /opt/app/dmaap-adaptor-service/etc/cert/keystore.jks + key-password: policy_agent + key-alias: policy_agent +app: + webclient: + # Configuration of the trust store used for the HTTP client (outgoing requests) + # The file location and the password for the truststore is only relevant if trust-store-used == true + # Note that the same keystore as for the server is used. + trust-store-used: false + trust-store-password: policy_agent + trust-store: /opt/app/dmaap-adaptor-service/etc/cert/truststore.jks + # Configuration of usage of HTTP Proxy for the southbound accesses. + # The HTTP proxy (if configured) will only be used for accessing NearRT RIC:s + http.proxy-host: + http.proxy-port: 0 + vardata-directory: /var/dmaap-adaptor-service + ics-base-url: http://ics:8083 + # Location of the component configuration file. The file will only be used if the Consul database is not used; + # configuration from the Consul will override the file. + configuration-filepath: /opt/app/dmaap-adaptor-service/data/application_configuration.json + dmaap-base-url: http://onap-dmaap:3904 + # The url used to adress this component. This is used as a callback url sent to other components. + dmaap-adapter-base-url: http://dmaap-adaptor-service:8084 + diff --git a/docker-compose/icsversion/config/dmaap-adaptor-java/application_configuration.json b/docker-compose/icsversion/config/dmaap-adaptor-java/application_configuration.json new file mode 100644 index 0000000..7cc2b94 --- /dev/null +++ b/docker-compose/icsversion/config/dmaap-adaptor-java/application_configuration.json @@ -0,0 +1,9 @@ +{ + "types": [ + { + "id": "Performance_Measurement_Streaming", + "dmaapTopicUrl": "/events/unauthenticated.VES_O_RAN_SC_HELLO_WORLD_PM_STREAMING_OUTPUT/myG/C1" + } + ] + } + \ No newline at end of file diff --git a/docker-compose/icsversion/config/dmaap-mediator-producer/type_config.json b/docker-compose/icsversion/config/dmaap-mediator-producer/type_config.json new file mode 100644 index 0000000..e112dc2 --- /dev/null +++ b/docker-compose/icsversion/config/dmaap-mediator-producer/type_config.json @@ -0,0 +1,9 @@ +{ + "types": + [ + { + "id": "STD_Fault_Messages", + "dmaapTopicUrl": "/events/unauthenticated.SEC_FAULT_OUTPUT/myG/C1" + } + ] + } \ No newline at end of file diff --git a/docker-compose/icsversion/config/nonrtric-gateway/application-nonrtricgateway.yaml b/docker-compose/icsversion/config/nonrtric-gateway/application-nonrtricgateway.yaml new file mode 100644 index 0000000..d4d93be --- /dev/null +++ b/docker-compose/icsversion/config/nonrtric-gateway/application-nonrtricgateway.yaml @@ -0,0 +1,56 @@ +################################################################################ +# Copyright (c) 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. # +################################################################################ + +server: + port: 9090 +spring: + cloud: + gateway: + httpclient: + ssl: + useInsecureTrustManager: true + wiretap: true + httpserver: + wiretap: true + routes: + - id: A1-Policy + uri: http://policy-agent:8081 + predicates: + - Path=/a1-policy/** + - id: A1-EI + uri: http://ics:8083 + predicates: + - Path=/ei-producer/** + - id: A1-EI2 + uri: http://ics:8083 + predicates: + - Path=/data-producer/**,/data-consumer/** +management: + endpoint: + gateway: + enabled: true + endpoints: + web: + exposure: + include: "gateway,loggers,logfile,health,info,metrics,threaddump,heapdump" +logging: + level: + ROOT: ERROR + org.springframework: ERROR + org.springframework.cloud.gateway: INFO + reactor.netty: INFO + file: + name: /var/log/nonrtric-gateway/application.log diff --git a/docker-compose/icsversion/config/oru-app/o-ru-to-o-du-map.txt b/docker-compose/icsversion/config/oru-app/o-ru-to-o-du-map.txt new file mode 100644 index 0000000..a8a8d1c --- /dev/null +++ b/docker-compose/icsversion/config/oru-app/o-ru-to-o-du-map.txt @@ -0,0 +1,14 @@ +{ + "highstreet-O-RU-11221": "highstreet-O-DU-1122", + "highstreet-O-RU-11222": "highstreet-O-DU-1122", + "highstreet-O-RU-11223": "highstreet-O-DU-1122", + "ERICSSON-O-RU-11221": "HCL-O-DU-1122", + "ERICSSON-O-RU-11222": "HCL-O-DU-1122", + "ERICSSON-O-RU-11223": "HCL-O-DU-1122", + "HIGHSTREET-O-RU-12121": "ERICSSON-O-DU-1212", + "HIGHSTREET-O-RU-12122": "ERICSSON-O-DU-1212", + "HIGHSTREET-O-RU-12123": "ERICSSON-O-DU-1212", + "O-RU-11221":"O-DU-1122", + "O-RU-11222": "O-DU-1122", + "O-RU-11223": "O-DU-1122" +} diff --git a/docker-compose/icsversion/docker-compose.yaml b/docker-compose/icsversion/docker-compose.yaml new file mode 100644 index 0000000..0c77e02 --- /dev/null +++ b/docker-compose/icsversion/docker-compose.yaml @@ -0,0 +1,130 @@ +# Copyright (C) 2021 Nordix Foundation. All rights reserved. +# ======================================================================== +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# 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' + +networks: + nonrtric: + driver: bridge + oam: + external: true + smo: + external: true + +services: + nonrtric-control-panel: + image: "${CONTROL_PANEL_IMAGE_BASE}:${CONTROL_PANEL_IMAGE_TAG}" + container_name: nonrtric-control-panel + networks: + - default + - smo + ports: + - 8182:8080 + - 8082:8082 + volumes: + - ./config/control-panel/nginx.conf:/etc/nginx/nginx.conf:ro + + nonrtric-gateway: + image: "${NONRTRIC_GATEWAY_IMAGE_BASE}:${NONRTRIC_GATEWAY_IMAGE_TAG}" + container_name: nonrtric-gateway + networks: + - default + - smo + ports: + - 9090:9090 + volumes: + - ./config/nonrtric-gateway/application-nonrtricgateway.yaml:/opt/app/nonrtric-gateway/config/application.yaml:ro + + ics: + image: "${ICS_IMAGE_BASE}:${ICS_IMAGE_TAG}" + container_name: ics + networks: + - default + - smo + ports: + - 8083:8083 + - 8434:8434 + + dmaap-adaptor-service: + image: "${DMAAP_ADAPTOR_JAVA_BASE}:${DMAAP_ADAPTOR_JAVA_TAG}" + container_name: dmaap-adaptor-service + networks: + - default + - smo + ports: + - 8084:8084 + - 8435:8435 + volumes: + - ./config/dmaap-adaptor-java/application.yaml:/opt/app/dmaap-adaptor-service/config/application.yaml:ro + - ./config/dmaap-adaptor-java/application_configuration.json:/opt/app/dmaap-adaptor-service/data/application_configuration.json:ro + + dmaap-mediator-service: + image: "${DMAAP_MEDIATOR_GO_BASE}:${DMAAP_MEDIATOR_GO_TAG}" + container_name: dmaap-mediator-service + networks: + - default + - smo + ports: + - 8085:8085 + - 8436:8436 + environment: + - INFO_PRODUCER_HOST=http://dmaap-mediator-service + - INFO_PRODUCER_PORT=8085 + - INFO_COORD_ADDR=http://ics:8083 + - DMAAP_MR_ADDR=http://onap-dmaap:3904 + - PRODUCER_CERT_PATH=security/producer.crt + - PRODUCER_KEY_PATH=security/producer.key + - KAFKA_BOOTSTRAP_SERVERS=http://kafka:9092 + - LOG_LEVEL=Debug + volumes: + - ./config/dmaap-mediator-producer/type_config.json:/configs/type_config.json + + oru-app: + image: "${ORU_APP_IMAGE_BASE}:${ORU_APP_IMAGE_TAG}" + container_name: oru-app + networks: + - default + - oam + - smo + ports: + - 8086:8086 + environment: + - CONSUMER_HOST=http://oru-app + - CONSUMER_PORT=8086 + - INFO_COORD_ADDR=http://ics:8083 + - SDNR_ADDR=http://sdnr:8181 + - CONSUMER_CERT_PATH=security/consumer.crt + - CONSUMER_KEY_PATH=security/consumer.key + - LOG_LEVEL=Debug + volumes: + - ./config/oru-app/o-ru-to-o-du-map.txt:/usr/src/app/o-ru-to-o-du-map.txt:ro + + odu-app: + image: "${ODU_APP_IMAGE_BASE}:${ODU_APP_IMAGE_TAG}" + container_name: odu-app + networks: + - default + - oam + - smo + ports: + - 8095:8095 + environment: + - SDNR_USER=admin + - SDNR_PASSWORD=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U + - CONSUMER_HOST=http://odu-app + - CONSUMER_PORT=8095 + - INFO_COORD_ADDR=http://ics:8083 + - SDNR_ADDR=http://sdnr:8181 + - LOG_LEVEL=Debug \ No newline at end of file -- 2.16.6