Adding docker-compose for setting up ICS version 04/8004/2
authorychacon <yennifer.chacon@est.tech>
Wed, 30 Mar 2022 20:54:14 +0000 (22:54 +0200)
committerychacon <yennifer.chacon@est.tech>
Thu, 31 Mar 2022 20:46:14 +0000 (22:46 +0200)
Issue-ID: NONRTRIC-740
Signed-off-by: ychacon <yennifer.chacon@est.tech>
Change-Id: Icfdd19504021c942126a54cd48f1f5c3f302a7ac

docker-compose/icsversion/.env [new file with mode: 0644]
docker-compose/icsversion/config/control-panel/nginx.conf [new file with mode: 0644]
docker-compose/icsversion/config/dmaap-adaptor-java/application.yaml [new file with mode: 0644]
docker-compose/icsversion/config/dmaap-adaptor-java/application_configuration.json [new file with mode: 0644]
docker-compose/icsversion/config/dmaap-mediator-producer/type_config.json [new file with mode: 0644]
docker-compose/icsversion/config/nonrtric-gateway/application-nonrtricgateway.yaml [new file with mode: 0644]
docker-compose/icsversion/config/oru-app/o-ru-to-o-du-map.txt [new file with mode: 0644]
docker-compose/icsversion/docker-compose.yaml [new file with mode: 0644]

diff --git a/docker-compose/icsversion/.env b/docker-compose/icsversion/.env
new file mode 100644 (file)
index 0000000..a92191e
--- /dev/null
@@ -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 (file)
index 0000000..3416fd4
--- /dev/null
@@ -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 (file)
index 0000000..c646c14
--- /dev/null
@@ -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 (file)
index 0000000..7cc2b94
--- /dev/null
@@ -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 (file)
index 0000000..e112dc2
--- /dev/null
@@ -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 (file)
index 0000000..d4d93be
--- /dev/null
@@ -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 (file)
index 0000000..a8a8d1c
--- /dev/null
@@ -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 (file)
index 0000000..0c77e02
--- /dev/null
@@ -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