Simulated O-RUs according to conf spec
[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_USERNAME: ${ADMIN_USERNAME}
34     SDN_CONTROLLER_PASSWORD: ${ADMIN_PASSWORD}
35
36     VES_COMMON_HEADER_VERSION: ${VES_COMMON_HEADER_VERSION}
37     VES_ENDPOINT_PROTOCOL: ${VES_ENDPOINT_PROTOCOL}
38     VES_ENDPOINT_IP: ${VES_COLLECTOR_OAM_HOST}
39     VES_ENDPOINT_PORT: ${VES_ENDPOINT_PORT}
40     VES_ENDPOINT_AUTH_METHOD: ${VES_ENDPOINT_AUTH_METHOD}
41     VES_ENDPOINT_USERNAME: ${VES_ENDPOINT_USERNAME}
42     VES_ENDPOINT_PASSWORD: ${VES_ENDPOINT_PASSWORD}
43
44 x-du_env: &du_env
45     # NTS_NF_STANDALONE_START_FEATURES: "datastore-populate ves-heartbeat ves-file-ready ves-pnf-registration web-cut-through"
46     NTS_NF_STANDALONE_START_FEATURES: "datastore-populate ves-heartbeat ves-file-ready ves-pnf-registration ves-o1-pnf-registration web-cut-through"
47
48 x-ru-env: &ru_env
49     NTS_NF_STANDALONE_START_FEATURES: "datastore-populate netconf-call-home web-cut-through"
50
51 x-topo-env: &topo_env
52     NTS_NF_STANDALONE_START_FEATURES: "datastore-populate netconf-call-home web-cut-through"
53
54 x-nf: &common_nf
55     stop_grace_period: 5m
56     extra_hosts:
57       - "identity.smo.o-ran-sc.org:${HOST_IP}"
58       - "controller.oam.smo.o-ran-sc.org:${HOST_IP}"
59       - "ves-collector.oam.smo.o-ran-sc.org:${HOST_IP}"
60     cap_add:
61     - SYS_ADMIN
62     - SYS_PTRACE
63
64 services:
65   ntsim-ng-o-du-1122:
66     <<: *common_nf
67     image: "${NEXUS3_DOCKER_REPO}nts-ng-o-ran-du:${NTS_BUILD_VERSION}"
68     container_name: ntsim-ng-o-du-1122
69     hostname: O-DU-1122
70     volumes:
71         - ./ntsim-ng-o-du/config.json:/opt/dev/ntsim-ng/config/config.json
72         - ./ntsim-ng-o-du/o-ran-sc-du-hello-world-running.xml:/opt/dev/deploy/data/o-ran-sc-du-hello-world-running.xml
73         - ./ntsim-ng-o-du/o-ran-sc-du-hello-world-operational.xml:/opt/dev/deploy/data/o-ran-sc-du-hello-world-operational.xml
74     environment:
75         <<: [*common_env, *du_env]
76
77   ntsim-ng-o-du-1123:
78     <<: *common_nf
79     image: "${LOCAL_DOCKER_REPO}nts-ng-o-ran-du-rel-18:${NTS_BUILD_VERSION}"
80     container_name: ntsim-ng-o-du-1123
81     hostname: O-DU-1123
82     volumes:
83         - ./ntsim-ng-o-du-rel-18/config.json:/opt/dev/ntsim-ng/config/config.json
84         - ./ntsim-ng-o-du-rel-18/_3gpp-common-managed-element-running.xml:/opt/dev/deploy/data/_3gpp-common-managed-element-running.xml
85         - ./ntsim-ng-o-du-rel-18/_3gpp-common-managed-element-operational.xml:/opt/dev/deploy/data/_3gpp-common-managed-element-operational.xml
86     environment:
87         <<: [*common_env, *du_env]
88
89   ntsim-ng-o-ru-11221:
90     <<: *common_nf
91     image: "${NEXUS3_DOCKER_REPO}nts-ng-o-ran-ru-fh:${NTS_BUILD_VERSION}"
92     container_name: ntsim-ng-o-ru-11221
93     hostname: O-RU-11221
94     volumes:
95         - ./ntsim-ng-o-ru/o-ru-11221/config.json:/opt/dev/ntsim-ng/config/config.json
96         - ./ntsim-ng-o-ru/o-ru-11221/ietf-hardware-operational.json:/opt/dev/deploy/data/ietf-hardware-operational.json
97         - ./ntsim-ng-o-ru/o-ru-11221/ietf-hardware-running.json:/opt/dev/deploy/data/ietf-hardware-running.json
98         - ./ntsim-ng-o-ru/o-ru-11221/ietf-interfaces-operational.xml:/opt/dev/deploy/data/ietf-interfaces-operational.xml
99         - ./ntsim-ng-o-ru/o-ru-11221/ietf-interfaces-running.xml:/opt/dev/deploy/data/ietf-interfaces-running.xml
100     environment:
101         SDN_CONTROLLER_CALLHOME_IP: ${SDNC_OAM_IPv4}
102         SDN_CONTROLLER_CALLHOME_PORT: ${SDN_CONTROLLER_CALLHOME_SSH_PORT}
103         <<: [*common_env, *ru_env]
104
105   ntsim-ng-o-ru-11222:
106     <<: *common_nf
107     image: "${NEXUS3_DOCKER_REPO}nts-ng-o-ran-ru-fh:${NTS_BUILD_VERSION}"
108     container_name: ntsim-ng-o-ru-11222
109     hostname: O-RU-11222
110     volumes:
111         - ./ntsim-ng-o-ru/o-ru-11222/config.json:/opt/dev/ntsim-ng/config/config.json
112         - ./ntsim-ng-o-ru/o-ru-11222/ietf-hardware-operational.json:/opt/dev/deploy/data/ietf-hardware-operational.json
113         - ./ntsim-ng-o-ru/o-ru-11222/ietf-hardware-running.json:/opt/dev/deploy/data/ietf-hardware-running.json
114         - ./ntsim-ng-o-ru/o-ru-11222/ietf-interfaces-operational.xml:/opt/dev/deploy/data/ietf-interfaces-operational.xml
115         - ./ntsim-ng-o-ru/o-ru-11222/ietf-interfaces-running.xml:/opt/dev/deploy/data/ietf-interfaces-running.xml
116     environment:
117         SDN_CONTROLLER_CALLHOME_IP: ${SDNC_OAM_IPv6}
118         SDN_CONTROLLER_CALLHOME_PORT: ${SDN_CONTROLLER_CALLHOME_SSH_PORT}
119         <<: [*common_env, *ru_env]
120
121   ntsim-ng-o-ru-11223:
122     <<: *common_nf
123     image: "${NEXUS3_DOCKER_REPO}nts-ng-o-ran-ru-fh:${NTS_BUILD_VERSION}"
124     container_name: ntsim-ng-o-ru-11223
125     hostname: O-RU-11223
126     volumes:
127         - ./ntsim-ng-o-ru/o-ru-11223/config.json:/opt/dev/ntsim-ng/config/config.json
128         - ./ntsim-ng-o-ru/o-ru-11223/ietf-hardware-operational.json:/opt/dev/deploy/data/ietf-hardware-operational.json
129         - ./ntsim-ng-o-ru/o-ru-11223/ietf-hardware-running.json:/opt/dev/deploy/data/ietf-hardware-running.json
130         - ./ntsim-ng-o-ru/o-ru-11223/ietf-interfaces-operational.xml:/opt/dev/deploy/data/ietf-interfaces-operational.xml
131         - ./ntsim-ng-o-ru/o-ru-11223/ietf-interfaces-running.xml:/opt/dev/deploy/data/ietf-interfaces-running.xml
132     environment:
133         SDN_CONTROLLER_CALLHOME_IP: ${SDNC_OAM_IPv4}
134         SDN_CONTROLLER_CALLHOME_PORT: ${SDN_CONTROLLER_CALLHOME_TLS_PORT}
135         <<: [*common_env, *ru_env]
136
137   ntsim-ng-o-ru-11224:
138     <<: *common_nf
139     image: "${NEXUS3_DOCKER_REPO}nts-ng-o-ran-ru-fh:${NTS_BUILD_VERSION}"
140     container_name: ntsim-ng-o-ru-11224
141     hostname: O-RU-11224
142     volumes:
143         - ./ntsim-ng-o-ru/o-ru-11223/config.json:/opt/dev/ntsim-ng/config/config.json
144         - ./ntsim-ng-o-ru/o-ru-11223/ietf-hardware-operational.json:/opt/dev/deploy/data/ietf-hardware-operational.json
145         - ./ntsim-ng-o-ru/o-ru-11223/ietf-hardware-running.json:/opt/dev/deploy/data/ietf-hardware-running.json
146         - ./ntsim-ng-o-ru/o-ru-11223/ietf-interfaces-operational.xml:/opt/dev/deploy/data/ietf-interfaces-operational.xml
147         - ./ntsim-ng-o-ru/o-ru-11223/ietf-interfaces-running.xml:/opt/dev/deploy/data/ietf-interfaces-running.xml
148     environment:
149         SDN_CONTROLLER_CALLHOME_IP: ${SDNC_OAM_IPv6}
150         SDN_CONTROLLER_CALLHOME_PORT: ${SDN_CONTROLLER_CALLHOME_TLS_PORT}
151         <<: [*common_env, *ru_env]
152
153 networks:
154     default:
155         name: oam
156         external: true