diff --git a/overview/contribute.rst b/overview/contribute.rst
deleted file mode 100644
index 0d4c382..0000000
--- a/overview/contribute.rst
+++ /dev/null
@@ -1,21 +0,0 @@
-How to contribute
-=================
-
-Hello and welcome!
-
-If you want to contribute to VOLTHA, please don't hesitate to contact us!
-The best ways to do so are:
-
-- `Slack <https://slackin.opencord.org>`_
-- `Mailing List <https://groups.google.com/a/opencord.org/forum/#!forum/voltha-discuss>`_
-
-Ongoing Brigades
-----------------
-
-- `BBSim and Scale <https://jira.opencord.org/secure/Dashboard.jspa?selectPageId=10902>`_
-- `Stabilization <https://jira.opencord.org/secure/Dashboard.jspa?selectPageId=10801>`_
-- `BAL 3.x <https://jira.opencord.org/secure/Dashboard.jspa?selectPageId=10700>`_
-- `Multicast and Multi-TCONT <https://jira.opencord.org/secure/Dashboard.jspa?selectPageId=10800>`_
-- `POD Management <https://jira.opencord.org/secure/Dashboard.jspa?selectPageId=10901>`_
-- `ONOS FCAPS <https://jira.opencord.org/secure/Dashboard.jspa?selectPageId=10903>`_
-- `Test Automation <https://jira.opencord.org/secure/Dashboard.jspa?selectPageId=11400>`_
diff --git a/overview/deploy_virtual.rst b/overview/dev_virtual.rst
similarity index 61%
rename from overview/deploy_virtual.rst
rename to overview/dev_virtual.rst
index 6e4445f..41fd0a3 100644
--- a/overview/deploy_virtual.rst
+++ b/overview/dev_virtual.rst
@@ -1,8 +1,13 @@
-Deploy a virtual VOLTHA POD
-===========================
+.. _dev_virtual:
+
+Developing code with a virtual VOLTHA POD
+=========================================
 
 A guide to install a virtual POD. This is generally used to gain familiarity with the
-environment or to do development.
+environment or for development purposes.
+
+Most of the `helm` and `voltctl` commands found in the :ref:`pod_physical` also
+apply in the virtual environment.
 
 Quickstart
 ----------
@@ -16,12 +21,6 @@
 
     TYPE=minimal WITH_RADIUS=y CONFIG_SADIS=y ONLY_ONE=y WITH_BBSIM=y ./voltha up
 
-TLDR;
------
-
-Below are the complete steps to install a physical cluster.
-Most of the steps are the same as :ref:`deploy_physical`.
-
 Create Kubernetes Cluster
 -------------------------
 
@@ -84,3 +83,54 @@
 .. code:: bash
 
    voltctl device enable $(voltctl device list --filter Type~openolt -q)
