blob: 1d6bc51f0190f8b8420e37157129da09190a743c [file] [log] [blame]
Matt Jeanneret13643e02019-01-30 16:49:03 -05001---
2# Copyright 2018 the original author or authors.
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
16version: '2'
17
18networks:
19 default:
20 driver: bridge
21
22services:
23
24 zookeeper:
25 image: "wurstmeister/zookeeper:latest"
26 environment:
27 SERVICE_2181_NAME: "zookeeper"
28 ports:
29 - 2181:2181
30 networks:
31 - default
32
33
34 kafka:
35 image: "wurstmeister/kafka:2.11-2.0.1"
36 environment:
37 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://${DOCKER_HOST_IP}:9092
38 KAFKA_LISTENERS: PLAINTEXT://:9092
39 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
40 KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'true'
41 SERVICE_9092_NAME: "kafka"
42 volumes:
43 - /var/run/docker.sock:/var/run/docker.sock
44 ports:
45 - 9092:9092
46 networks:
47 - default
48
49
50 etcd:
51 image: "quay.io/coreos/etcd:v3.2.9"
52 command: [
53 "etcd",
54 "--name=etcd0",
55 "--advertise-client-urls=http://${DOCKER_HOST_IP}:2379,http://${DOCKER_HOST_IP}:4001",
56 "--listen-client-urls=http://0.0.0.0:2379,http://0.0.0.0:4001",
57 "--initial-advertise-peer-urls=http://${DOCKER_HOST_IP}:2380",
58 "--listen-peer-urls=http://0.0.0.0:2380",
59 "--initial-cluster-token=etcd-cluster-1",
60 "--initial-cluster=etcd0=http://${DOCKER_HOST_IP}:2380",
61 "--initial-cluster-state=new"
62 ]
63 ports:
64 - "2379:2379"
65 - 2380
66 - 4001
67 networks:
68 - default
69
70
71 rw_core:
72 image: voltha-rw-core
73 entrypoint:
74 - /app/rw_core
75 - -kv_store_type=etcd
76 - -kv_store_host=${DOCKER_HOST_IP}
77 - -kv_store_port=2379
78 - -grpc_port=50057
79 - -banner=true
80 - -kafka_adapter_host=${DOCKER_HOST_IP}
81 - -kafka_adapter_port=9092
82 - -kafka_cluster_host=${DOCKER_HOST_IP}
83 - -kafka_cluster_port=9092
84 - -rw_core_topic=rwcore
85 - -kv_store_data_prefix=service/voltha
86 - -in_competing_mode=false
87 - -log_level=0
88 volumes:
89 - "/var/run/docker.sock:/tmp/docker.sock"
90 ports:
91 - 50057:50057
92 networks:
93 - default
94 restart: unless-stopped
95
96
97 cli:
98 image: "${REGISTRY}${REPOSITORY}voltha-cli:latest"
99 logging:
100 driver: "json-file"
101 options:
102 max-size: "10m"
103 max-file: "3"
104 environment:
105 DOCKER_HOST_IP: "${DOCKER_HOST_IP}"
106 entrypoint:
107 - /voltha/python/cli/setup.sh
108 - -g ${DOCKER_HOST_IP}:50057
109 networks:
110 - default
111 ports:
112 - "5022:22"
113
114
115 ofagent:
116 image: "${REGISTRY}${REPOSITORY}voltha-ofagent:latest"
117 logging:
118 driver: "json-file"
119 options:
120 max-size: "10m"
121 max-file: "3"
122 command: [
123 "/ofagent/ofagent/main.py",
124 "--consul=${DOCKER_HOST_IP}:8500",
125 "--controller=${DOCKER_HOST_IP}:6653",
126 "--grpc-endpoint=${DOCKER_HOST_IP}:50057",
127 "--instance-id-is-container-name",
128 "-v"
129 ]
130 volumes:
131 - "/var/run/docker.sock:/tmp/docker.sock"
132 networks:
133 - default
134 restart: unless-stopped
135
136
Matt Jeanneret3815e322019-03-12 19:15:49 -0400137 onos:
138 image: "voltha/voltha-onos:latest"
139 ports:
140 - "8101:8101" # ssh
141 - "6653:6653" # OF
142 - "8181:8181" # UI
143 environment:
144 ONOS_APPS: 'drivers,openflow-base'
145 volumes:
146 - "/var/run/docker.sock:/tmp/docker.sock"
Matt Jeanneret42d4b782019-03-23 10:43:11 -0400147 - "./network-cfg.json:/root/onos/config/network-cfg.json"
Matt Jeanneret3815e322019-03-12 19:15:49 -0400148 networks:
149 - default
150 restart: unless-stopped
151
152
Matt Jeanneret13643e02019-01-30 16:49:03 -0500153 adapter_openolt:
Matt Jeanneretf4d4d352019-02-14 11:26:13 -0500154 image: "${REGISTRY}${REPOSITORY}voltha-openolt-adapter${TAG}"
Matt Jeanneret13643e02019-01-30 16:49:03 -0500155 logging:
156 driver: "json-file"
157 options:
158 max-size: "10m"
159 max-file: "3"
160 command: [
Matt Jeanneretf4d4d352019-02-14 11:26:13 -0500161 "/voltha/adapters/openolt/main.py",
Matt Jeanneret13643e02019-01-30 16:49:03 -0500162 "-v",
163 "--name=openolt",
164 "--kafka_adapter=${DOCKER_HOST_IP}:9092",
165 "--kafka_cluster=${DOCKER_HOST_IP}:9092",
Matt Jeanneretf4d4d352019-02-14 11:26:13 -0500166 "--backend=etcd",
167 "--etcd=${DOCKER_HOST_IP}:2379",
168 "--core_topic=rwcore"
169 ]
170 networks:
171 - default
172 restart: unless-stopped
173
174
175 adapter_openonu:
176 image: "${REGISTRY}${REPOSITORY}voltha-openonu-adapter${TAG}"
177 logging:
178 driver: "json-file"
179 options:
180 max-size: "10m"
181 max-file: "3"
182 command: [
183 "/voltha/adapters/brcm_openomci_onu/main.py",
184 "-v",
Matt Jeanneret0105a1f2019-02-21 09:19:57 -0500185 "--name=brcm_openomci_onu",
Matt Jeanneretf4d4d352019-02-14 11:26:13 -0500186 "--kafka_adapter=${DOCKER_HOST_IP}:9092",
187 "--kafka_cluster=${DOCKER_HOST_IP}:9092",
Matt Jeanneret4e241952019-02-28 11:16:04 -0500188 "--backend=etcd",
189 "--etcd=${DOCKER_HOST_IP}:2379",
Matt Jeanneret13643e02019-01-30 16:49:03 -0500190 "--core_topic=rwcore"
191 ]
192 networks:
193 - default
194 restart: unless-stopped