Updating Guide with breakout and demo, movign centec before json configuration for the local

Change-Id: I50607200483dc63b762dc6529bd76ed9934c7744
diff --git a/docs/installation_guide.md b/docs/installation_guide.md
index dab486c..f635e37 100644
--- a/docs/installation_guide.md
+++ b/docs/installation_guide.md
@@ -35,7 +35,7 @@
 
 At a high level, bootstrap the development machine and download the code.
 
-### Local POD configuration file
+### Global node configuration file
 When it’s time to write your POD configuration, use the [physical-example.yml](https://github.com/opencord/cord/blob/master/podconfig/physical-example.yml) file as a template. Either modify it or make a copy of it in the same directory.
 Fill in the configuration with your own head node data.
 
@@ -174,9 +174,52 @@
     ```
 
 ## Configure the local sites
-Local sites configuration consists of two parts:
+Local sites configuration consists of four parts:
+* Ethernet Edge (Centec V350) configuration
+* **Optional** Fabric Breakout configuration
 * ONOS_Fabric configuration
 * The ONOS_CORD configuration
+
+### Configure the Ethernet Edge device (Centec v350)
+The steps below assume that
+* The Centec device to an A(Access)-leaf fabric switch
+* ONOS_CORD is running
+
+Follow the steps below to assign an IP address to the Ethernet Edge device and connect it to ONOS_CORD.
+
+#### Set a management IP address on the switch OOB interface
+The switch management interface should be set with a static IP address (DHCP not supported yet), in the same subnet of the POD internal/management network (by default 10.6.0.0/24).
+
+**NOTE**: Please, use high values for the IP last octet, since lower values are usually allocated first by the MAAS DHCP server running on the head node.
+
+To configure the static IP address, do the following:
+* Log into the CLI of the Centec switch (through SSH or console cable)
+* *configure terminal*
+* *management ip address YOUR_MGMT_ADDRESS netmask YOUR_NETMASK*
+* *end*
+* *show management ip address*
+
+### **Optional** Configure the breakout cable on the fabric switch
+If you use a fabric switch with 40G interfaces and a 4X10G breakout cable to go to the Centec Etherned Edge you need to properly configure the interface on which the breakout cable is connected.
+By default, all 32 ports are running in 1x40G mode. The */etc/accton/ofdpa.conf* needs to be modified if we want to break out 1x40G into 4x10G.
+Do the following:
+* ssh into the fabric switch (username and password are usually root/onl)
+* *vi /etc/accton/ofdpa.conf*
+* uncomment this line *port_mode_1=4x10g    # front port 1* for the prot you have the breakout cable connected to
+* save the file and exit from it. 
+* *cd ~*
+* *./killit*
+* *./connect -bg*
+
+For any more reference you can go to this particular step [Fabric configuration guide](https://wiki.opencord.org/display/CORD/Hardware+Switch+Installation+Guide#HardwareSwitchInstallationGuide-C3)
+
+### Set ONOS-CORD as the Openflow controller
+To set ONOS-CORD as the default switch OpenFlow controller and verify the configuration:
+* Log into the CLI of the Centec switch (through SSH or console cable)
+* *configure terminal*
+* *openflow set controller tcp YOUR-LOCAL-SITE-HEAD-IP 6654*
+* *end*
+* *show openflow controller status*
  
 The local site configurations explained below need to happen on the head nodes of all local sites.
 
@@ -346,34 +389,49 @@
     curl -X POST -H "content-type:application/json" http://YOUR-LOCAL-SITE-HEAD-IP:8182/onos/v1/network/configuration -d @YOUR-JSON-FILE.json --user onos:rocks
     ```
 
-**Warning** The Json above tries to congiure devices and links at the same time. It may happen that ONOS denies your request of link creation, since it does not find devices present (because their creation is still in progress). If this happens, just wait few seconds and try to push again the same configuration, using the *curl* command above.
-
-## Configure the Ethernet Edge device (Centec v350)
-The steps below assume that
-* The Centec device to an A(Access)-leaf fabric switch
-* ONOS_CORD is running
-
-Follow the steps below to assign an IP address to the Ethernet Edge device and connect it to ONOS_CORD.
-
-### Set a management IP address on the switch OOB interface
-The switch management interface should be set with a static IP address (DHCP not supported yet), in the same subnet of the POD internal/management network (by default 10.6.0.0/24).
-
-**NOTE**: Please, use high values for the IP last octet, since lower values are usually allocated first by the MAAS DHCP server running on the head node.
-
-To configure the static IP address, do the following:
-* Log into the CLI of the Centec switch (through SSH or console cable)
-* *configure terminal*
-* *management ip address YOUR_MGMT_ADDRESS netmask YOUR_NETMASK*
-* *end*
-* *show management ip address*
-
-### Set ONOS-CORD as the Openflow controller
-To set ONOS-CORD as the default switch OpenFlow controller and verify the configuration:
-* Log into the CLI of the Centec switch (through SSH or console cable)
-* *configure terminal*
-* *openflow set controller tcp YOUR-LOCAL-SITE-HEAD-IP 6654*
-* *end*
-* *show openflow controller status*
+**Warning** The JSON above tries to configure devices and links at the same time. It may happen that ONOS denies your request of link creation, since it does not find devices present (because their creation is still in progress). If this happens, just wait few seconds and try to push again the same configuration, using the *curl* command above.
 
 # Done!
 After the global node and the local sites are properly configured, the global node should maintain an abstract view of the topology and you should see UNIs distributed on the map of the XoS GUI. You can start requests to setup Ethernet Virtual Circuit (EVC) from XoS.
+
+# Demo: create an E-Line through the UI
+
+* SSH into global node
+* From */opt/credentials/xosadmin@opencord.org* copy the XOS password
+* From a computer, able to reach the global node, open a browser and go to *http://YOUR_GLOBAL_NODE_IP/xos*
+* Use the following username/password to access:
+    * Username: *xosadmin@opencord.org*
+    * Password: YOUR_PASSWORD_COPIED_AT_THE_STEP_BEFORE
+* From the left menu of the XOS UI, choose *VNaaS GUI*
+* You should see CORD symbols on the map (your UNIs / end-points)
+    * Click on one of them
+    * Choose “Create connection”
+* From the right menu
+    * Choose the bandwidth profile you prefer (i.e. “Gold”)
+    * Input a CORD Site name (i.e. test demo)
+    * Input a VLAN id (i.e. 100)
+* Click on another CORD symbol
+* Click “Finish connection”. This will populate the field “Connect point 2 ID” in the right menu
+* Click save changes on the right menu
+
+A line should appear between the two icons, meaning that a request to connect the two end-points has been saved. The line should become green in few seconds. Green lines are good signs of a working environment.
+
+## End-points communication
+You should now be able to let communicate together the two end-points connected to the CPEs. Each of the two end-points need to be configured to send-out packets tagged with the same VLAN Id(s).  
+Assuming you just configured VLAN id 100 in the UI, and that the two end-points will communicate together using the 192.168.1.0/24 subnet, on each head do the following:
+* *apt-get install vlan*
+* *sudo modprobe 8021q*
+* Activate by default at startup the vlan module
+* *sudo  sh -c 'grep -q 8021q /etc/modules || echo 8021q >> /etc/modules'*
+* *vi /etc/network/interfaces* and add an alias, VLAN tagged interface
+    ```
+	auto YOUR_INTERFACE_CONNECTED_TO_INTERNAL_NETWORK.100
+	iface YOUR_INTERFACE_CONNECTED_TO_INTERNAL_NETWORK.100 inet static
+	address 192.168.1.1 (for the first head node, or 2 for the second one)
+	netmask 255.255.255.0
+	```
+* Save
+* Bring up the interface with *sudo ifup YOUR_INTERFACE_CONNECTED_TO_THE_CPE.100*
+
+## Success, Ping!
+If everything works fine, the two hosts should be able to ping one each other.