6a29fa3e4e9ff206d34f14c5601c28444927136e
[oam.git] / solution / network / docker-compose.yml
1 ################################################################################
2 # Copyright 2023 highstreet technologies GmbH
3 #
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 #     http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15 #
16 version: '3.8'
17
18 x-common_env: &common_env
19     IPv6_ENABLED: ${IPv6_ENABLED}
20     SSH_CONNECTIONS: ${SSH_CONNECTIONS}
21     TLS_CONNECTIONS: ${TLS_CONNECTIONS}
22     NTS_NF_MOUNT_POINT_ADDRESSING_METHOD: ${NTS_NF_MOUNT_POINT_ADDRESSING_METHOD}
23
24     NTS_HOST_IP: ${NTS_HOST_IP}
25     NTS_HOST_BASE_PORT: ${NTS_HOST_BASE_PORT}
26     NTS_HOST_NETCONF_SSH_BASE_PORT: ${NTS_HOST_NETCONF_SSH_BASE_PORT}
27     NTS_HOST_NETCONF_TLS_BASE_PORT: ${NTS_HOST_NETCONF_TLS_BASE_PORT}
28     NTS_HOST_TRANSFER_FTP_BASE_PORT: ${NTS_HOST_TRANSFER_FTP_BASE_PORT}
29     NTS_HOST_TRANSFER_SFTP_BASE_PORT: ${NTS_HOST_TRANSFER_SFTP_BASE_PORT}
30
31     SDN_CONTROLLER_PROTOCOL: ${SDN_CONTROLLER_PROTOCOL}
32     SDN_CONTROLLER_IP: ${SDNC_OAM_HOST}
33     # SDN_CONTROLLER_PORT: ${SDNC_REST_PORT}
34     SDN_CONTROLLER_CALLHOME_IP: ${SDNC_OAM_IPv6}
35     SDN_CONTROLLER_CALLHOME_PORT: ${SDN_CONTROLLER_CALLHOME_PORT}
36     SDN_CONTROLLER_USERNAME: ${ADMIN_USERNAME}
37     SDN_CONTROLLER_PASSWORD: ${ADMIN_PASSWORD}
38
39     VES_COMMON_HEADER_VERSION: ${VES_COMMON_HEADER_VERSION}
40     VES_ENDPOINT_PROTOCOL: ${VES_ENDPOINT_PROTOCOL}
41     VES_ENDPOINT_IP: ${VES_COLLECTOR_OAM_HOST}
42     VES_ENDPOINT_PORT: ${VES_ENDPOINT_PORT}
43     VES_ENDPOINT_AUTH_METHOD: ${VES_ENDPOINT_AUTH_METHOD}
44     VES_ENDPOINT_USERNAME: ${VES_ENDPOINT_USERNAME}
45     VES_ENDPOINT_PASSWORD: ${VES_ENDPOINT_PASSWORD}
46
47 x-du_env: &du_env
48     # NTS_NF_STANDALONE_START_FEATURES: "datastore-populate ves-heartbeat ves-file-ready ves-pnf-registration web-cut-through"
49     NTS_NF_STANDALONE_START_FEATURES: "datastore-populate ves-heartbeat ves-file-ready ves-pnf-registration ves-o1-pnf-registration web-cut-through"
50
51 x-ru-env: &ru_env
52     NTS_NF_STANDALONE_START_FEATURES: "datastore-populate netconf-call-home web-cut-through"
53
54 x-topo-env: &topo_env
55     NTS_NF_STANDALONE_START_FEATURES: "datastore-populate netconf-call-home web-cut-through"
56
57 x-nf: &common_nf
58     stop_grace_period: 5m
59     extra_hosts:
60       - "identity.smo.o-ran-sc.org:${HOST_IP}"
61       - "controller.oam.smo.o-ran-sc.org:${HOST_IP}"
62       - "ves-collector.oam.smo.o-ran-sc.org:${HOST_IP}"
63     cap_add:
64     - SYS_ADMIN
65     - SYS_PTRACE
66
67 services:
68   ntsim-ng-o-du-1122:
69     <<: *common_nf
70     image: "${NEXUS3_DOCKER_REPO}nts-ng-o-ran-du:${NTS_BUILD_VERSION}"
71     container_name: ntsim-ng-o-du-1122
72     hostname: O-DU-1122
73     volumes:
74         - ./ntsim-ng-o-du/config.json:/opt/dev/ntsim-ng/config/config.json
75         - ./ntsim-ng-o-du/o-ran-sc-du-hello-world-running.xml:/opt/dev/deploy/data/o-ran-sc-du-hello-world-running.xml
76         - ./ntsim-ng-o-du/o-ran-sc-du-hello-world-operational.xml:/opt/dev/deploy/data/o-ran-sc-du-hello-world-operational.xml
77     environment:
78         <<: *common_env
79         <<: *du_env
80
81   ntsim-ng-o-ru-fh-11221:
82     <<: *common_nf
83     image: "${NEXUS3_DOCKER_REPO}nts-ng-o-ran-ru-fh:${NTS_BUILD_VERSION}"
84     container_name: ntsim-ng-o-ru-fh-11221
85     hostname: O-RU-11221
86     volumes:
87         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-1/config.json:/opt/dev/ntsim-ng/config/config.json
88         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-1/ietf-hardware-operational.json:/opt/dev/deploy/data/ietf-hardware-operational.json
89         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-1/ietf-hardware-running.json:/opt/dev/deploy/data/ietf-hardware-running.json
90         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-1/ietf-interfaces-operational.xml:/opt/dev/deploy/data/ietf-interfaces-operational.xml
91         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-1/ietf-interfaces-running.xml:/opt/dev/deploy/data/ietf-interfaces-running.xml
92     environment:
93         <<: *common_env
94         <<: *ru_env
95
96   ntsim-ng-o-ru-fh-11222:
97     <<: *common_nf
98     image: "${NEXUS3_DOCKER_REPO}nts-ng-o-ran-ru-fh:${NTS_BUILD_VERSION}"
99     container_name: ntsim-ng-o-ru-fh-11222
100     hostname: O-RU-11222
101     volumes:
102         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-2/config.json:/opt/dev/ntsim-ng/config/config.json
103         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-2/ietf-hardware-operational.json:/opt/dev/deploy/data/ietf-hardware-operational.json
104         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-2/ietf-hardware-running.json:/opt/dev/deploy/data/ietf-hardware-running.json
105         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-2/ietf-interfaces-operational.xml:/opt/dev/deploy/data/ietf-interfaces-operational.xml
106         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-2/ietf-interfaces-running.xml:/opt/dev/deploy/data/ietf-interfaces-running.xml
107     environment:
108         <<: *common_env
109         <<: *ru_env
110
111   ntsim-ng-o-ru-fh-11223:
112     <<: *common_nf
113     image: "${NEXUS3_DOCKER_REPO}nts-ng-o-ran-ru-fh:${NTS_BUILD_VERSION}"
114     container_name: ntsim-ng-o-ru-fh-11223
115     hostname: O-RU-11223
116     volumes:
117         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-3/config.json:/opt/dev/ntsim-ng/config/config.json
118         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-3/ietf-hardware-operational.json:/opt/dev/deploy/data/ietf-hardware-operational.json
119         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-3/ietf-hardware-running.json:/opt/dev/deploy/data/ietf-hardware-running.json
120         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-3/ietf-interfaces-operational.xml:/opt/dev/deploy/data/ietf-interfaces-operational.xml
121         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-3/ietf-interfaces-running.xml:/opt/dev/deploy/data/ietf-interfaces-running.xml
122     environment:
123         <<: *common_env
124         <<: *ru_env
125
126 networks:
127     default:
128         external:
129             name: oam