+
+
+Developing changes on a virtual pod
+-----------------------------------
+
+We assume you already have downloaded the git repository you want to modify and
+your IDE is correctly set up.
+
+In this tutorial we are going to use ``voltha-go`` as an example.
+
+Make the required changes in the ``voltha-go`` repository (the process
+is the same for all the VOLTHA repositories) to the code and build the
+docker images and push them on your private dockerhub account:
+
+.. code:: bash
+
+   $ DOCKER_REGISTRY="matteoscandolo/" DOCKER_TAG="dev" make docker-build
+
+Then push them to your docker hub account:
+
+.. code:: bash
+
+   $ DOCKER_REGISTRY="matteoscandolo/" DOCKER_TAG="dev" make docker-push
+
+Deploy your changes on kind-voltha
+----------------------------------
+
+Create a copy of the `minimal-values.yaml` file:
+
+.. code:: bash
+
+    $ cp minimal-values.yaml dev-values.yaml
+
+And edit that file so that it contains the appropriate values for the images you want to try,
+for example uncomment and change these two lines (mind the indentation):
+
+.. code:: yaml
+
+    images:
+      ro_core:
+        repository: matteoscandolo/voltha-ro-core
+        tag: dev
+      rw_core:
+        repository: matteoscandolo/voltha-rw-core
+        tag: dev
+
+Then redeploy `kind-voltha` using that the edited value file:
+
+.. code:: bash
+
+    $ DEPLOY_K8S=no ./voltha down && DEPLOY_K8S=no EXTRA_HELM_FLAGS="-f dev-values.yaml" ./voltha up
diff --git a/overview/development_loop.rst b/overview/development_loop.rst
deleted file mode 100644
index 34ab2d7..0000000
--- a/overview/development_loop.rst
+++ /dev/null
@@ -1,54 +0,0 @@
-Development Loop
-================
-
-Start with `kind-voltha <https://github.com/ciena/kind-voltha>`_. installed.
-
-Make changes
-------------
-
-We assume you already have downloaded the repository you want to modify and your IDE is correctly set up.
-
-In this tutorial we are going to use ``voltha-go`` as an example.
-
-Make the required changes in the ``voltha-go`` repository (the process
-is the same for all the VOLTHA repositories) to the code and build the
-docker images and push them on your private dockerhub account:
-
-.. code:: bash
-
-   $ DOCKER_REGISTRY="matteoscandolo/" DOCKER_TAG="dev" make docker-build
-
-Then push them to your docker hub account:
-
-.. code:: bash
-
-   $ DOCKER_REGISTRY="matteoscandolo/" DOCKER_TAG="dev" make docker-push
-
-Deploy your changes on kind-voltha
-----------------------------------
-
-Create a copy of the `minimal-values.yaml` file:
-
-.. code:: bash
-
-    $ cp minimal-values.yaml dev-values.yaml
-
-And edit that file so that it contains the appropriate values for the images you want to try,
-for example uncomment and change these two lines (mind the indentation):
-
-.. code:: yaml
-
-    images:
-      ro_core:
-        repository: matteoscandolo/voltha-ro-core
-        tag: dev
-      rw_core:
-        repository: matteoscandolo/voltha-rw-core
-        tag: dev
-
-Then redeploy `kind-voltha` using that value file:
-
-.. code:: bash
-
-    $ DEPLOY_K8S=no ./voltha down && DEPLOY_K8S=no EXTRA_HELM_FLAGS="-f dev-values.yaml" ./voltha up
-
diff --git a/overview/lab_setup.rst b/overview/lab_setup.rst
new file mode 100644
index 0000000..5ec8054
--- /dev/null
+++ b/overview/lab_setup.rst
@@ -0,0 +1,195 @@
+.. _lab_setup:
+
+Hardware Setup of a VOLTHA Test Pod
+===================================
+
+Overview
+--------
+
+In a testing setup rather than using a real RG or BNG emulated ones are
+deployed on a Linux development server:
+
+- The ``RG`` can be emulated by an ``lxc`` container (from now on ``client``)
+- The ``BNG`` can be emulated by a Linux server
+- The ``AggSwitch`` is optional in a VOLTHA deployment.
+
+.. figure:: ../_static/voltha_lab_setup.png
+   :alt: VOLTHA Lab Setup
+
+   VOLTHA Lab Setup
+
+*The image above represents the data plane connections in a LAB setup.
+It does not include the kubernetes cluster for simplicity.*
+
+What you’ll need to emulate E2E traffic is:
+
+- 1 x86 server with Ubuntu 16.04 and at least the following interfaces:
+
+  - 1 1G Ethernet port
+  - 1 10G Ethernet port (this can be a second 1G interface as long as you have a media converter)
+
+Setting up a client
+-------------------
+
+The first thing you need to do is to install ``lxd`` on your server. To do that
+you can follow `this guide
+<http://tutorials.ubuntu.com/tutorial/tutorial-setting-up-lxd-1604>`_
+
+Once ``lxd`` is successfully installed you need to initialize it with:
+
+.. code:: bash
+
+   lxd init
+
+we recommend to use all the provided default values.
+
+Once ``lxd`` is initialized you can create a container and assign a physical
+Ethernet interface to the container:
+
+.. code:: bash
+
+   lxc launch ubuntu:16.04 <name>
+   lxc config device add <name> eth1 nic name=eth1 parent=<physical-intf> nictype=physical
+
+Where:
+
+- ``name`` is the desired container name. The convention used to identify which
+  RG container is connected to an ONU is to use the ONU serial number as the
+  lxc container name.
+
+- ``physical-intf`` is the name of the interface on the server where the ONU
+  is physically connected
+
+Once the container is created you can check it's state with with ``lxc list``:
+
+.. code:: bash
+
+   +---------------+---------+--------------------+------+------------+-----------+
+   |     NAME      |  STATE  |        IPV4        | IPV6 |    TYPE    | SNAPSHOTS |
+   +---------------+---------+--------------------+------+------------+-----------+
+   | voltha-client | RUNNING | 10.63.3.144 (eth0) |      | PERSISTENT | 0         |
+   +---------------+---------+--------------------+------+------------+-----------+
+
+Please make sure the container has an assigned IP or we it won’t be able
+to login and install the ``wpasupplicant`` tool inside the RG.
+
+Once the container is running you need to enter it for configuration. To access
+the container run: ``lxc exec <name> /bin/bash``
+
+Once inside:
+
+.. code:: bash
+
+   # activate the interface
+   ip link set eth1 up
+   # install the wpasupplicant tool
+   apt update
+   apt install wpasupplicant
+
+..
+
+   NOTE: ``wpasupplicant`` is a Linux tool to perform 802.1X authentication.
+   `wpasupplicant documentation can be found here
+   <https://help.ubuntu.com/community/WifiDocs/WPAHowTo>`_.
+
+Create a configuration file for ``wpasupplicant`` in
+``/etc/wpa_supplicant/wpa_supplicant.conf`` with the content:
+
+.. code:: text
+
+   ctrl_interface=/var/run/wpa_supplicant
+   eapol_version=1
+   ap_scan=0
+   fast_reauth=1
+   network={
+           key_mgmt=WPA-EAP
+           eap=MD5
+           identity="user"
+           password="password"
+           ca_cert="/etc/cert/cacert.pem"
+           client_cert="/etc/cert/client.pem"
+           private_key="/etc/cert/client.key"
+           private_key_passwd="whatever"
+           eapol_flags=3
+   }
+
+..
+
+   NOTE: The configuration in this file is not really important if you are
+   using the ``freeradius`` server provided as part of the VOLTHA helm charts.
+   Do not worry if the certificates do not exist, they won’t affect
+   authentication as that is password based.
+
+At this point you’ll be able kickoff the authentication process (by
+sending ``EAPOL`` packets into the system) with the command:
+
+.. code:: bash
+
+   wpa_supplicant -i eth1 -Dwired -c /etc/wpa_supplicant/wpa_supplicant.conf
+
+If everything has been set up correctly, you should see output similar to this
+in the VOLTHA logs:
+
+.. code:: bash
+
+   cord@node1:~$ kubectl logs -f -n voltha vcore-0 | grep -E "packet_indication|packet-in" | grep 888e
+   20180912T003237.453 DEBUG    MainThread adapter_agent.send_packet_in {adapter_name: openolt, logical_port_no: 16, logical_device_id: 000100000a5a0097, packet: 0180c200000390e2ba82fa8281000ffb888e01000009020100090175736572000000000000000000000000000000000000000000000000000000000000000000, event: send-packet-in, instance_id: compose_voltha_1_1536712228, vcore_id: 0001}
+
+Setting up an emulated BNG on Linux
+-----------------------------------
+
+The emulated BNG needs to perform only two operations: ``DHCP`` and
+``NAT``.
+
+To setup a NAT router on an Ubuntu 16.04 server you can look at this
+tutorial:
+https://www.nairabytes.net/81-linux/418-how-to-set-up-a-nat-router-on-ubuntu-server-16-04
+
+To install a DHCP server you can follow this tutorial:
+http://nairabytes.net/81-linux/415-how-to-install-a-dhcp-server-in-ubuntu-server-16-04
+
+Once the ``DHCP`` server is installed, you need to configure it.
+
+Create Q-in-Q interfaces
+~~~~~~~~~~~~~~~~~~~~~~~~
+
+On the interface that connects to the Agg Switch (upstream) you are
+going to receive double tagged traffic, so you’ll need to create
+interfaces to received it.
+
+Supposing that your subscriber is using ``s_tag=111``, ``c_tag=222`` and
+the upstream interface name is ``eth2`` you can use this commands to
+create it:
+
+.. code:: bash
+
+   ip link set eth2 up
+   ip link add link eth2 name eth2.111 type vlan id 111
+   ip link set eth2.111 up
+   ip link add link eth2.111 name eth2.111.222 type vlan id 222
+   ip link set eth2.111.222 up
+   ip addr add 10.11.2.254/24 dev eth2.111.222
+
+Then you’ll need to tell the ``dhcp`` server to listen on that
+interface, you can do that by editing the file
+``/etc/default/isc-dhcp-server`` so that it looks like:
+
+.. code:: bash
+
+   INTERFACES="eth2.111.222"
+
+..
+
+   NOTE that you can list multiple interfaces, separated by spaces, in
+   case you have multiple subscribers in your setup
+
+In the ``/etc/dhcp/dhcpd.conf`` config file, configure the IP address
+range to assign to the double tagged interface:
+
+.. code:: text
+
+   subnet 10.11.2.0 netmask 255.255.255.0 {
+     range 10.11.2.1 10.11.2.100;
+     option routers 10.11.2.254;
+     option domain-name-servers 8.8.8.8;
+   }
diff --git a/overview/physical_layout.rst b/overview/physical_layout.rst
deleted file mode 100644
index 850a64a..0000000
--- a/overview/physical_layout.rst
+++ /dev/null
@@ -1,11 +0,0 @@
-.. _Physical_Layout:
-
-Build a physical POD
-====================
-
-Coming Soon.
-
-For the time being you can refer to the `SEBA LAB Setup guide
-<https://guide.opencord.org/profiles/seba/lab-setup.html#configuring-a-lab-setup>`_,
-just remember that the ``AggSwitch`` is optional in a VOLTHA deployment.
-
diff --git a/overview/deploy_physical.rst b/overview/pod_physical.rst
similarity index 99%
rename from overview/deploy_physical.rst
rename to overview/pod_physical.rst
index 1758f03..b05b4c3 100644
--- a/overview/deploy_physical.rst
+++ b/overview/pod_physical.rst
@@ -1,4 +1,4 @@
-.. _deploy_physical:
+.. _pod_physical:
 
 Deploy a physical VOLTHA POD
 ============================
