Support of WG4 OpenFronthaul Management-Plane VES
[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, *du_env]
79
80   ntsim-ng-o-du-1123:
81     <<: *common_nf
82     image: "${LOCAL_DOCKER_REPO}nts-ng-o-ran-du-rel-18:${NTS_BUILD_VERSION}"
83     container_name: ntsim-ng-o-du-1123
84     hostname: O-DU-1123
85     volumes:
86         - ./ntsim-ng-o-du-rel-18/config.json:/opt/dev/ntsim-ng/config/config.json
87         - ./ntsim-ng-o-du-rel-18/_3gpp-common-managed-element-running.xml:/opt/dev/deploy/data/_3gpp-common-managed-element-running.xml
88         - ./ntsim-ng-o-du-rel-18/_3gpp-common-managed-element-operational.xml:/opt/dev/deploy/data/_3gpp-common-managed-element-operational.xml
89     environment:
90         <<: [*common_env, *du_env]
91
92   ntsim-ng-o-ru-fh-11221:
93     <<: *common_nf
94     image: "${NEXUS3_DOCKER_REPO}nts-ng-o-ran-ru-fh:${NTS_BUILD_VERSION}"
95     container_name: ntsim-ng-o-ru-fh-11221
96     hostname: O-RU-11221
97     volumes:
98         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-1/config.json:/opt/dev/ntsim-ng/config/config.json
99         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-1/ietf-hardware-operational.json:/opt/dev/deploy/data/ietf-hardware-operational.json
100         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-1/ietf-hardware-running.json:/opt/dev/deploy/data/ietf-hardware-running.json
101         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-1/ietf-interfaces-operational.xml:/opt/dev/deploy/data/ietf-interfaces-operational.xml
102         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-1/ietf-interfaces-running.xml:/opt/dev/deploy/data/ietf-interfaces-running.xml
103     environment:
104         <<: [*common_env, *ru_env]
105
106   ntsim-ng-o-ru-fh-11222:
107     <<: *common_nf
108     image: "${NEXUS3_DOCKER_REPO}nts-ng-o-ran-ru-fh:${NTS_BUILD_VERSION}"
109     container_name: ntsim-ng-o-ru-fh-11222
110     hostname: O-RU-11222
111     volumes:
112         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-2/config.json:/opt/dev/ntsim-ng/config/config.json
113         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-2/ietf-hardware-operational.json:/opt/dev/deploy/data/ietf-hardware-operational.json
114         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-2/ietf-hardware-running.json:/opt/dev/deploy/data/ietf-hardware-running.json
115         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-2/ietf-interfaces-operational.xml:/opt/dev/deploy/data/ietf-interfaces-operational.xml
116         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-2/ietf-interfaces-running.xml:/opt/dev/deploy/data/ietf-interfaces-running.xml
117     environment:
118         <<: [*common_env, *ru_env]
119
120   ntsim-ng-o-ru-fh-11223:
121     <<: *common_nf
122     image: "${NEXUS3_DOCKER_REPO}nts-ng-o-ran-ru-fh:${NTS_BUILD_VERSION}"
123     container_name: ntsim-ng-o-ru-fh-11223
124     hostname: O-RU-11223
125     volumes:
126         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-3/config.json:/opt/dev/ntsim-ng/config/config.json
127         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-3/ietf-hardware-operational.json:/opt/dev/deploy/data/ietf-hardware-operational.json
128         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-3/ietf-hardware-running.json:/opt/dev/deploy/data/ietf-hardware-running.json
129         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-3/ietf-interfaces-operational.xml:/opt/dev/deploy/data/ietf-interfaces-operational.xml
130         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-3/ietf-interfaces-running.xml:/opt/dev/deploy/data/ietf-interfaces-running.xml
131     environment:
132         <<: [*common_env, *ru_env]
133
134 networks:
135     default:
136         name: oam
137         external: true