VOL-1452 Switched openolt adapter use pyvoltha for libraries
Requires and update to pytholtha to produce _pb2_grp.py proto files
Changed flow_decomposer dependency to use pyvoltha.common.openflow.utils
Change-Id: Ic9cccf06e8820fb4abefd72d5fa9c4df414b00d9
diff --git a/python/docker/Dockerfile.adapter_openolt b/python/docker/Dockerfile.adapter_openolt
deleted file mode 100644
index 4101145..0000000
--- a/python/docker/Dockerfile.adapter_openolt
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright 2016 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.
-ARG TAG=latest
-ARG REGISTRY=
-ARG REPOSITORY=
-
-FROM ${REGISTRY}${REPOSITORY}voltha-protos:${TAG} as protos
-FROM ${REGISTRY}${REPOSITORY}voltha-openolt-protos:${TAG} as openolt_protos
-FROM ${REGISTRY}${REPOSITORY}voltha-base:${TAG}
-
-MAINTAINER Voltha Community <info@opennetworking.org>
-
-# Bundle app source
-RUN mkdir /voltha && touch /voltha/__init__.py
-ENV PYTHONPATH=/voltha
-COPY common /voltha/voltha/common/
-COPY common /voltha/common/
-COPY adapters/common /voltha/common/
-COPY adapters/common /voltha/voltha/adapters/common/
-COPY adapters/kafka /voltha/voltha/adapters/kafka
-COPY adapters/*.py /voltha/voltha/adapters/
-COPY adapters/openolt /voltha/voltha/adapters/openolt
-COPY adapters/extensions /voltha/voltha/extensions
-COPY core /voltha/voltha/core/
-COPY common/utils/registry.py /voltha/voltha/
-RUN touch /voltha/voltha/__init__.py
-RUN touch /voltha/voltha/adapters/__init__.py
-
-#two copies of the libraries for now to support various import
-#This can be simiplified once the common libraries are unified in one repo
-COPY common /voltha/python/common/
-COPY adapters/common /voltha/python/adapters/common/
-COPY adapters/kafka /voltha/python/adapters/kafka
-COPY adapters/*.py /voltha/python/adapters/
-COPY adapters/openolt /voltha/python/adapters/openolt
-COPY adapters/extensions /voltha/python/extensions
-RUN touch /voltha/python/__init__.py
-RUN touch /voltha/python/adapters/__init__.py
-
-# Copy in the generated GRPC proto code
-COPY --from=protos /protos/voltha /voltha/voltha/protos
-COPY --from=protos /protos/google/api /voltha/voltha/protos/third_party/google/api
-COPY --from=openolt_protos /protos/voltha /voltha/voltha/protos
-COPY protos/third_party/__init__.py /voltha/voltha/protos/third_party
-COPY --from=openolt_protos /protos/voltha /voltha/voltha/adapters/openolt/protos/
-RUN touch /voltha/voltha/protos/__init__.py
-RUN touch /voltha/voltha/protos/third_party/google/__init__.py
-RUN touch /voltha/voltha/adapters/openolt/protos/__init__.py
-
-# Copy in the generated GRPC proto code
-COPY --from=protos /protos/voltha /voltha/python/protos
-COPY --from=protos /protos/google/api /voltha/python/protos/third_party/google/api
-COPY --from=openolt_protos /protos/voltha /voltha/python/protos
-COPY protos/third_party/__init__.py /voltha/python/protos/third_party
-RUN touch /voltha/python/protos/__init__.py
-RUN touch /voltha/python/protos/third_party/google/__init__.py
-
-# Exposing process and default entry point
-# CMD ["python", "/voltha/python/adapters/openolt/main.py"]
diff --git a/python/docker/Dockerfile.base b/python/docker/Dockerfile.base
new file mode 100644
index 0000000..898f7fa
--- /dev/null
+++ b/python/docker/Dockerfile.base
@@ -0,0 +1,30 @@
+# Copyright 2016 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.
+
+FROM ubuntu:xenial
+
+MAINTAINER Voltha Community <info@opennetworking.org>
+
+# Update to have latest images
+RUN apt-get update && \
+    apt-get install -y python openssl iproute2 libpcap-dev wget build-essential git binutils python-dev libffi-dev libssl-dev 
+
+# Install current version of pip rather than outdated pip from apt
+RUN wget -O /tmp/get-pip.py https://bootstrap.pypa.io/get-pip.py
+RUN python /tmp/get-pip.py
+
+# Install adapter requirements. 
+COPY requirements.txt /tmp/requirements.txt
+RUN pip install -r /tmp/requirements.txt
+
diff --git a/python/docker/Dockerfile.base_local b/python/docker/Dockerfile.base_local
new file mode 100644
index 0000000..9b6ce9e
--- /dev/null
+++ b/python/docker/Dockerfile.base_local
@@ -0,0 +1,34 @@
+# Copyright 2016 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.
+
+FROM ubuntu:xenial
+
+MAINTAINER Voltha Community <info@opennetworking.org>
+
+# Update to have latest images
+RUN apt-get update && \
+    apt-get install -y python openssl iproute2 libpcap-dev wget build-essential git binutils python-dev libffi-dev libssl-dev 
+
+# Install current version of pip rather than outdated pip from apt
+RUN wget -O /tmp/get-pip.py https://bootstrap.pypa.io/get-pip.py
+RUN python /tmp/get-pip.py
+
+# Install adapter requirements. 
+COPY requirements.txt /tmp/requirements.txt
+RUN pip install -r /tmp/requirements.txt
+
+# Install local pyvoltha
+COPY pyvoltha/dist /pyvoltha/dist
+RUN pip install /pyvoltha/dist/*.tar.gz
+
diff --git a/python/docker/Dockerfile.openolt_adapter b/python/docker/Dockerfile.openolt_adapter
new file mode 100644
index 0000000..ac71548
--- /dev/null
+++ b/python/docker/Dockerfile.openolt_adapter
@@ -0,0 +1,35 @@
+# Copyright 2016 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.
+ARG TAG=latest
+ARG REGISTRY=
+ARG REPOSITORY=
+
+FROM ${REGISTRY}${REPOSITORY}voltha-protos:${TAG} as protos
+# FROM ${REGISTRY}${REPOSITORY}voltha-openolt-protos:${TAG} as openolt_protos
+FROM ${REGISTRY}${REPOSITORY}voltha-openolt-adapter-base:${TAG}
+
+MAINTAINER Voltha Community <info@opennetworking.org>
+
+# Bundle app source
+RUN mkdir /voltha && touch /voltha/__init__.py
+ENV PYTHONPATH=/voltha
+COPY adapters/openolt /voltha/voltha/adapters/openolt
+RUN touch /voltha/voltha/__init__.py
+RUN touch /voltha/voltha/adapters/__init__.py
+
+# COPY --from=openolt_protos /protos/voltha/openolt* /voltha/voltha/adapters/openolt/protos/
+# RUN touch /voltha/voltha/adapters/openolt/protos/__init__.py
+
+# Exposing process and default entry point
+# CMD ["python", "/voltha/python/adapters/openolt/main.py"]
diff --git a/python/docker/Dockerfile.openolt_protos b/python/docker/Dockerfile.openolt_protos
index 71d8b56..5585942 100644
--- a/python/docker/Dockerfile.openolt_protos
+++ b/python/docker/Dockerfile.openolt_protos
@@ -21,16 +21,11 @@
 
 MAINTAINER Voltha Community <info@opennetworking.org>
 
-COPY protos/third_party/google/api/*.proto /protos/google/api/
-COPY docker/config/Makefile.protos /protos/google/api/Makefile.protos
 COPY --from=protos /protos/voltha/ /protos/voltha/
 COPY protos/*.proto /protos/voltha/
+COPY protos/third_party/google/ /protos/voltha/google/
 COPY docker/config/Makefile.protos /protos/voltha/Makefile.protos
 
-WORKDIR /protos
-RUN make -f google/api/Makefile.protos google_api
-RUN touch /protos/google/__init__.py /protos/google/api/__init__.py
-
 WORKDIR /protos/voltha
 RUN make -f Makefile.protos build