@@ -7,7 +7,7 @@
 ----------
 
 The quickstart assumes you POD is already correctly cabled, if not you can
-refer to :ref:`Physical_Layout`
+refer to :ref:`lab_setup`
 
 Requires:
 
diff --git a/overview/ubuntu_dev_env.rst b/overview/ubuntu_dev_env.rst
new file mode 100644
index 0000000..36b9901
--- /dev/null
+++ b/overview/ubuntu_dev_env.rst
@@ -0,0 +1,510 @@
+Setting up an Ubuntu Development Environment
+============================================
+
+These notes describe the checking out and building from the multiple
+gerrit repositories needed to run a VOLTHA 2.x environment with
+docker-compose. Starting point is a basic Ubuntu 16.04 or 18.04
+installation with internet access.
+
+These notes are intended for iterative development only. The testing
+environments and production environments will run a Kubernetes and Helm
+based deployment.
+
+Install prerequisites
+---------------------
+
+Patch and updated
+
+.. code:: sh
+
+   sudo apt update
+   sudo apt dist-upgrade
+
+Add ``docker-ce`` apt repo and install docker and build tools
+
+.. code:: sh
+
+   curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
+   sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
+   sudo apt update
+   sudo apt install build-essential docker-ce git
+
+Install current ``docker-compose``. Older versions may cause docker
+build problems:
+https://github.com/docker/docker-credential-helpers/issues/103
+
+.. code:: sh
+
+   sudo curl -L "https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
+   sudo chmod 755 /usr/local/bin/docker-compose
+
+Install the Golang ppa apt repository and install **golang 1.13**.
+
+.. code:: sh
+
+   sudo add-apt-repository ppa:longsleep/golang-backports
+   sudo apt update
+   sudo apt install golang-1.13
+
+Setup environment
+~~~~~~~~~~~~~~~~~
+
+Setup a local Golang and docker-compose environment, verifying the
+golang-1.13 binaries are in your path. Also add your local ``GOPATH``
+bin folder to ``PATH`` Add export statements to your ``~/.profile`` to
+persist.
+
+.. code:: sh
+
+   mkdir $HOME/source
+   mkdir $HOME/go
+   export GO111MODULE=on
+   export GOPATH=$HOME/go
+   export DOCKER_TAG=latest
+   export PATH=$PATH:/usr/lib/go-1.13/bin:$GOPATH/bin
+   go version
+
+Allow your current non-root user ``$USER`` docker system access
+
+.. code:: sh
+
+   sudo usermod -a -G docker $USER
+
+Logout/Login to assume new group membership needed for running docker as
+non-root user and verify any environment variables set in
+``~/.profile``.
+
+Checkout source and build images
+--------------------------------
+
+VOLTHA 2.x Core Containers
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Checkout needed source from gerrit. Build the ``voltha-rw-core`` docker
+image.
+
+.. code:: sh
+
+   cd ~/source/
+   git clone https://gerrit.opencord.org/voltha-go.git
+   cd ~/source/voltha-go
+   make build
+
+For more details regarding building and debugging the 2.x core outside
+of Docker refer to voltha-go BUILD.md.
+
+https://github.com/opencord/voltha-go/blob/master/BUILD.md
+
+VOLTHA 2.x OpenOLT Container
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Checkout needed source from gerrit. Build the ``voltha-openolt-adapter``
+docker image.
+
+.. code:: sh
+
+   cd ~/source/
+   git clone https://gerrit.opencord.org/voltha-openolt-adapter.git
+   cd ~/source/voltha-openolt-adapter/
+   make build
+
+VOLTHA 2.x OpenONU Container
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Checkout needed source from gerrit. Build the ``voltha-openonu-adapter``
+docker image.
+
+.. code:: sh
+
+   cd ~/source/
+   git clone https://gerrit.opencord.org/voltha-openonu-adapter.git
+   cd ~/source/voltha-openonu-adapter/
+   make build
+
+VOLTHA 2.x OFAgent
+~~~~~~~~~~~~~~~~~~
+
+Checkout needed source from gerrit. Build the ``voltha-ofagent`` docker
+image.
+
+.. code:: sh
+
+   cd ~/source/
+   git clone https://gerrit.opencord.org/ofagent-go.git
+   cd ~/source/ofagent-go/
+   make docker-build
+
+ONOS Container with VOLTHA Compatible Apps
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+By default the standard ONOS docker image does not contain nor start any
+apps needed by VOLTHA. If you use the standard image then you need to
+use the ONOS restful API to load needed apps separately.
+
+For development convenience there is an ONOS docker image build that
+adds in the current compatible VOLTHA apps. Checkout and build the ONOS
+image with added ONOS apps (olt, aaa, sadis, dhcpl2relay, and kafka).
+
+.. code:: sh
+
+   cd ~/source/
+   git clone https://gerrit.opencord.org/voltha-onos.git
+   cd ~/source/voltha-onos
+   make build
+
+Install voltctl VOLTHA Command Line Management Tool
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+A working Golang build environment is required as ``voltctl`` is build
+and run directly from the host. Build the ``voltctl`` executable and
+install in ~/go/bin which should already be in your $PATH
+
+.. code:: sh
+
+   cd ~/source/
+   git clone https://gerrit.opencord.org/voltctl.git
+   cd ~/source/voltctl
+   make build
+   make install
+
+Configure the ``voltctl`` environment configuration files
+``~/.volt/config`` and ``~/.volt/command_options`` to point at the local
+``voltha-rw-core`` instance that will be running.
+
+.. code:: sh
+
+   mkdir ~/.volt/
+
+   cat << EOF > ~/.volt/config
+   apiVersion: v2
+   server: localhost:50057
+   tls:
+     useTls: false
+     caCert: ""
+     cert: ""
+     key: ""
+     verify: ""
+   grpc:
+     timeout: 10s
+   EOF
+
+   cat << EOF > ~/.volt/command_options
+   device-list:
+     format: table{{.Id}}\t{{.Type}}\t{{.Root}}\t{{.ParentId}}\t{{.SerialNumber}}\t{{.Address}}\t{{.AdminState}}\t{{.OperStatus}}\t{{.ConnectStatus}}\t{{.Reason}}
+     order: -Root,SerialNumber
+
+   device-ports:
+     order: PortNo
+
+   device-flows:
+     order: Priority,EthType
+
+   logical-device-list:
+     order: RootDeviceId,DataPathId
+
+   logical-device-ports:
+     order: Id
+
+   logical-device-flows:
+     order: Priority,EthType
+
+   adapter-list:
+     order: Id
+
+   component-list:
+     order: Component,Name,Id
+
+   loglevel-get:
+     order: ComponentName,PackageName,Level
+
+   loglevel-list:
+     order: ComponentName,PackageName,Level
+   EOF
+
+
+Install VOLTHA bbsim olt/onu Simulator (Optional)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+If you do not have physical OLT/ONU hardware you can build a simulator.
+
+.. code:: sh
+
+   cd ~/source/
+   git clone https://gerrit.opencord.org/bbsim.git
+   cd ~/source/bbsim
+   make docker-build
+
+Test
+----
+
+Startup
+~~~~~~~
+
+Run the combined docker-compose yaml configuration file that starts the
+core, its dependent systems (etcd, zookeeper, and kafka) and the openonu
+and openolt adapters. Export the ``DOCKER_HOST_IP`` environment variable
+to your non-localhost IP address needed for inter-container
+communication. This can be the IP assigned to ``eth0`` or the
+``docker0`` bridge (typically 172.17.0.1)
+
+For convenience you can also export ``DOCKER_TAG`` to signify the docker
+images tag you would like to use. Though for typical development you may
+have to edit ``compose/system-test.yml`` to override the specific docker
+image ``DOCKER_TAG`` needed. The ``DOCKER_REGISTRY`` and
+``DOCKER_REPOSITORY`` variables are not needed unless you wish to
+override the docker image path. See the ``system-test.yml`` file for
+details on the docker image path creation string.
+
+.. code:: sh
+
+   export DOCKER_HOST_IP=172.17.0.1
+   export DOCKER_TAG=latest
+
+   cd ~/source/voltha-go
+   docker-compose -f compose/system-test.yml up -d
+
+
+   WARNING: The DOCKER_REGISTRY variable is not set. Defaulting to a blank string.
+   WARNING: The DOCKER_REPOSITORY variable is not set. Defaulting to a blank string.
+   Creating network "compose_default" with driver "bridge"
+   Pulling zookeeper (wurstmeister/zookeeper:latest)...
+   latest: Pulling from wurstmeister/zookeeper
+   a3ed95caeb02: Pull complete
+   ef38b711a50f: Pull complete
+   e057c74597c7: Pull complete
+   666c214f6385: Pull complete
+   c3d6a96f1ffc: Pull complete
+   3fe26a83e0ca: Pull complete
+   3d3a7dd3a3b1: Pull complete
+   f8cc938abe5f: Pull complete
+   9978b75f7a58: Pull complete
+   4d4dbcc8f8cc: Pull complete
+   8b130a9baa49: Pull complete
+   6b9611650a73: Pull complete
+   5df5aac51927: Pull complete
+   76eea4448d9b: Pull complete
+   8b66990876c6: Pull complete
+   f0dd38204b6f: Pull complete
+   Digest: sha256:7a7fd44a72104bfbd24a77844bad5fabc86485b036f988ea927d1780782a6680
+   Status: Downloaded newer image for wurstmeister/zookeeper:latest
+   Pulling kafka (wurstmeister/kafka:2.11-2.0.1)...
+   2.11-2.0.1: Pulling from wurstmeister/kafka
+   4fe2ade4980c: Pull complete
+   6fc58a8d4ae4: Pull complete
+   819f4a45746c: Pull complete
+   a3133bc2e3e5: Pull complete
+   72f0dc369677: Pull complete
+   1e1130fc942d: Pull complete
+   Digest: sha256:20d08a6849383b124bccbe58bc9c48ec202eefb373d05e0a11e186459b84f2a0
+   Status: Downloaded newer image for wurstmeister/kafka:2.11-2.0.1
+   Pulling etcd (quay.io/coreos/etcd:v3.2.9)...
+   v3.2.9: Pulling from coreos/etcd
+   88286f41530e: Pull complete
+   2fa4a2c3ffb5: Pull complete
+   539b8e6ccce1: Pull complete
+   79e70e608afa: Pull complete
+   f1bf8f503bff: Pull complete
+   c4abfc27d146: Pull complete
+   Digest: sha256:1913dd980d55490fa50640bbef0f4540d124e5c66d6db271b0b4456e9370a272
+   Status: Downloaded newer image for quay.io/coreos/etcd:v3.2.9
+   Creating compose_kafka_1           ... done
+   Creating compose_cli_1             ... done
+   Creating compose_adapter_openolt_1 ... done
+   Creating compose_rw_core_1         ... done
+   Creating compose_adapter_openonu_1 ... done
+   Creating compose_etcd_1            ... done
+   Creating compose_onos_1            ... done
+   Creating compose_ofagent_1         ... done
+   Creating compose_zookeeper_1       ... done
+
+Verify containers have continuous uptime and no restarts
+
+.. code:: sh
+
+   $ docker-compose -f compose/system-test.yml ps
+   WARNING: The DOCKER_REGISTRY variable is not set. Defaulting to a blank string.
+   WARNING: The DOCKER_REPOSITORY variable is not set. Defaulting to a blank string.
+             Name                         Command               State                                             Ports
+   ---------------------------------------------------------------------------------------------------------------------------------------------------------------
+   compose_adapter_openolt_1   /app/openolt --kafka_adapt ...   Up      0.0.0.0:50062->50062/tcp
+   compose_adapter_openonu_1   /voltha/adapters/brcm_open ...   Up
+   compose_etcd_1              etcd --name=etcd0 --advert ...   Up      0.0.0.0:2379->2379/tcp, 0.0.0.0:32929->2380/tcp, 0.0.0.0:32928->4001/tcp
+   compose_kafka_1             start-kafka.sh                   Up      0.0.0.0:9092->9092/tcp
+   compose_ofagent_1           /app/ofagent --controller= ...   Up
+   compose_onos_1              ./bin/onos-service server        Up      6640/tcp, 0.0.0.0:6653->6653/tcp, 0.0.0.0:8101->8101/tcp, 0.0.0.0:8181->8181/tcp, 9876/tcp
+   compose_rw_core_1           /app/rw_core -kv_store_typ ...   Up      0.0.0.0:50057->50057/tcp
+   compose_zookeeper_1         /bin/sh -c /usr/sbin/sshd  ...   Up      0.0.0.0:2181->2181/tcp, 22/tcp, 2888/tcp, 3888/tcp
+
+.. code:: sh
+
+   $ docker ps
+   CONTAINER ID        IMAGE                           COMMAND                  CREATED             STATUS              PORTS                                                                                        NAMES
+   08a0e7a1ee5c        voltha-openolt-adapter:latest   "/app/openolt --kafk…"   31 seconds ago      Up 27 seconds       0.0.0.0:50062->50062/tcp                                                                     compose_adapter_openolt_1
+   1f364cf7912d        wurstmeister/zookeeper:latest   "/bin/sh -c '/usr/sb…"   31 seconds ago      Up 27 seconds       22/tcp, 2888/tcp, 3888/tcp, 0.0.0.0:2181->2181/tcp                                           compose_zookeeper_1
+   ab1822baed41        wurstmeister/kafka:2.11-2.0.1   "start-kafka.sh"         31 seconds ago      Up 24 seconds       0.0.0.0:9092->9092/tcp                                                                       compose_kafka_1
+   22a4fe4b2eb4        voltha-ofagent-go:latest        "/app/ofagent --cont…"   31 seconds ago      Up 23 seconds                                                                                                    compose_ofagent_1
+   d34e1c976db5        voltha-rw-core:latest           "/app/rw_core -kv_st…"   31 seconds ago      Up 26 seconds       0.0.0.0:50057->50057/tcp                                                                     compose_rw_core_1
+   f6ef52975dc0        voltha-openonu-adapter:latest   "/voltha/adapters/br…"   31 seconds ago      Up 29 seconds                                                                                                    compose_adapter_openonu_1
+   7ce8bcf7436c        voltha-onos:latest              "./bin/onos-service …"   31 seconds ago      Up 25 seconds       0.0.0.0:6653->6653/tcp, 0.0.0.0:8101->8101/tcp, 6640/tcp, 9876/tcp, 0.0.0.0:8181->8181/tcp   compose_onos_1
+   60ac172726f5        quay.io/coreos/etcd:v3.4.1      "etcd --name=etcd0 -…"   31 seconds ago      Up 28 seconds       0.0.0.0:2379->2379/tcp, 0.0.0.0:32931->2380/tcp, 0.0.0.0:32930->4001/tcp                     compose_etcd_1
+
+Verify Cluster Communication
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Use ``voltctl`` commands to verify core and adapters are running.
+
+.. code:: sh
+
+   voltctl adapter list
+   ID                   VENDOR            VERSION      SINCELASTCOMMUNICATION
+   brcm_openomci_onu    VOLTHA OpenONU    2.3.2-dev    UNKNOWN
+   openolt              VOLTHA OpenOLT    2.3.5-dev    UNKNOWN
+
+List “devices” to verify no devices exist.
+
+.. code:: sh
+
+   voltctl device list
+   ID    TYPE    ROOT    PARENTID    SERIALNUMBER    ADDRESS    ADMINSTATE    OPERSTATUS    CONNECTSTATUS    REASON
+
+At this point create/preprovision and enable an olt device and add flows
+via onos and ofagent.
+
+Physical OLT/ONU Testing with Passing Traffic
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Start a physical OLT and ONU. Tested with Edgecore OLT, Broadcom based
+ONU, and RG capable of EAPoL. Create/Preprovision the OLT and enable.
+The create command returns the device ID needed for enable and
+subsequent commands.
+
+**Add device to VOLTHA**
+
+.. code:: sh
+
+   $ voltctl device create -t openolt -H 10.64.1.206:9191
+   db87c4b48843bb99567d3d94
+
+   $ voltctl device enable db87c4b48843bb99567d3d94
+   db87c4b48843bb99567d3d94
+
+**Verify device state**
+
+.. code:: sh
+
+   $ voltctl device list
+   ID                          TYPE                 ROOT     PARENTID                    SERIALNUMBER    ADDRESS             ADMINSTATE    OPERSTATUS    CONNECTSTATUS    REASON
+   db87c4b48843bb99567d3d94    openolt              true     a82bb53678ae                EC1721000221    10.64.1.206:9191    ENABLED       ACTIVE        REACHABLE
+   082d7c2e628325ccc3336275    brcm_openomci_onu    false    db87c4b48843bb99567d3d94    ALPHe3d1cf57    unknown             ENABLED       ACTIVE        REACHABLE        omci-flows-pushed
+
+.. code:: sh
+
+   $ voltctl device port list db87c4b48843bb99567d3d94
+   PORTNO       LABEL            TYPE            ADMINSTATE    OPERSTATUS    DEVICEID    PEERS
+   1048576      nni-1048576      ETHERNET_NNI    ENABLED       ACTIVE                    []
+   536870912    pon-536870912    PON_OLT         ENABLED       ACTIVE                    [{082d7c2e628325ccc3336275 536870912}]
+   536870913    pon-536870913    PON_OLT         ENABLED       ACTIVE                    []
+   536870914    pon-536870914    PON_OLT         ENABLED       ACTIVE                    []
+   536870915    pon-536870915    PON_OLT         ENABLED       ACTIVE                    []
+   536870916    pon-536870916    PON_OLT         ENABLED       ACTIVE                    []
+   536870917    pon-536870917    PON_OLT         ENABLED       ACTIVE                    []
+   536870918    pon-536870918    PON_OLT         ENABLED       ACTIVE                    []
+   536870919    pon-536870919    PON_OLT         ENABLED       ACTIVE                    []
+   536870920    pon-536870920    PON_OLT         ENABLED       ACTIVE                    []
+   536870921    pon-536870921    PON_OLT         ENABLED       ACTIVE                    []
+   536870922    pon-536870922    PON_OLT         ENABLED       ACTIVE                    []
+   536870923    pon-536870923    PON_OLT         ENABLED       ACTIVE                    []
+   536870924    pon-536870924    PON_OLT         ENABLED       ACTIVE                    []
+   536870925    pon-536870925    PON_OLT         ENABLED       ACTIVE                    []
+   536870926    pon-536870926    PON_OLT         ENABLED       ACTIVE                    []
+   536870927    pon-536870927    PON_OLT         ENABLED       ACTIVE                    []
+
+.. code:: sh
+
+   $ voltctl device port list 082d7c2e628325ccc3336275
+   PORTNO       LABEL       TYPE            ADMINSTATE    OPERSTATUS    DEVICEID    PEERS
+   16           uni-16      ETHERNET_UNI    ENABLED       ACTIVE                    []
+   17           uni-17      ETHERNET_UNI    ENABLED       DISCOVERED                []
+   18           uni-18      ETHERNET_UNI    ENABLED       DISCOVERED                []
+   19           uni-19      ETHERNET_UNI    ENABLED       DISCOVERED                []
+   20           uni-20      ETHERNET_UNI    ENABLED       DISCOVERED                []
+   536870912    PON port    PON_ONU         ENABLED       ACTIVE                    [{db87c4b48843bb99567d3d94 536870912}]
+
+Verify ONOS device state and eventual EAPoL authentication. ONOS default
+Username is ``karaf``, Password is ``karaf``
+
+.. code:: sh
+
+   ssh -p 8101 karaf@localhost
+
+Display the device and ports discovered
+
+.. code:: sh
+
+   karaf@root > ports
+
+   id=of:0000a82bb53678ae, available=true, local-status=connected 4m27s ago, role=MASTER, type=SWITCH, mfr=VOLTHA Project, hw=open_pon, sw=open_pon, serial=EC1721000221, chassis=a82bb53678ae, driver=voltha, channelId=172.27.0.1:59124, managementAddress=172.27.0.1, protocol=OF_13
+     port=16, state=enabled, type=fiber, speed=0 , adminState=enabled, portMac=08:00:00:00:00:10, portName=ALPHe3d1cf57-1
+     port=17, state=disabled, type=fiber, speed=0 , adminState=enabled, portMac=08:00:00:00:00:11, portName=ALPHe3d1cf57-2
+     port=18, state=disabled, type=fiber, speed=0 , adminState=enabled, portMac=08:00:00:00:00:12, portName=ALPHe3d1cf57-3
+     port=19, state=disabled, type=fiber, speed=0 , adminState=enabled, portMac=08:00:00:00:00:13, portName=ALPHe3d1cf57-4
+     port=20, state=disabled, type=fiber, speed=0 , adminState=enabled, portMac=08:00:00:00:00:14, portName=ALPHe3d1cf57-5
+     port=1048576, state=enabled, type=fiber, speed=0 , adminState=enabled, portMac=a8:2b:b5:36:78:ae, portName=nni-1048576
+
+EAPoL may take up to 30 seconds to complete.
+
+.. code:: sh
+
+   karaf@root > aaa-users
+
+   of:0000a82bb53678ae/16: AUTHORIZED_STATE, last-changed=4m22s ago, mac=94:CC:B9:DA:AB:D1, subid=PON 1/1/3/1:2.1.1, username=94:CC:B9:DA:AB:D1
+
+**Provision subscriber flows**
+
+.. code:: sh
+
+   karaf@root > volt-add-subscriber-access of:0000a82bb53678ae 16
+
+   karaf@root > volt-programmed-subscribers
+
+   location=of:0000a82bb53678ae/16 tagInformation=UniTagInformation{uniTagMatch=0, ponCTag=20, ponSTag=11, usPonCTagPriority=-1, usPonSTagPriority=-1, dsPonCTagPriority=-1, dsPonSTagPriority=-1, technologyProfileId=64, enableMacLearning=false, upstreamBandwidthProfile='Default', downstreamBandwidthProfile='Default', serviceName='', configuredMacAddress='A4:23:05:00:00:00', isDhcpRequired=true, isIgmpRequired=false}
+
+After about 30 seconds the RG should attempt DHCP which should be
+visible in onos. At this point the RG should be able to pass database
+traffic via the ONU/OLT.
+
+.. code:: sh
+
+   karaf@root > dhcpl2relay-allocations
+
+   SubscriberId=ALPHe3d1cf57-1,ConnectPoint=of:0000a82bb53678ae/16,State=DHCPREQUEST,MAC=94:CC:B9:DA:AB:D1,CircuitId=PON 1/1/3/1:2.1.1,IP Allocated=29.29.206.20,Allocation Timestamp=2020-02-17T15:34:31.572746Z
+
+BBSIM Simulated OLT/ONU Testing Control Plane Traffic
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+If you do not have physical OLT/ONU hardware you can start VOLTHA
+containers and the bbsim olt/onu hardware simulator using a different
+docker-compose yaml file. Verify containers are running as above with
+the addition of the bbsim and radius server containers.
+
+.. code:: sh
+
+   export DOCKER_HOST_IP=172.17.0.1
+   export DOCKER_TAG=latest
+
+   cd ~/source/voltha-go
+   docker-compose -f compose/system-test-bbsim.yml up -d
+
+Create/Preprovision and enable similarly to the physical OLT above,
+providing the local bbsim IP and listening port
+
+.. code:: sh
+
+   voltctl device create -t openolt -H 172.17.0.1:50060
+   ece94c86e93c6e06dd0a544b
+
+   voltctl device enable ece94c86e93c6e06dd0a544b
+   ece94c86e93c6e06dd0a544b
+
+Proceed with the verification and ONOS provisioning commands similar to
+the physical OLT described above.
