blob: 31c0229e30d075537717a01de78548bd4eaaaa03 [file] [log] [blame]
serkant.uluderya79c9a042019-03-14 15:24:48 -07001---
Joey Armstrong7a9af442024-01-03 19:26:36 -05002# Copyright 2018-2024 Open Networking Foundation (ONF) and the ONF Contributors
serkant.uluderya79c9a042019-03-14 15:24:48 -07003# Copyright 2018 the original author or authors.
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16
17version: '2'
18
19networks:
20 default:
21 driver: bridge
22
23services:
24
25 zookeeper:
26 image: "wurstmeister/zookeeper:latest"
27 environment:
28 SERVICE_2181_NAME: "zookeeper"
29 ports:
30 - 2181:2181
31 networks:
32 - default
33
34
35 kafka:
36 image: "wurstmeister/kafka:2.11-2.0.1"
37 environment:
38 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://${DOCKER_HOST_IP}:9092
39 KAFKA_LISTENERS: PLAINTEXT://:9092
40 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
41 KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'true'
42 SERVICE_9092_NAME: "kafka"
43 volumes:
44 - /var/run/docker.sock:/var/run/docker.sock
45 ports:
46 - 9092:9092
47 networks:
48 - default
49
50
51 etcd:
Matt Jeannerete36a7552019-12-13 16:13:48 -050052 image: "quay.io/coreos/etcd:v3.4.1"
serkant.uluderya79c9a042019-03-14 15:24:48 -070053 command: [
54 "etcd",
55 "--name=etcd0",
56 "--advertise-client-urls=http://${DOCKER_HOST_IP}:2379,http://${DOCKER_HOST_IP}:4001",
57 "--listen-client-urls=http://0.0.0.0:2379,http://0.0.0.0:4001",
58 "--initial-advertise-peer-urls=http://${DOCKER_HOST_IP}:2380",
59 "--listen-peer-urls=http://0.0.0.0:2380",
60 "--initial-cluster-token=etcd-cluster-1",
61 "--initial-cluster=etcd0=http://${DOCKER_HOST_IP}:2380",
62 "--initial-cluster-state=new"
63 ]
64 ports:
65 - "2379:2379"
66 - 2380
67 - 4001
68 networks:
69 - default
70
71
72 rw_core:
73 image: voltha-rw-core
74 entrypoint:
75 - /app/rw_core
76 - -kv_store_type=etcd
77 - -kv_store_host=${DOCKER_HOST_IP}
78 - -kv_store_port=2379
79 - -grpc_port=50057
80 - -banner=true
81 - -kafka_adapter_host=${DOCKER_HOST_IP}
82 - -kafka_adapter_port=9092
83 - -kafka_cluster_host=${DOCKER_HOST_IP}
84 - -kafka_cluster_port=9092
85 - -rw_core_topic=rwcore
86 - -kv_store_data_prefix=service/voltha
87 - -in_competing_mode=false
88 - -log_level=0
89 - -log_level=0
90 volumes:
91 - "/var/run/docker.sock:/tmp/docker.sock"
92 ports:
93 - 50057:50057
94 networks:
95 - default
96 restart: unless-stopped
97
98
serkant.uluderya79c9a042019-03-14 15:24:48 -070099 ofagent:
100 image: "${REGISTRY}${REPOSITORY}voltha-ofagent:latest"
101 logging:
102 driver: "json-file"
103 options:
104 max-size: "10m"
105 max-file: "3"
106 command: [
107 "/ofagent/ofagent/main.py",
108 "--consul=${DOCKER_HOST_IP}:8500",
109 "--controller=${DOCKER_HOST_IP}:6653",
110 "--grpc-endpoint=${DOCKER_HOST_IP}:50057",
111 "--instance-id-is-container-name",
112 "-v"
113 ]
114 volumes:
115 - "/var/run/docker.sock:/tmp/docker.sock"
116 networks:
117 - default
118 restart: unless-stopped
119
120 adapter_ponsim_olt:
121 image: "${REGISTRY}${REPOSITORY}voltha-adapter-ponsim-olt${TAG}"
122 logging:
123 driver: "json-file"
124 options:
125 max-size: "10m"
126 max-file: "3"
127 command: [
128 "/voltha/python/adapters/ponsim_olt/main.py",
129 "-v",
130 "--name=ponsim_olt",
131 "--kafka_adapter=${DOCKER_HOST_IP}:9092",
132 "--kafka_cluster=${DOCKER_HOST_IP}:9092",
133 "--core_topic=rwcore"
134 ]
135 networks:
136 - default
137
138 adapter_ponsim_onu:
139 image: "${REGISTRY}${REPOSITORY}voltha-adapter-ponsim-onu${TAG}"
140 logging:
141 driver: "json-file"
142 options:
143 max-size: "10m"
144 max-file: "3"
145 command: [
146 "/voltha/python/adapters/ponsim_onu/main.py",
147 "-v",
148 "--name=ponsim_onu",
149 "--kafka_adapter=${DOCKER_HOST_IP}:9092",
150 "--kafka_cluster=${DOCKER_HOST_IP}:9092",
151 "--core_topic=rwcore"
152 ]
153 networks:
154 - default
155
156 ponsim_olt:
157 image: "${REGISTRY}voltha/voltha-ponsim${TAG}"
158 logging:
159 driver: "json-file"
160 options:
161 max-size: "10m"
162 max-file: "3"
163 entrypoint:
164 - /app/ponsim
165 - -device_type
166 - "OLT"
167 - -onus
168 - "4"
169 - -internal_if
170 - "eth0"
171 - -external_if
172 - "eth0"
173 - -vcore_endpoint
174 - "vcore"
175 - -promiscuous
176 - -verbose
177 ports:
178 - "50060:50060"
179 networks:
180 - default
181
182 ponsim_onu:
183 image: "${REGISTRY}voltha/voltha-ponsim${TAG}"
184 logging:
185 driver: "json-file"
186 options:
187 max-size: "10m"
188 max-file: "3"
189 entrypoint:
190 - /app/ponsim
191 - -device_type
192 - "ONU"
193 - -parent_addr
194 - "ponsim_olt"
195 - -grpc_port
196 - "50061"
197 - -internal_if
198 - "eth0"
199 - -external_if
200 - "lo"
201 - -promiscuous
202 - -verbose
203 ports:
204 - "50061:50061"
205 networks:
206 - default