[ 6321 ] : uncomment the basic test scenario
VOL-427: This update fixes the persistence test
Change-Id: I687c1c9d796181db4fa5f38c0c9ca9c40362bdf2
diff --git a/compose/docker-compose-system-test-persistence.yml b/compose/docker-compose-system-test-persistence.yml
new file mode 100644
index 0000000..364afcd
--- /dev/null
+++ b/compose/docker-compose-system-test-persistence.yml
@@ -0,0 +1,284 @@
+version: '2'
+services:
+ #
+ # Single-node zookeeper service
+ #
+ zookeeper:
+ image: wurstmeister/zookeeper
+ ports:
+ - 2181
+ environment:
+ SERVICE_2181_NAME: "zookeeper"
+ #
+ # Single-node kafka service
+ #
+ kafka:
+ image: wurstmeister/kafka
+ ports:
+ - 9092
+ environment:
+ KAFKA_ADVERTISED_HOST_NAME: ${DOCKER_HOST_IP}
+ KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
+ KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'true'
+ KAFKA_HEAP_OPTS: "-Xmx256M -Xms128M"
+ SERVICE_9092_NAME: "kafka"
+ depends_on:
+ - consul
+ volumes:
+ - /var/run/docker.sock:/var/run/docker.sock
+ #
+ # Single-node consul agent
+ #
+ consul:
+ image: consul:latest
+ command: agent -server -bootstrap -client 0.0.0.0 -ui
+ ports:
+ - "8300:8300"
+ - "8400:8400"
+ - "8500:8500"
+ - "8600:8600/udp"
+ environment:
+ #SERVICE_53_IGNORE: "yes"
+ SERVICE_8300_IGNORE: "yes"
+ SERVICE_8400_IGNORE: "yes"
+ SERVICE_8500_NAME: "consul-rest"
+ #
+ # Registrator
+ #
+ registrator:
+ image: gliderlabs/registrator:latest
+ command: [
+ "-ip=${DOCKER_HOST_IP}",
+ "-retry-attempts", "100",
+ "-cleanup",
+ # "-internal",
+ "consul://consul:8500"
+ ]
+ links:
+ - consul
+ volumes:
+ - "/var/run/docker.sock:/tmp/docker.sock"
+
+ #
+ # Fluentd log server
+ #
+ fluentd:
+ image: fluent/fluentd
+ ports:
+ - "24224:24224"
+ volumes:
+ - "/tmp/fluentd:/fluentd/log"
+ environment:
+ SERVICE_24224_NAME: "fluentd-intake"
+
+ #
+ # Graphite-Grafana-statsd service instance
+ # (demo place-holder for external KPI system)
+ #
+ grafana:
+ image: voltha/grafana
+ ports:
+ - "8883:80"
+ - "2003:2003"
+ - "2004:2004"
+ - "8126:8126"
+ - "8125:8125/udp"
+ environment:
+ SERVICE_80_NAME: "grafana-web-ui"
+ SERVICE_2003_NAME: "carbon-plain-text-intake"
+ SERVICE_2004_NAME: "carbon-pickle-intake"
+ SERVICE_8126_NAME: "statsd-tcp-intake"
+ SERVICE_8125_NAME: "statsd-udp-intake"
+ GR_SERVER_ROOT_URL: "http://localhost:80/grafana/"
+
+ #
+ # Shovel (Kafka-graphite-gateway)
+ #
+ shovel:
+ image: cord/shovel
+ command: [
+ "/shovel/shovel/main.py",
+ "--kafka=@kafka",
+ "--consul=${DOCKER_HOST_IP}:8500",
+ "--topic=voltha.kpis",
+ "--host=${DOCKER_HOST_IP}"
+ ]
+ depends_on:
+ - consul
+ - kafka
+ - grafana
+ restart: unless-stopped
+
+ #
+ # Voltha server instance(s)
+ #
+ voltha:
+ image: cord/voltha
+ command: [
+ "/voltha/voltha/main.py",
+ "-v",
+ "--consul=${DOCKER_HOST_IP}:8500",
+ "--fluentd=fluentd:24224",
+ "--rest-port=8880",
+ "--grpc-port=50556",
+ "--kafka=@kafka",
+ "--instance-id-is-container-name",
+ "--interface=eth1",
+ "--backend=consul",
+ "-v"
+ ]
+ ports:
+ - 8880
+ - 50556
+ - 18880
+ depends_on:
+ - consul
+ links:
+ - consul
+ - fluentd
+ environment:
+ SERVICE_8880_NAME: "voltha-health"
+ SERVICE_8880_CHECK_HTTP: "/health"
+ SERVICE_8880_CHECK_INTERVAL: "5s"
+ SERVICE_8880_CHECK_TIMEOUT: "1s"
+ SERVICE_18880_NAME: "voltha-sim-rest"
+ SERVICE_HOST_IP: "${DOCKER_HOST_IP}"
+ SERVICE_50556_NAME: "vcore-grpc"
+ volumes:
+ - "/var/run/docker.sock:/tmp/docker.sock"
+ networks:
+ - default
+ - ponmgmt
+
+ envoy:
+ image: voltha/envoy
+ entrypoint:
+ - /usr/local/bin/envoyd
+ - -envoy-cfg-template
+ - "/envoy/voltha-grpc-proxy.template.json"
+ - -envoy-config
+ - "/envoy/voltha-grpc-proxy.json"
+ ports:
+ - "50555:50555"
+ - "8882:8882"
+ - "8443:8443"
+ - "8001:8001"
+ environment:
+ SERVICE_50555_NAME: "voltha-grpc"
+ volumes:
+ - "/var/run/docker.sock:/tmp/docker.sock"
+ networks:
+ - default
+ - ponmgmt
+ links:
+ - voltha:vcore
+ #
+ # Voltha cli container
+ #
+ vcli:
+ image: cord/vcli
+ command: [
+ "/cli/cli/setup.sh",
+ "-L",
+ "-G"
+ ]
+ environment:
+ DOCKER_HOST_IP: "${DOCKER_HOST_IP}"
+ ports:
+ - "5022:22"
+ depends_on:
+ - voltha
+
+#############################################
+# Item below this line will soon be removed.#
+#############################################
+
+ #
+ # Chameleon server instance(s)
+ #
+ chameleon:
+ image: cord/chameleon
+ command: [
+ "/chameleon/chameleon/main.py",
+ "-v",
+ "--consul=consul:8500",
+ "--fluentd=fluentd:24224",
+ "--rest-port=8881",
+ "--grpc-endpoint=@voltha-grpc",
+ "--instance-id-is-container-name",
+ "-v"
+ ]
+ ports:
+ - 8881
+ depends_on:
+ - consul
+ - voltha
+ links:
+ - consul
+ - fluentd
+ environment:
+ SERVICE_8881_NAME: "chameleon-rest"
+ ENABLE_TLS: "False"
+ volumes:
+ - "/var/run/docker.sock:/tmp/docker.sock"
+ #
+ # ofagent server instance
+ #
+ ofagent:
+ image: cord/ofagent
+ command: [
+ "/ofagent/ofagent/main.py",
+ "-v",
+ "--consul=${DOCKER_HOST_IP}:8500",
+ "--fluentd=fluentd:24224",
+ "--controller=${DOCKER_HOST_IP}:6653",
+ "--grpc-endpoint=@voltha-grpc",
+ "--instance-id-is-container-name",
+ "-v"
+ ]
+ depends_on:
+ - consul
+ - voltha
+ links:
+ - consul
+ - fluentd
+ volumes:
+ - "/var/run/docker.sock:/tmp/docker.sock"
+ restart: unless-stopped
+
+ #
+ # Netconf server instance(s)
+ #
+ netconf:
+ image: cord/netconf
+ privileged: true
+ command: [
+ "/netconf/netconf/main.py",
+ "-v",
+ "--consul=${DOCKER_HOST_IP}:8500",
+ "--fluentd=fluentd:24224",
+ "--grpc-endpoint=@voltha-grpc",
+ "--instance-id-is-container-name",
+ "-v"
+ ]
+ ports:
+ - "830:1830"
+ depends_on:
+ - consul
+ - voltha
+ links:
+ - consul
+ - fluentd
+ environment:
+ SERVICE_1830_NAME: "netconf-server"
+ volumes:
+ - "/var/run/docker.sock:/tmp/docker.sock"
+
+
+networks:
+ default:
+ driver: bridge
+ ponmgmt:
+ driver: bridge
+ driver_opts:
+ com.docker.network.bridge.name: "ponmgmt"
diff --git a/tests/itests/voltha/test_persistence.py b/tests/itests/voltha/test_persistence.py
index 38c1422..3ee7424 100644
--- a/tests/itests/voltha/test_persistence.py
+++ b/tests/itests/voltha/test_persistence.py
@@ -20,7 +20,7 @@
from voltha.protos.voltha_pb2 import AlarmFilter
LOCAL_CONSUL = "localhost:8500"
-DOCKER_COMPOSE_FILE = "compose/docker-compose-system-test.yml"
+DOCKER_COMPOSE_FILE = "compose/docker-compose-system-test-persistence.yml"
command_defs = dict(
docker_ps="docker ps",
@@ -69,7 +69,7 @@
msg)
TestConsulPersistence.t0[0] = t1
- @skip('Test case hangs during execution. Investigation required. Refer to VOL-425 and VOL-427')
+ # @skip('Test case hangs during execution. Investigation required. Refer to VOL-425 and VOL-427')
def test_all_scenarios(self):
self.basic_scenario()
self.data_integrity()
@@ -151,7 +151,8 @@
# 2. Configure some data on the volthainstance
self.assert_no_device_present()
- olt = self.add_olt_device()
+ host = '172.17.0.1'
+ olt = self.add_olt_device(host)
olt_id = olt['id']
self.pt(olt_id)
self.verify_device_preprovisioned_state(olt_id)
@@ -315,7 +316,7 @@
self.pt("Waiting for voltha and chameleon containers to be ready ...")
self.wait_till('voltha services HEALTHY',
lambda: verify_all_services_healthy(LOCAL_CONSUL,
- service_name='voltha-grpc') == True,
+ service_name='vcore-grpc') == True,
timeout=10)
self.wait_till('chameleon services HEALTHY',
lambda: verify_all_services_healthy(LOCAL_CONSUL,
@@ -336,7 +337,7 @@
self.pt("Waiting for voltha to be ready ...")
self.wait_till('voltha service HEALTHY',
lambda: verify_all_services_healthy(LOCAL_CONSUL,
- service_name='voltha-grpc') == True,
+ service_name='vcore-grpc') == True,
timeout=30)
self.pt("Voltha is ready ...")
@@ -374,7 +375,8 @@
self.n_olts = 100
self.olt_devices = {}
for i in xrange(self.n_olts):
- d = self.add_olt_device()
+ host = '172.17.1.{}'.format(i)
+ d = self.add_olt_device(host)
self.olt_devices[d['id']] = d
def get_voltha_instance_data(self):
@@ -383,10 +385,10 @@
data['logical_devices'] = self.get('/api/v1/logical_devices')
return data
- def add_olt_device(self):
+ def add_olt_device(self, host):
device = Device(
type='ponsim_olt',
- host_and_port='172.17.0.1:50060'
+ host_and_port='{}:50060'.format(host)
)
device = self.post('/api/v1/devices', MessageToDict(device),
expected_http_code=200)