Update docker-compose deployment
[oam.git] / solution / integration / network / docker-compose.yml
1 ################################################################################
2 # Copyright 2021 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_IPv6}
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_IPv6}
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     cap_add:
60     - SYS_ADMIN
61     - SYS_PTRACE
62
63 services:
64   ntsim-ng-o-du-1122:
65     <<: *common_nf
66     image: "${NEXUS3_DOCKER_REPO}nts-ng-o-ran-du:${NTS_BUILD_VERSION}"
67     container_name: ntsim-ng-o-du-1122
68     hostname: O-DU-1122
69     volumes:
70         - ./ntsim-ng-o-du/config.json:/opt/dev/ntsim-ng/config/config.json
71         - ./ntsim-ng-o-du/o-ran-sc-du-hello-world-running.xml:/opt/dev/deploy/data/o-ran-sc-du-hello-world-running.xml
72         - ./ntsim-ng-o-du/o-ran-sc-du-hello-world-operational.xml:/opt/dev/deploy/data/o-ran-sc-du-hello-world-operational.xml
73     environment:
74         <<: *common_env
75         <<: *du_env
76
77   ntsim-ng-o-ru-fh-11221:
78     <<: *common_nf
79     image: "${NEXUS3_DOCKER_REPO}nts-ng-o-ran-ru-fh:${NTS_BUILD_VERSION}"
80     container_name: ntsim-ng-o-ru-fh-11221
81     hostname: O-RU-11221
82     volumes:
83         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-1/config.json:/opt/dev/ntsim-ng/config/config.json
84         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-1/ietf-hardware-operational.json:/opt/dev/deploy/data/ietf-hardware-operational.json
85         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-1/ietf-hardware-running.json:/opt/dev/deploy/data/ietf-hardware-running.json
86         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-1/ietf-interfaces-operational.xml:/opt/dev/deploy/data/ietf-interfaces-operational.xml
87         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-1/ietf-interfaces-running.xml:/opt/dev/deploy/data/ietf-interfaces-running.xml
88     environment:
89         <<: *common_env
90         <<: *ru_env
91
92   ntsim-ng-o-ru-fh-11222:
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-11222
96     hostname: O-RU-11222
97     volumes:
98         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-2/config.json:/opt/dev/ntsim-ng/config/config.json
99         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-2/ietf-hardware-operational.json:/opt/dev/deploy/data/ietf-hardware-operational.json
100         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-2/ietf-hardware-running.json:/opt/dev/deploy/data/ietf-hardware-running.json
101         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-2/ietf-interfaces-operational.xml:/opt/dev/deploy/data/ietf-interfaces-operational.xml
102         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-2/ietf-interfaces-running.xml:/opt/dev/deploy/data/ietf-interfaces-running.xml
103     environment:
104         <<: *common_env
105         <<: *ru_env
106
107   ntsim-ng-o-ru-fh-11223:
108     <<: *common_nf
109     image: "${NEXUS3_DOCKER_REPO}nts-ng-o-ran-ru-fh:${NTS_BUILD_VERSION}"
110     container_name: ntsim-ng-o-ru-fh-11223
111     hostname: O-RU-11223
112     volumes:
113         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-3/config.json:/opt/dev/ntsim-ng/config/config.json
114         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-3/ietf-hardware-operational.json:/opt/dev/deploy/data/ietf-hardware-operational.json
115         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-3/ietf-hardware-running.json:/opt/dev/deploy/data/ietf-hardware-running.json
116         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-3/ietf-interfaces-operational.xml:/opt/dev/deploy/data/ietf-interfaces-operational.xml
117         - ./ntsim-ng-o-ru/ntsim-ng-o-ru-fh-3/ietf-interfaces-running.xml:/opt/dev/deploy/data/ietf-interfaces-running.xml
118     environment:
119         <<: *common_env
120         <<: *ru_env
121
122 networks:
123     default:
124         external:
125             name: oam