[4647]
VOL-282: Integrate demo components (e.g. dashd, shovel) with the clustered consul service

The grafana Dockerfile was modified to facilitate interworking with nginx. The only
modification made beyond the base kamon/grafana_graphite image was to the root_url
property in file /opt/grafana/conf/custom.ini. Reverting to the base image removes
the nginx requirement and allows access to the grafana UI via port 8882.
The v3 compose file for nginx is removed from the repo.

Change-Id: Ic3735487713287af1555f902bffec331950dfc9d
diff --git a/Makefile b/Makefile
index f3ff7e8..91d7711 100644
--- a/Makefile
+++ b/Makefile
@@ -213,6 +213,7 @@
 	docker pull portainer/portainer:latest
 	docker pull lyft/envoy:latest
 	docker pull registry:2
+        docker pull kamon/grafana_graphite:latest
 
 purge-venv:
 	rm -fr ${VENVDIR}
diff --git a/compose/docker-compose-grafana-swarm.yml b/compose/docker-compose-grafana-swarm.yml
new file mode 100644
index 0000000..e6cc564
--- /dev/null
+++ b/compose/docker-compose-grafana-swarm.yml
@@ -0,0 +1,33 @@
+#
+# This stackfile deploys grafana to a docker swarm.
+#
+# Grafana  depends on:
+# - voltha_net (overlay network)
+#
+# To deploy the stack, issue the command:
+#
+#     docker stack deploy -c docker-compose-grafana-swarm.yml grafana
+#
+
+version: "3"
+services:
+  grafana:
+    image: kamon/grafana_graphite
+    deploy:
+      replicas: 1
+    environment:
+      GR_SERVER_ROOT_URL: "http://localhost:80/grafana/"
+    networks:
+      - voltha-net
+    ports:
+    - "8882:80"
+    - "2003:2003"
+    - "2004:2004"
+    - "8126:8126"
+    - "8125:8125/udp"
+
+networks:
+  voltha-net:
+    external:
+      name: voltha_net
+
diff --git a/compose/docker-compose-stats-swarm.yml b/compose/docker-compose-stats-swarm.yml
index 19a7d00..86645a8 100644
--- a/compose/docker-compose-stats-swarm.yml
+++ b/compose/docker-compose-stats-swarm.yml
@@ -1,7 +1,7 @@
 #
-# This stackfile deploys dashd to a docker swarm.
+# This stackfile deploys dashd and shovel services to a docker swarm.
 #
-# Dashd depends on:
+# Each of these services depends on:
 # - consul     (service)
 # - kafka      (service)
 # - grafana    (service)
@@ -27,7 +27,20 @@
       - --docker_host=${DOCKER_HOST_IP}
     networks:
       - voltha-net
-      
+
+  shovel:
+    image: cord/shovel
+    deploy:
+      replicas: 1
+    entrypoint:
+      - /shovel/shovel/main.py
+      - --kafka=kafka
+      - --consul=consul:8500
+      - --topic=voltha.kpis
+      - --host=grafana
+    networks:
+      - voltha-net
+
 networks:
   voltha-net:
     external: