blob: 6ef447132df5377c966ea7167d3da4e8f9587b04 [file] [log] [blame]
---
# Copyright 2018 the original author or authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
version: '2'
networks:
default:
driver: bridge
services:
zookeeper:
image: "wurstmeister/zookeeper:latest"
environment:
SERVICE_2181_NAME: "zookeeper"
ports:
- 2181:2181
networks:
- default
restart: unless-stopped
kafka:
image: "wurstmeister/kafka:2.11-2.0.1"
environment:
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://${DOCKER_HOST_IP}:9092
KAFKA_LISTENERS: PLAINTEXT://:9092
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'true'
SERVICE_9092_NAME: "kafka"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
ports:
- 9092:9092
networks:
- default
restart: unless-stopped
etcd:
image: "quay.io/coreos/etcd:v3.4.1"
command: [
"etcd",
"--name=etcd0",
"--advertise-client-urls=http://${DOCKER_HOST_IP}:2379,http://${DOCKER_HOST_IP}:4001",
"--listen-client-urls=http://0.0.0.0:2379,http://0.0.0.0:4001",
"--initial-advertise-peer-urls=http://${DOCKER_HOST_IP}:2380",
"--listen-peer-urls=http://0.0.0.0:2380",
"--initial-cluster-token=etcd-cluster-1",
"--initial-cluster=etcd0=http://${DOCKER_HOST_IP}:2380",
"--initial-cluster-state=new"
]
ports:
- "2379:2379"
- 2380
- 4001
networks:
- default
restart: unless-stopped
rw_core:
image: "${DOCKER_REGISTRY}${DOCKER_REPOSITORY}voltha-rw-core:${DOCKER_TAG}"
entrypoint:
- /app/rw_core
- -kv_store_type=etcd
- -kv_store_host=${DOCKER_HOST_IP}
- -kv_store_port=2379
- -grpc_port=50057
- -banner=true
- -kafka_adapter_host=${DOCKER_HOST_IP}
- -kafka_adapter_port=9092
- -kafka_cluster_host=${DOCKER_HOST_IP}
- -kafka_cluster_port=9092
- -rw_core_topic=rwcore
- -kv_store_data_prefix=service/voltha
- -in_competing_mode=false
- -log_level=INFO
volumes:
- "/var/run/docker.sock:/tmp/docker.sock"
ports:
- 50057:50057
networks:
- default
restart: unless-stopped
ofagent:
image: "${DOCKER_REGISTRY}${DOCKER_REPOSITORY}voltha-ofagent:${DOCKER_TAG}"
command: [
"/ofagent/ofagent/main.py",
"--consul=${DOCKER_HOST_IP}:8500",
"--controller=${DOCKER_HOST_IP}:6653",
"--grpc-endpoint=${DOCKER_HOST_IP}:50057",
"--instance-id-is-container-name",
"-v"
]
volumes:
- "/var/run/docker.sock:/tmp/docker.sock"
networks:
- default
restart: unless-stopped
onos:
image: "${DOCKER_REGISTRY}${DOCKER_REPOSITORY}voltha-onos:${DOCKER_TAG}"
ports:
- "8101:8101" # ssh
- "6653:6653" # OF
- "8181:8181" # UI
environment:
ONOS_APPS: 'drivers,openflow-base'
volumes:
- "/var/run/docker.sock:/tmp/docker.sock"
- "./network-cfg-bbsim.json:/root/onos/config/network-cfg.json"
networks:
- default
restart: unless-stopped
adapter_openolt:
image: "${DOCKER_REGISTRY}${DOCKER_REPOSITORY}voltha-openolt-adapter:${DOCKER_TAG}"
command: [
"/app/openolt",
"--kafka_adapter_host=${DOCKER_HOST_IP}",
"--kafka_adapter_port=9092",
"--kafka_cluster_host=${DOCKER_HOST_IP}",
"--kafka_cluster_port=9092",
"--core_topic=rwcore",
"--kv_store_host=${DOCKER_HOST_IP}",
"--kv_store_port=2379",
"--log_level=INFO"
]
ports:
- "50062:50062"
networks:
- default
restart: unless-stopped
adapter_openonu:
image: "${DOCKER_REGISTRY}${DOCKER_REPOSITORY}voltha-openonu-adapter:${DOCKER_TAG}"
command: [
"/voltha/adapters/brcm_openomci_onu/main.py",
"-v",
"--name=brcm_openomci_onu",
"--kafka_adapter=${DOCKER_HOST_IP}:9092",
"--kafka_cluster=${DOCKER_HOST_IP}:9092",
"--backend=etcd",
"--etcd=${DOCKER_HOST_IP}:2379",
"--core_topic=rwcore"
]
networks:
- default
restart: unless-stopped
bbsim:
image: "${DOCKER_REGISTRY}${DOCKER_REPOSITORY}bbsim:${DOCKER_TAG}"
privileged: true
command: [
"./bbsim",
"-logLevel",
"debug",
"-auth",
"-dhcp",
"-pon",
"1",
"-onu",
"1"
]
ports:
- "50060:50060"
- "50074:50074"
networks:
- default
restart: unless-stopped
radius:
image: "tpdock/freeradius:2.2.9"
environment:
RADIUS_LISTEN_IP: "*"
USERS_FILE: "/etc/raddb/users"
RADIUS_CLIENTS: "SECRET@0.0.0.0/0"
volumes:
- "./radius-clients.conf:/etc/raddb/clients.conf"
- "./radius-users.conf:/etc/raddb/users"
ports:
- "1812:1812/udp"
- "1813:1813"
- "18120:18120"
networks:
- default
restart: unless-stopped