25ff1b0ac9445f5d387865ee33f62153cc27d26e
[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-ru-fh-11221:
81     <<: *common_nf
82     image: "${NEXUS3_DOCKER_REPO}nts-ng-o-ran-ru-fh:${NTS_BUILD_VERSION}"
83     container_name: ntsim-ng-o-ru-fh-11221
84     hostname: O-RU-11221
85     volumes:
86         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-1/config.json:/opt/dev/ntsim-ng/config/config.json
87         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-1/ietf-hardware-operational.json:/opt/dev/deploy/data/ietf-hardware-operational.json
88         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-1/ietf-hardware-running.json:/opt/dev/deploy/data/ietf-hardware-running.json
89         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-1/ietf-interfaces-operational.xml:/opt/dev/deploy/data/ietf-interfaces-operational.xml
90         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-1/ietf-interfaces-running.xml:/opt/dev/deploy/data/ietf-interfaces-running.xml
91     environment:
92         <<: [*common_env, *ru_env]
93
94   ntsim-ng-o-ru-fh-11222:
95     <<: *common_nf
96     image: "${NEXUS3_DOCKER_REPO}nts-ng-o-ran-ru-fh:${NTS_BUILD_VERSION}"
97     container_name: ntsim-ng-o-ru-fh-11222
98     hostname: O-RU-11222
99     volumes:
100         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-2/config.json:/opt/dev/ntsim-ng/config/config.json
101         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-2/ietf-hardware-operational.json:/opt/dev/deploy/data/ietf-hardware-operational.json
102         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-2/ietf-hardware-running.json:/opt/dev/deploy/data/ietf-hardware-running.json
103         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-2/ietf-interfaces-operational.xml:/opt/dev/deploy/data/ietf-interfaces-operational.xml
104         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-2/ietf-interfaces-running.xml:/opt/dev/deploy/data/ietf-interfaces-running.xml
105     environment:
106         <<: [*common_env, *ru_env]
107
108   ntsim-ng-o-ru-fh-11223:
109     <<: *common_nf
110     image: "${NEXUS3_DOCKER_REPO}nts-ng-o-ran-ru-fh:${NTS_BUILD_VERSION}"
111     container_name: ntsim-ng-o-ru-fh-11223
112     hostname: O-RU-11223
113     volumes:
114         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-3/config.json:/opt/dev/ntsim-ng/config/config.json
115         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-3/ietf-hardware-operational.json:/opt/dev/deploy/data/ietf-hardware-operational.json
116         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-3/ietf-hardware-running.json:/opt/dev/deploy/data/ietf-hardware-running.json
117         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-3/ietf-interfaces-operational.xml:/opt/dev/deploy/data/ietf-interfaces-operational.xml
118         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-3/ietf-interfaces-running.xml:/opt/dev/deploy/data/ietf-interfaces-running.xml
119     environment:
120         <<: [*common_env, *ru_env]
121
122 networks:
123     default:
124         name: oam
125         external: true
126