Fixing podder in the following ways:

1. Adhering to new Dockerfile paths
2. Passing correct grpc port
3. No crashing on stopping containers
4. New compose file
5. Mostly everything works.

Change-Id: I54d2925947485ea6348389a60db24b2f952555db
diff --git a/Dockerfile.podder b/Dockerfile.podder
index f8abc96..30857cd 100644
--- a/Dockerfile.podder
+++ b/Dockerfile.podder
@@ -21,11 +21,10 @@
 MAINTAINER Ali Al-Shabibi <ali.al-shabibi@onlab.us>
 MAINTAINER Nathan Knuth   <nathan.knuth@tibitcom.com>
 
-# Bundle app source
-COPY podder /podder
-COPY common /common
+RUN mkdir /podder && touch /podder/__init__.py
+ENV PYTHONPATH=/podder
+COPY common /podder/common
+COPY podder /podder/podder
 
 # Exposing process and default entry point
-# EXPOSE 8000
-
-CMD ["python", "podder/main.py"]
+CMD ["python", "podder/podder/main.py"]
diff --git a/compose/docker-compose-system-test-with-podder.yml b/compose/docker-compose-system-test-with-podder.yml
new file mode 100644
index 0000000..140688e
--- /dev/null
+++ b/compose/docker-compose-system-test-with-podder.yml
@@ -0,0 +1,114 @@
+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",
+      # "-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"
+
+  #
+  # Podder service instance
+  #
+  podder:
+    image: cord/podder
+    volumes:
+    - "/var/run/docker.sock:/tmp/docker.sock"
+    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=50555",
+      "--kafka=@kafka",
+      "--instance-id-is-container-name",
+      "-v"
+    ]
+    ports:
+    - 8880
+    - 50555
+    depends_on:
+    - consul
+    - podder
+    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_50555_NAME: "voltha-grpc"
+    volumes:
+    - "/var/run/docker.sock:/tmp/docker.sock"
+
diff --git a/podder/handlers.py b/podder/handlers.py
index 40d53a8..2cafc7e 100644
--- a/podder/handlers.py
+++ b/podder/handlers.py
@@ -116,7 +116,6 @@
 
 def stop_slaves(service, instance_name, instance_id, data, conf):
     log.info('Stopping slaves for {}'.format(instance_name))
-    network = obtain_network_name(data)
     config = yaml.load(conf.render())
     if service in config['services']:
         service_shutdown(service, instance_name, config)
diff --git a/podder/slaves.yml.j2 b/podder/slaves.yml.j2
index 668d7d6..d72bae9 100644
--- a/podder/slaves.yml.j2
+++ b/podder/slaves.yml.j2
@@ -1,6 +1,6 @@
 {% macro address(data, network) -%}
     {% if data is defined and network is defined -%}
-    {{ data['NetworkSettings']['Networks'][network]['IPAddress'] }}:{{ data['NetworkSettings']['Ports']['50555/tcp'][0]['HostPort'] }}
+    {{ data['NetworkSettings']['Networks'][network]['IPAddress'] }}:50555 }}
     {%- else -%}
     None:None
     {%- endif %}