ADTRAN: Update to containerized adapters.
Loading and running but still needs about a week or so of work to
catch up to where the OpenOLT/ONU containerized adapters are

Change-Id: I5522232e21dd76b3f95b4698af6c7e4cef96753d
diff --git a/docker/Dockerfile.adapter_adtran_olt b/docker/Dockerfile.adapter_adtran_olt
index 638b5b7..bc86c8a 100644
--- a/docker/Dockerfile.adapter_adtran_olt
+++ b/docker/Dockerfile.adapter_adtran_olt
@@ -21,6 +21,7 @@
 
 # Adtran specific
 COPY adapters/adtran_olt /voltha/adapters/adtran_olt
+COPY VERSION /voltha
 
 # Exposing process and default entry point
 CMD ["python", "/voltha/adapters/adtran_olt/main.py"]
diff --git a/docker/Dockerfile.adapter_adtran_olt_pyvoltha b/docker/Dockerfile.adapter_adtran_olt_pyvoltha
index 369ca8c..ab75613 100644
--- a/docker/Dockerfile.adapter_adtran_olt_pyvoltha
+++ b/docker/Dockerfile.adapter_adtran_olt_pyvoltha
@@ -19,8 +19,11 @@
 
 MAINTAINER Voltha Community <info@opennetworking.org>
 
+ENV PYTHONPATH=/voltha
+
 # Adtran specific
 COPY adapters/adtran_olt /voltha/adapters/adtran_olt
+COPY VERSION /voltha
 
 # Exposing process and default entry point
 CMD ["python", "/voltha/adapters/adtran_olt/main.py"]
diff --git a/docker/Dockerfile.adapter_adtran_onu b/docker/Dockerfile.adapter_adtran_onu
index 3484dfb..be729a1 100644
--- a/docker/Dockerfile.adapter_adtran_onu
+++ b/docker/Dockerfile.adapter_adtran_onu
@@ -21,6 +21,7 @@
 
 # Adtran specific
 COPY adapters/adtran_olt /voltha/adapters/adtran_onu
+COPY VERSION /voltha
 
 # Exposing process and default entry point
 CMD ["python", "/voltha/adapters/adtran_onu/main.py"]
diff --git a/docker/Dockerfile.adapter_adtranonu_pyvoltha b/docker/Dockerfile.adapter_adtranonu_pyvoltha
index 6fcea60..0050ac7 100644
--- a/docker/Dockerfile.adapter_adtranonu_pyvoltha
+++ b/docker/Dockerfile.adapter_adtranonu_pyvoltha
@@ -21,6 +21,7 @@
 
 # Adtran specific
 COPY adapters/adtran_olt /voltha/adapters/adtran_onu
+COPY VERSION /voltha
 
 # Exposing process and default entry point
 CMD ["python", "/voltha/adapters/adtran_onu/main.py"]
\ No newline at end of file
diff --git a/docker/Dockerfile.base b/docker/Dockerfile.base
index b65e77b..8e9d461 100644
--- a/docker/Dockerfile.base
+++ b/docker/Dockerfile.base
@@ -35,7 +35,7 @@
 
 COPY pki /voltha/pki/
 
-# Adtran specific
+# Adtran specific (common library and debug support)
 COPY adapters/adtran_common /voltha/adapters/adtran_common
 COPY pydevd /voltha/pydevd
 
diff --git a/docker/Dockerfile.base_local b/docker/Dockerfile.base_local
index 802e93f..792c2eb 100644
--- a/docker/Dockerfile.base_local
+++ b/docker/Dockerfile.base_local
@@ -35,7 +35,7 @@
 
 COPY pki /voltha/pki/
 
-# Adtran specific
+# Adtran specific (common library and debug support)
 COPY adapters/adtran_common /voltha/adapters/adtran_common
 COPY pydevd /voltha/pydevd
 
@@ -43,3 +43,7 @@
 COPY pyvoltha/dist /pyvoltha/dist
 RUN pip install /pyvoltha/dist/*.tar.gz
 
+# Install local voltha-protos
+COPY voltha-protos/dist /voltha-protos/dist
+RUN pip install /voltha-protos/dist/*.tar.gz
+
diff --git a/docker/config/Makefile.protos b/docker/config/Makefile.protos
new file mode 100644
index 0000000..12ff9e3
--- /dev/null
+++ b/docker/config/Makefile.protos
@@ -0,0 +1,59 @@
+#
+# Copyright 2017 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.
+#
+
+# Makefile to build all protobuf and gRPC related artifacts
+
+default: build
+
+PROTO_FILES := $(wildcard *.proto)
+PROTO_ALL_FILES := $(PROTO_FILES) $(PROTO_GOOGLE_API)
+PROTO_PB2_FILES := $(foreach f,$(PROTO_FILES),$(subst .proto,_pb2.py,$(f)))
+PROTO_PB2_GOOGLE_API := $(foreach f,$(PROTO_GOOGLE_API),$(subst .proto,_pb2.py,$(f)))
+PROTO_All_PB2_C_FILES := $(foreach f,$(PROTO_ALL_FILES),$(subst .proto,_pb2.pyc,$(f)))
+PROTO_ALL_PB2_GPRC_FILES := $(foreach f,$(PROTO_ALL_FILES),$(subst .proto,_pb2_grpc.py,$(f)))
+PROTO_ALL_DESC_FILES := $(foreach f,$(PROTO_ALL_FILES),$(subst .proto,.desc,$(f)))
+
+# Google API needs to be built from within the third party directory
+#
+google_api:
+	python -m grpc.tools.protoc \
+	    -I. \
+            --python_out=. \
+            --grpc_python_out=. \
+            --descriptor_set_out=google/api/annotations.desc \
+            --include_imports \
+            --include_source_info \
+        google/api/annotations.proto google/api/http.proto
+
+build: $(PROTO_PB2_FILES)
+
+%_pb2.py: %.proto
+	python -m grpc.tools.protoc \
+                -I. \
+                -I/protos \
+                --python_out=. \
+                --grpc_python_out=. \
+                --descriptor_set_out=$(basename $<).desc \
+                --include_imports \
+                --include_source_info \
+                $<
+
+clean:
+	rm -f $(PROTO_PB2_FILES) \
+		$(PROTO_ALL_DESC_FILES) \
+		$(PROTO_ALL_PB2_GPRC_FILES) \
+		$(PROTO_All_PB2_C_FILES) \
+		$(PROTO_PB2_GOOGLE_API)