blob: 71dea7cf177d0a17e5d6d02d534dd46e73cb1a5b [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
Matt Jeanneret2e3051a2019-05-11 15:01:46 -040032 restart: unless-stopped
Matt Jeanneret13643e02019-01-30 16:49:03 -050033
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
Matt Jeanneret2e3051a2019-05-11 15:01:46 -040049 restart: unless-stopped
Matt Jeanneret13643e02019-01-30 16:49:03 -050050
51
52 etcd:
53 image: "quay.io/coreos/etcd:v3.2.9"
54 command: [
55 "etcd",
56 "--name=etcd0",
57 "--advertise-client-urls=http://${DOCKER_HOST_IP}:2379,http://${DOCKER_HOST_IP}:4001",
58 "--listen-client-urls=http://0.0.0.0:2379,http://0.0.0.0:4001",
59 "--initial-advertise-peer-urls=http://${DOCKER_HOST_IP}:2380",
60 "--listen-peer-urls=http://0.0.0.0:2380",
61 "--initial-cluster-token=etcd-cluster-1",
62 "--initial-cluster=etcd0=http://${DOCKER_HOST_IP}:2380",
63 "--initial-cluster-state=new"
64 ]
65 ports:
66 - "2379:2379"
67 - 2380
68 - 4001
69 networks:
70 - default
Matt Jeanneret2e3051a2019-05-11 15:01:46 -040071 restart: unless-stopped
Matt Jeanneret13643e02019-01-30 16:49:03 -050072
73
74 rw_core:
Matt Jeanneret2e3051a2019-05-11 15:01:46 -040075 image: "${DOCKER_REGISTRY}${DOCKER_REPOSITORY}voltha-rw-core:${DOCKER_TAG}"
Matt Jeanneret13643e02019-01-30 16:49:03 -050076 entrypoint:
77 - /app/rw_core
78 - -kv_store_type=etcd
79 - -kv_store_host=${DOCKER_HOST_IP}
80 - -kv_store_port=2379
81 - -grpc_port=50057
82 - -banner=true
83 - -kafka_adapter_host=${DOCKER_HOST_IP}
84 - -kafka_adapter_port=9092
85 - -kafka_cluster_host=${DOCKER_HOST_IP}
86 - -kafka_cluster_port=9092
87 - -rw_core_topic=rwcore
88 - -kv_store_data_prefix=service/voltha
89 - -in_competing_mode=false
90 - -log_level=0
91 volumes:
92 - "/var/run/docker.sock:/tmp/docker.sock"
93 ports:
94 - 50057:50057
95 networks:
96 - default
97 restart: unless-stopped
98
99
100 cli:
Matt Jeanneret2e3051a2019-05-11 15:01:46 -0400101 image: "${DOCKER_REGISTRY}${DOCKER_REPOSITORY}voltha-cli:${DOCKER_TAG}"
Matt Jeanneret13643e02019-01-30 16:49:03 -0500102 logging:
103 driver: "json-file"
104 options:
105 max-size: "10m"
106 max-file: "3"
107 environment:
108 DOCKER_HOST_IP: "${DOCKER_HOST_IP}"
109 entrypoint:
110 - /voltha/python/cli/setup.sh
111 - -g ${DOCKER_HOST_IP}:50057
112 networks:
113 - default
114 ports:
115 - "5022:22"
Matt Jeanneret2e3051a2019-05-11 15:01:46 -0400116 restart: unless-stopped
Matt Jeanneret13643e02019-01-30 16:49:03 -0500117
118
119 ofagent:
Matt Jeanneret2e3051a2019-05-11 15:01:46 -0400120 image: "${DOCKER_REGISTRY}${DOCKER_REPOSITORY}voltha-ofagent:${DOCKER_TAG}"
Matt Jeanneret13643e02019-01-30 16:49:03 -0500121 logging:
122 driver: "json-file"
123 options:
124 max-size: "10m"
125 max-file: "3"
126 command: [
127 "/ofagent/ofagent/main.py",
128 "--consul=${DOCKER_HOST_IP}:8500",
129 "--controller=${DOCKER_HOST_IP}:6653",
130 "--grpc-endpoint=${DOCKER_HOST_IP}:50057",
131 "--instance-id-is-container-name",
132 "-v"
133 ]
134 volumes:
135 - "/var/run/docker.sock:/tmp/docker.sock"
136 networks:
137 - default
138 restart: unless-stopped
139
140
Matt Jeanneret3815e322019-03-12 19:15:49 -0400141 onos:
Matt Jeanneret2e3051a2019-05-11 15:01:46 -0400142 image: "${DOCKER_REGISTRY}${DOCKER_REPOSITORY}voltha-onos:${DOCKER_TAG}"
Matt Jeanneret3815e322019-03-12 19:15:49 -0400143 ports:
144 - "8101:8101" # ssh
145 - "6653:6653" # OF
146 - "8181:8181" # UI
147 environment:
148 ONOS_APPS: 'drivers,openflow-base'
149 volumes:
150 - "/var/run/docker.sock:/tmp/docker.sock"
Matt Jeanneret42d4b782019-03-23 10:43:11 -0400151 - "./network-cfg.json:/root/onos/config/network-cfg.json"
Matt Jeanneret3815e322019-03-12 19:15:49 -0400152 networks:
153 - default
154 restart: unless-stopped
155
156
Matt Jeanneret13643e02019-01-30 16:49:03 -0500157 adapter_openolt:
Matt Jeanneret2e3051a2019-05-11 15:01:46 -0400158 image: "${DOCKER_REGISTRY}${DOCKER_REPOSITORY}voltha-openolt-adapter:${DOCKER_TAG}"
Matt Jeanneret13643e02019-01-30 16:49:03 -0500159 logging:
160 driver: "json-file"
161 options:
162 max-size: "10m"
163 max-file: "3"
164 command: [
Matt Jeanneretf4d4d352019-02-14 11:26:13 -0500165 "/voltha/adapters/openolt/main.py",
Matt Jeanneret13643e02019-01-30 16:49:03 -0500166 "-v",
167 "--name=openolt",
168 "--kafka_adapter=${DOCKER_HOST_IP}:9092",
169 "--kafka_cluster=${DOCKER_HOST_IP}:9092",
Matt Jeanneretf4d4d352019-02-14 11:26:13 -0500170 "--backend=etcd",
171 "--etcd=${DOCKER_HOST_IP}:2379",
172 "--core_topic=rwcore"
173 ]
174 networks:
175 - default
176 restart: unless-stopped
177
178
179 adapter_openonu:
Matt Jeanneret2e3051a2019-05-11 15:01:46 -0400180 image: "${DOCKER_REGISTRY}${DOCKER_REPOSITORY}voltha-openonu-adapter:${DOCKER_TAG}"
Matt Jeanneretf4d4d352019-02-14 11:26:13 -0500181 logging:
182 driver: "json-file"
183 options:
184 max-size: "10m"
185 max-file: "3"
186 command: [
187 "/voltha/adapters/brcm_openomci_onu/main.py",
188 "-v",
Matt Jeanneret0105a1f2019-02-21 09:19:57 -0500189 "--name=brcm_openomci_onu",
Matt Jeanneretf4d4d352019-02-14 11:26:13 -0500190 "--kafka_adapter=${DOCKER_HOST_IP}:9092",
191 "--kafka_cluster=${DOCKER_HOST_IP}:9092",
Matt Jeanneret4e241952019-02-28 11:16:04 -0500192 "--backend=etcd",
193 "--etcd=${DOCKER_HOST_IP}:2379",
Matt Jeanneret13643e02019-01-30 16:49:03 -0500194 "--core_topic=rwcore"
195 ]
196 networks:
197 - default
198 restart: unless-stopped