JOID-46 Add script to create the external network and update the gw_mac 17/7517/1
authorzhangyuanyou <zhangyuanyou@huawei.com>
Sat, 16 Jan 2016 07:42:35 +0000 (15:42 +0800)
committerNarinder Gupta <narinder.gupta@canonical.com>
Wed, 20 Jan 2016 23:42:31 +0000 (23:42 +0000)
for the L3.

Change-Id: Ied508858ebeae1f76b585c07ed5d175cbcb5eead
(cherry picked from commit 4997494d40390cb130868163c994fac9d8967f1c)

ci/01-deploybundle.sh
ci/onos/01-deploybundle.sh
ci/onos/juju_test_prepare.sh [new file with mode: 0644]

index 27611fe..455aef9 100755 (executable)
@@ -76,3 +76,10 @@ case "$1" in
         ;;
 esac
 
+case "$4" in
+    'onos' )
+         echo "... onos prepare test ..."
+         sleep 180s
+         sh onos/juju_test_prepare.sh "$3"
+        ;;
+esac
index 85a5ff9..60935ad 100644 (file)
@@ -4,18 +4,18 @@ set -ex
 
 case "$1" in
     'nonha' )
-        cp onos/juju-deployer/onos.yaml ./bundles.yaml
+        cp onos/juju-deployer/ovs-onos-nonha.yaml ./bundles.yaml
         ;;
     'ha' )
-        cp onos/juju-deployer/onos-ha.yaml ./bundles.yaml
+        cp onos/juju-deployer/ovs-onos-ha.yaml ./bundles.yaml
         ;;
     'tip' )
-        cp onos/juju-deployer/onos-tip.yaml ./bundles.yaml
+        cp onos/juju-deployer/ovs-onos-tip.yaml ./bundles.yaml
         cp common/source/* ./
         sed -i -- "s|branch: master|branch: stable/$2|g" ./*.yaml
         ;;
     * )
-        cp onos/juju-deployer/onos.yaml ./bundles.yaml
+        cp onos/juju-deployer/ovs-onos-nonha.yaml ./bundles.yaml
         ;;
 esac
 
@@ -76,3 +76,6 @@ case "$1" in
         ;;
 esac
 
+echo "... onos prepare test ..."
+    sleep 180s
+    sh onos/juju_test_prepare.sh "$3"
\ No newline at end of file
diff --git a/ci/onos/juju_test_prepare.sh b/ci/onos/juju_test_prepare.sh
new file mode 100644 (file)
index 0000000..60b51a7
--- /dev/null
@@ -0,0 +1,84 @@
+#!/bin/bash
+
+# launch eth on computer nodes and remove default gw route
+# Update gateway mac to onos for l3 function
+
+# author: York(Yuanyou)
+# set the gateway ip and cidr and compute-node eth name.
+case "$1" in
+    'orangepod2' )
+       GW_IP=192.168.22.1
+       CIDR=192.168.22.0/24
+       COMPUTE_ETH=eth1
+        ;;
+     'intelpod6' )
+       GW_IP=10.2.66.1
+       CIDR=10.2.66.0/24
+       COMPUTE_ETH=eth2
+        ;;
+     'intelpod5' )
+       GW_IP=10.2.65.1
+       CIDR=10.2.65.0/24
+       COMPUTE_ETH=eth2.724
+        ;;
+     'attvirpod1' )
+       GW_IP=10.10.15.1
+       CIDR=10.10.15.0/24
+       COMPUTE_ETH=eth1
+        ;;
+     'default' )
+       GW_IP=192.168.122.1
+       CIDR=192.168.122.0/24
+       COMPUTE_ETH=eth1
+        ;;
+     * )
+       GW_IP=192.168.122.1
+       CIDR=192.168.122.0/24
+       COMPUTE_ETH=eth1
+        ;;
+esac
+
+# launch eth on computer nodes and remove default gw route
+launch_eth() {
+  computer_list=$(juju status --format short | grep -Eo 'nodes-compute/[0-9]')
+  for node in $computer_list; do
+    echo "node name is ${node}"
+    juju ssh $node "sudo ifconfig $COMPUTE_ETH up"
+    juju ssh $node "sudo route del default gw $GW_IP"
+  done
+}
+
+# create external network and subnet in openstack
+create_ext_network() {
+  keystoneIp=$(juju status --format short | grep keystone/0 | grep -v ha | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}')
+  configOpenrc admin openstack admin http://$keystoneIp:5000/v2.0 Canonical
+  juju scp ./admin-openrc nova-cloud-controller/0:
+  juju ssh nova-cloud-controller/0 "source admin-openrc;neutron net-create ext-net --shared --router:external=True;neutron subnet-create ext-net --name ext-subnet $CIDR"
+}
+
+configOpenrc()
+{
+    echo  "  " > ./admin-openrc
+    echo  "export OS_USERNAME=$1" >> ./admin-openrc
+    echo  "export OS_PASSWORD=$2" >> ./admin-openrc
+    echo  "export OS_TENANT_NAME=$3" >> ./admin-openrc
+    echo  "export OS_AUTH_URL=$4" >> ./admin-openrc
+    echo  "export OS_REGION_NAME=$5" >> ./admin-openrc
+ }
+
+# Update gateway mac to onos for l3 function
+update_gw_mac() {
+  ## get gateway mac
+  GW_MAC=$(juju ssh nova-compute/0 "arp -a ${GW_IP} | grep -Eo '([0-9a-fA-F]{2})(([/\s:-][0-9a-fA-F]{2}){5})'")
+  ## set external gateway mac in onos
+  juju set onos-controller gateway-mac=$GW_MAC
+
+}
+
+main() {
+  launch_eth
+  create_ext_network
+  update_gw_mac
+}
+
+main "$@"