diff --git a/.gitignore b/.gitignore
index 4c5dacf..0b94b65 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,54 +13,26 @@
 .vagrant
 *.box
 
-# venv
-.venv
-
 # Ansible
 ansible/*.retry
 
 # Any vi swap files
 *.swp
 
-# Virtualenv
-venv
-venv-darwin
-venv-linux
-adapters/venv
-adapters/venv-linux
-adapters/venv-darwin
-
-# Protobuf output files
-python/**/*_pb2.py
-python/**/*_pb2_grpc.py
-python/**/*.desc
-protos/**/*.pb.go
-protos/**/*.desc
-protos/voltha.pb
-
 # Editors
 *.bak
 *.project
 *.pydevproject
 
-# Docker
-.docker-base-built
-
 # Mac stuff
 .DS_Store
 **/.DS_Store
 
-# Generated docs
-**/*.pdf
-
 # Vagrant logfile
 *.log
 
-# Files copied over during make
-python/protos/*.proto
-
-# voltha cli history
-python/cli/.voltha_cli_history
+# Virtualenv
+venv-*
 
 # Development versions of locally built libraries
 python/local_imports
diff --git a/python/Makefile b/python/Makefile
index f5a3e4c..79514eb 100644
--- a/python/Makefile
+++ b/python/Makefile
@@ -14,103 +14,98 @@
 # limitations under the License.
 #
 
-ifeq ($(TAG),)
-TAG := latest
+# set default shell
+SHELL = bash -e -o pipefail
+
+# Variables
+VERSION                  ?= $(shell cat ../VERSION)
+
+## Docker related
+DOCKER_REGISTRY          ?=
+DOCKER_REPOSITORY        ?=
+DOCKER_BUILD_ARGS        ?=
+DOCKER_TAG               ?= ${VERSION}
+ADAPTER_IMAGENAME        := ${DOCKER_REGISTRY}${DOCKER_REPOSITORY}voltha-openonu-adapter:${DOCKER_TAG}
+
+## Docker labels. Only set ref and commit date if committed
+DOCKER_LABEL_VCS_URL     ?= $(shell git remote get-url $(shell git remote))
+DOCKER_LABEL_BUILD_DATE  ?= $(shell date -u "+%Y-%m-%dT%H:%M:%SZ")
+DOCKER_LABEL_COMMIT_DATE = $(shell git show -s --format=%cd --date=iso-strict HEAD)
+
+ifeq ($(shell git ls-files --others --modified --exclude-standard 2>/dev/null | wc -l | sed -e 's/ //g'),0)
+  DOCKER_LABEL_VCS_REF = $(shell git rev-parse HEAD)
+else
+  DOCKER_LABEL_VCS_REF = $(shell git rev-parse HEAD)+dirty
 endif
 
-ifeq ($(TARGET_TAG),)
-TARGET_TAG := latest
-endif
-
-ifneq ($(http_proxy)$(https_proxy),)
-# Include proxies from the environment
-DOCKER_PROXY_ARGS = \
-       --build-arg http_proxy=$(http_proxy) \
-       --build-arg https_proxy=$(https_proxy) \
-       --build-arg ftp_proxy=$(ftp_proxy) \
-       --build-arg no_proxy=$(no_proxy) \
-       --build-arg HTTP_PROXY=$(HTTP_PROXY) \
-       --build-arg HTTPS_PROXY=$(HTTPS_PROXY) \
-       --build-arg FTP_PROXY=$(FTP_PROXY) \
-       --build-arg NO_PROXY=$(NO_PROXY)
-endif
-
-DOCKER_BUILD_ARGS = \
-	--build-arg TAG=$(TAG) \
-	--build-arg REGISTRY=$(REGISTRY) \
-	--build-arg REPOSITORY=$(REPOSITORY) \
-	$(DOCKER_PROXY_ARGS) $(DOCKER_CACHE_ARG) \
-	 --rm --force-rm \
-	$(DOCKER_BUILD_EXTRA_ARGS)
-
-DOCKER_BUILD_EXTRA_ARGS = \
-	--build-arg LOCAL_PYVOLTHA=$(LOCAL_PYVOLTHA) \
-	--build-arg LOCAL_PROTOS=$(LOCAL_PROTOS)
-
-DOCKER_IMAGE_LIST = \
-	voltha-openonu-adapter-base \
-	voltha-openonu-adapter
-
-VENVDIR := venv-$(shell uname -s | tr '[:upper:]' '[:lower:]')
-
-.PHONY: $(DIRS) $(DIRS_CLEAN) base openonu_adapter
+.PHONY: venv docker-build local-protos local-pyvoltha
 
 # This should to be the first and default target in this Makefile
 help:
 	@echo "Usage: make [<target>]"
 	@echo "where available targets are:"
 	@echo
-	@echo "build             : Build the adapter."
+	@echo "build             : Build the openonu openomci adapter docker image"
+	@echo "help              : Print this help"
+	@echo "docker-push       : Push the docker images to an external repository"
+	@echo "venv              : Build local Python virtualenv"
 	@echo "clean             : Remove files created by the build and tests"
 	@echo "distclean         : Remove venv directory"
-	@echo "help              : Print this help"
-	@echo "rebuild-venv      : Rebuild local Python virtualenv from scratch"
-	@echo "venv              : Build local Python virtualenv if did not exist yet"
-	@echo "containers        : Build all the docker containers"
-	@echo "base              : Build a base docker image with a modern version of pip and requirements.txt installed"
-	@echo "openonu_adapter   : Build the openonu openomci adapter docker container"
-	@echo "tag               : Tag a set of images"
-	@echo "push              : Push the docker images to an external repository"
-	@echo "pull              : Pull the docker images from a repository"
 	@echo
 
-build: containers
 
-containers: base openonu_adapter
+## Docker targets
 
-base:
+build: docker-build
+
+local-protos: 
+	mkdir -p local_imports
+ifdef LOCAL_PROTOS
+	mkdir -p local_imports/voltha-protos/dist
+	cp ../../voltha-protos/dist/*.tar.gz local_imports/voltha-protos/dist/
+endif
+
+local-pyvoltha:
 	mkdir -p local_imports
 ifdef LOCAL_PYVOLTHA
 	mkdir -p local_imports/pyvoltha/dist
 	cp ../../pyvoltha/dist/*.tar.gz local_imports/pyvoltha/dist/
 endif
+
+docker-build: local-protos local-pyvoltha
+	docker build $(DOCKER_BUILD_ARGS) \
+    -t ${ADAPTER_IMAGENAME} \
+    --build-arg LOCAL_PYVOLTHA=$(LOCAL_PYVOLTHA) \
+    --build-arg LOCAL_PROTOS=$(LOCAL_PROTOS) \
+    --build-arg org_label_schema_version="${VERSION}" \
+    --build-arg org_label_schema_vcs_url="${DOCKER_LABEL_VCS_URL}" \
+    --build-arg org_label_schema_vcs_ref="${DOCKER_LABEL_VCS_REF}" \
+    --build-arg org_label_schema_build_date="${DOCKER_LABEL_BUILD_DATE}" \
+    --build-arg org_opencord_vcs_commit_date="${DOCKER_LABEL_COMMIT_DATE}" \
+    -f docker/Dockerfile.openonu_adapter .
+
+docker-push:
+	docker push ${ADAPTER_IMAGENAME}
+
+
+## Python venv dev environment
+
+VENVDIR := venv-openonu
+
+venv: distclean local-protos local-pyvoltha
+	virtualenv ${VENVDIR};\
+        source ./${VENVDIR}/bin/activate ; set -u ;\
+	rm ${VENVDIR}/local/bin ${VENVDIR}/local/lib ${VENVDIR}/local/include ;\
+        pip install -r requirements.txt
+
+ifdef LOCAL_PYVOLTHA
+	source ./${VENVDIR}/bin/activate ; set -u ;\
+	pip install local_imports/pyvoltha/dist/*.tar.gz
+endif
 ifdef LOCAL_PROTOS
-	mkdir -p local_imports/voltha-protos/dist
-	cp ../../voltha-protos/dist/*.tar.gz local_imports/voltha-protos/dist/
+	source ./${VENVDIR}/bin/activate ; set -u ;\
+	pip install local_imports/voltha-protos/dist/*.tar.gz
 endif
-	docker build $(DOCKER_BUILD_ARGS) -t ${REGISTRY}${REPOSITORY}voltha-openonu-adapter-base:${TAG} -f docker/Dockerfile.base .
-
-openonu_adapter: base
-ifdef PYVOLTHA_BASE_IMAGE
-	docker build $(DOCKER_BUILD_ARGS) -t ${REGISTRY}${REPOSITORY}voltha-openonu-adapter:${TAG} -f docker/Dockerfile.openonu_adapter_pyvoltha .
-else
-	docker build $(DOCKER_BUILD_ARGS) -t ${REGISTRY}${REPOSITORY}voltha-openonu-adapter:${TAG} -f docker/Dockerfile.openonu_adapter .
-endif
-
-tag: $(patsubst  %,%.tag,$(DOCKER_IMAGE_LIST))
-
-push: tag $(patsubst  %,%.push,$(DOCKER_IMAGE_LIST))
-
-pull: $(patsubst  %,%.pull,$(DOCKER_IMAGE_LIST))
-
-%.tag:
-	docker tag ${REGISTRY}${REPOSITORY}voltha-$(subst .tag,,$@):${TAG} ${TARGET_REGISTRY}${TARGET_REPOSITORY}voltha-$(subst .tag,,$@):${TARGET_TAG}
-
-%.push:
-	docker push ${TARGET_REGISTRY}${TARGET_REPOSITORY}voltha-$(subst .push,,$@):${TARGET_TAG}
-
-%.pull:
-	docker pull ${REGISTRY}${REPOSITORY}voltha-$(subst .pull,,$@):${TAG}
 
 clean:
 	rm -rf local_imports
@@ -119,37 +114,4 @@
 distclean: clean
 	rm -rf ${VENVDIR}
 
-purge-venv:
-	rm -fr ${VENVDIR}
-
-rebuild-venv: purge-venv venv
-
-venv: ${VENVDIR}/.built
-
-${VENVDIR}/.built:
-	virtualenv -v ${VENVDIR}
-	# these are just symlinks to the other folders in the venv.  this makes it appear as if there are duplicate definitions in PYTHONPATH.  venv bug?
-	rm ${VENVDIR}/local/bin ${VENVDIR}/local/lib ${VENVDIR}/local/include
-	. ${VENVDIR}/bin/activate && \
-	    pip install --upgrade pip; \
-	    if ! pip install -r requirements.txt; \
-	    then \
-	        echo "On MAC OS X, if the installation failed with an error \n'<openssl/opensslv.h>': file not found,"; \
-	        echo "see the BUILD.md file for a workaround"; \
-	    else \
-	        uname -s > ${VENVDIR}/.built; \
-	    fi
-
-ifdef LOCAL_PYVOLTHA
-	mkdir -p local_imports/pyvoltha/dist
-	cp ../../pyvoltha/dist/*.tar.gz local_imports/pyvoltha/dist/
-	. ${VENVDIR}/bin/activate && \
-	    pip install local_imports/pyvoltha/dist/*.tar.gz
-endif
-ifdef LOCAL_PROTOS
-	mkdir -p local_imports/voltha-protos/dist
-	cp ../../voltha-protos/dist/*.tar.gz local_imports/voltha-protos/dist/
-	. ${VENVDIR}/bin/activate && \
-	    pip install local_imports/voltha-protos/dist/*.tar.gz
-endif
 # end file
diff --git a/python/docker/Dockerfile.adp-old b/python/docker/Dockerfile.adp-old
deleted file mode 100644
index 52eb916..0000000
--- a/python/docker/Dockerfile.adp-old
+++ /dev/null
@@ -1,48 +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
-RUN mkdir /voltha/voltha && touch /voltha/voltha/__init__.py
-RUN mkdir /voltha/voltha/adapters && touch /voltha/voltha/adapters/__init__.py
-ENV PYTHONPATH=/voltha
-COPY common /voltha/common/
-COPY core /voltha/voltha/core/
-COPY core/registry.py /voltha/voltha/
-COPY extensions /voltha/voltha/extensions/
-COPY kafka /voltha/kafka
-COPY adapters/*.py /voltha/voltha/adapters/
-COPY adapters/brcm_openomci_onu /voltha/voltha/adapters/brcm_openomci_onu
-
-# Copy in the generated GRPC proto code
-COPY --from=protos /protos/voltha /voltha/voltha/protos
-COPY --from=openolt_protos /protos/voltha /voltha/voltha/adapters/openolt/protos
-COPY --from=protos /protos/google/api /voltha/voltha/protos/third_party/google/api
-COPY protos/third_party/__init__.py /voltha/voltha/protos/third_party
-RUN touch /voltha/voltha/protos/__init__.py
-RUN touch /voltha/voltha/adapters/openolt/__init__.py
-RUN touch /voltha/voltha/adapters/openolt/protos/__init__.py
-RUN touch /voltha/voltha/protos/third_party/google/__init__.py
-
-# Exposing process and default entry point
-CMD ["python", "/voltha/python/adapters/openonu/main.py"]
diff --git a/python/docker/Dockerfile.base b/python/docker/Dockerfile.base
deleted file mode 100644
index bd38702..0000000
--- a/python/docker/Dockerfile.base
+++ /dev/null
@@ -1,43 +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.
-
-FROM ubuntu:xenial
-
-MAINTAINER Voltha Community <info@opennetworking.org>
-
-ARG LOCAL_PYVOLTHA
-ARG LOCAL_PROTOS
-
-# 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
-
-#COPY POTENTIAL LOCAL IMPORTS
-COPY local_imports/ /local_imports/
-
-RUN if [ -n "$LOCAL_PYVOLTHA" ] ; then \
-    pip install /local_imports/pyvoltha/dist/*.tar.gz ; \
-fi
-
-RUN if [ -n "$LOCAL_PROTOS" ] ; then \
-    pip install /local_imports/voltha-protos/dist/*.tar.gz ; \
-fi
diff --git a/python/docker/Dockerfile.openonu_adapter b/python/docker/Dockerfile.openonu_adapter
index ab17ab7..c0eea41 100644
--- a/python/docker/Dockerfile.openonu_adapter
+++ b/python/docker/Dockerfile.openonu_adapter
@@ -11,13 +11,30 @@
 # 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 ubuntu:16.04
 
-FROM ${REGISTRY}${REPOSITORY}voltha-openonu-adapter-base:${TAG}
+# 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
 
-MAINTAINER Voltha Community <info@opennetworking.org>
+# 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
+
+ARG LOCAL_PYVOLTHA
+ARG LOCAL_PROTOS
+COPY local_imports/ /local_imports/
+RUN if [ -n "$LOCAL_PYVOLTHA" ] ; then \
+    pip install /local_imports/pyvoltha/dist/*.tar.gz ; \
+fi
+
+RUN if [ -n "$LOCAL_PROTOS" ] ; then \
+    pip install /local_imports/voltha-protos/dist/*.tar.gz ; \
+fi
 
 # Bundle app source
 RUN mkdir /voltha && touch /voltha/__init__.py
@@ -25,6 +42,17 @@
 ENV PYTHONPATH=/voltha
 COPY adapters/brcm_openomci_onu /voltha/adapters/brcm_openomci_onu
 
-# Exposing process and default entry point
-CMD ["python", "/voltha/adapters/brcm_openomci_onu/main.py"]
+# Label image
+ARG org_label_schema_version=unknown
+ARG org_label_schema_vcs_url=unknown
+ARG org_label_schema_vcs_ref=unknown
+ARG org_label_schema_build_date=unknown
+ARG org_opencord_vcs_commit_date=unknown
 
+LABEL org.label-schema.schema-version=1.0 \
+      org.label-schema.name=voltha-openonu-adapter \
+      org.label-schema.version=$org_label_schema_version \
+      org.label-schema.vcs-url=$org_label_schema_vcs_url \
+      org.label-schema.vcs-ref=$org_label_schema_vcs_ref \
+      org.label-schema.build-date=$org_label_schema_build_date \
+      org.opencord.vcs-commit-date=$org_opencord_vcs_commit_date
diff --git a/python/docker/Dockerfile.openonu_adapter_pyvoltha b/python/docker/Dockerfile.openonu_adapter_pyvoltha
deleted file mode 100644
index 9d5e985..0000000
--- a/python/docker/Dockerfile.openonu_adapter_pyvoltha
+++ /dev/null
@@ -1,31 +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}pyvoltha:${TAG}
-
-MAINTAINER Voltha Community <info@opennetworking.org>
-
-# Bundle app source
-RUN mkdir /voltha && touch /voltha/__init__.py
-RUN mkdir /voltha/voltha && touch /voltha/voltha/__init__.py
-RUN mkdir /voltha/voltha/adapters && touch /voltha/voltha/adapters/__init__.py
-ENV PYTHONPATH=/voltha
-COPY adapters/brcm_openomci_onu /voltha/voltha/adapters/brcm_openomci_onu
-
-# Exposing process and default entry point
-CMD ["python", "/voltha/python/adapters/openonu/main.py"]
-
diff --git a/python/env.sh b/python/env.sh
index ec3b52f..54fa872 100644
--- a/python/env.sh
+++ b/python/env.sh
@@ -12,18 +12,11 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 # sourcing this file is needed to make local development and integration testing work
-export VOLTHA_BASE=$PWD
 
-# load local python virtualenv if exists, otherwise create it
-VENVDIR="venv-$(uname -s | tr '[:upper:]' '[:lower:]')"
-if [ ! -e "$VENVDIR/.built" ]; then
-    echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
-    echo "Initializing OS-appropriate virtual env."
-    echo "This will take a few minutes."
-    echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
-    make venv
+# load local python virtualenv if exists
+VENVDIR="venv-openonu"
+if [ -e "$VENVDIR/bin/activate" ]; then
+    . $VENVDIR/bin/activate
+else
+   echo "Run 'make venv' to setup python development environment"
 fi
-. $VENVDIR/bin/activate
-
-# add top-level voltha dir to pythonpath
-export PYTHONPATH=$VOLTHA_BASE/$VENVDIR/lib/python2.7/site-packages:$PYTHONPATH:$VOLTHA_BASE:$VOLTHA_BASE/cli:$VOLTHA_BASE/protos/third_party
