UK Topology

Change-Id: I64ae0ad2b3875f06db3f4650e1899698b20bf058
diff --git a/tools/test/cells/simon-uk b/tools/test/cells/simon-uk
index c3c6cc9..ff82928 100644
--- a/tools/test/cells/simon-uk
+++ b/tools/test/cells/simon-uk
@@ -9,12 +9,8 @@
 ###  sudo route -n add 10.0.3.0/24 192.168.56.102
 ###
 
-## Use this command on VM to see IP addresses of instances:
-##   sudo lxc-ls --fancy
-
-export ONOS_USE_SSH=true
-export ONOS_NIC="10.0.3.*"
-
+## ONOS Cluster VM (has LXC containers for cluster nodes)
+export OCVM=192.168.56.102
 
 #============================================
 # sdn@ubuntuvm:~$ sudo lxc-ls --fancy
@@ -24,12 +20,13 @@
 #============================================
 
 
+export ONOS_USE_SSH=true
+export ONOS_NIC="10.0.3.*"
+
 ## ONOS instances (LXC containers)
 export OC1=10.0.3.174
-# TODO: clone OC1
-#export OC2=10.0.3.78
-#export OC3=10.0.3.195
-#export OC4=10.0.3.126
+export OC2=10.0.3.242
+export OC3=10.0.3.49
 
 ## default ONOS instance
 export OCI=$OC1
diff --git a/tools/test/scenarios/net-setup-uk.xml b/tools/test/scenarios/net-setup-uk.xml
new file mode 100644
index 0000000..23e2aec
--- /dev/null
+++ b/tools/test/scenarios/net-setup-uk.xml
@@ -0,0 +1,48 @@
+<!--
+  ~  Copyright 2016 Open Networking Laboratory
+  ~
+  ~  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.
+  -->
+<scenario name="net-setup-uk" description="Network setup steps">
+    <!-- TODO: parametrize this via recipes -->
+    <!-- Customized for the UK topology -->
+    <group name="Net-Setup-UK">
+
+        <step name="Push-Topos" exec="onos-push-topos ${OCN}"/>
+
+        <step name="Stop-Mininet-If-Needed" env="~" exec="onos-mininet stop"/>
+        <step name="Wipe-Out-Data-Before" exec="onos-wipe-out" requires="^"/>
+
+        <step name="Initial-Summary-Check" requires="~Wipe-Out-Data-Before"
+              exec="onos-check-summary ${OC1} [0-9]* 0 0 0"/>
+
+        <step name="Config-Topo" requires="~Initial-Summary-Check"
+              exec="onos-netcfg ${OC1} ${ONOS_ROOT}/tools/test/topos/uk-cfg.json"/>
+
+        <step name="Start-Mininet"
+              requires="Install-Apps,Config-Topo,Push-Topos,Stop-Mininet-If-Needed"
+              exec="onos-mininet start topos/topo uk-onos.py ${ONOS_INSTANCES}"/>
+
+        <step name="Wait-For-Mininet" requires="Start-Mininet"
+              exec="onos-mininet wait 10"/>
+
+        <step name="Check-Summary" requires="~Wait-For-Mininet"
+              exec="onos-check-summary ${OC1} [0-9]* 12 46 12"/>
+
+        <step name="Balance-Masters" requires="~Check-Summary" if="${OC2}"
+              exec="onos ${OC1} balance-masters"/>
+
+        <step name="Check-Flows" requires="~Balance-Masters,~Check-Summary" delay="5"
+              exec="onos-check-flows ${OC1}"/>
+    </group>
+</scenario>
diff --git a/tools/test/topos/uk-onos.py b/tools/test/topos/uk-onos.py
new file mode 100644
index 0000000..2426b4f
--- /dev/null
+++ b/tools/test/topos/uk-onos.py
@@ -0,0 +1,6 @@
+#!/usr/bin/python
+
+from onosnet import run
+from uk import UkTopo
+
+run( UkTopo() )