Merge "Add OpenStack Ocata runs for netvirt"
[releng/builder.git] / jjb / integration / include-raw-integration-deploy-openstack-run-test.sh
index f26188442a89ed599dd707fe92c7f028626a76ad..a3a38778e844138469ffce1eb164b7aa7282c312 100644 (file)
@@ -170,8 +170,6 @@ service_plugins = networking_odl.l3.l3_odl.OpenDaylightL3RouterPlugin
 EOF
 fi #check for ENABLE_NETWORKING_L2GW
 
-fi #check for ODL_ML2_BRANCH
-
 fi #ODL_ENABLE_L3_FWD check
 
 cat >> ${local_conf_file_name} << EOF
@@ -180,8 +178,8 @@ cat >> ${local_conf_file_name} << EOF
 minimize_polling=True
 
 [ml2]
-# Needed for VLAN provider tests - because our provider networks are always encapsulated in VXLAN (br-phys1)
-# MTU(1440) + VXLAN(50) + VLAN(4) = 1494 < MTU eth0/br-phys1(1500)
+# Needed for VLAN provider tests - because our provider networks are always encapsulated in VXLAN (br-physnet1)
+# MTU(1440) + VXLAN(50) + VLAN(4) = 1494 < MTU eth0/br-physnet1(1500)
 physical_network_mtus = ${PUBLIC_PHYSICAL_NETWORK}:1440
 path_mtu = 1490
 
@@ -372,6 +370,9 @@ set +e  # We do not want to create red dot just because something went wrong whi
 for i in `seq 1 ${NUM_ODL_SYSTEM}`
 do
     CONTROLLERIP=ODL_SYSTEM_${i}_IP
+    echo "Lets's take the karaf thread dump again..."
+    KARAF_PID=$(ssh ${!CONTROLLERIP} "ps aux | grep ${KARAF_ARTIFACT} | grep -v grep | tr -s ' ' | cut -f2 -d' '")
+    ssh ${!CONTROLLERIP} "jstack $KARAF_PID"> ${WORKSPACE}/karaf_${i}_threads_after.log || true
     echo "killing karaf process..."
     ${SSH} "${!CONTROLLERIP}" bash -c 'ps axf | grep karaf | grep -v grep | awk '"'"'{print "kill -9 " $1}'"'"' | sh'
 done
@@ -391,6 +392,8 @@ do
     ${SSH} "${!CONTROLLERIP}"  "cp -r /tmp/${BUNDLEFOLDER}/data/log /tmp/odl_log"
     ${SSH} "${!CONTROLLERIP}"  "tar -cf /tmp/odl${i}_karaf.log.tar /tmp/odl_log/*"
     scp "${!CONTROLLERIP}:/tmp/odl${i}_karaf.log.tar" "${WORKSPACE}/odl${i}_karaf.log.tar"
+    ${SSH} "${!CONTROLLERIP}"  "tar -cf /tmp/odl${i}_zrpcd.log.tar /tmp/zrpcd.init.log"
+    scp "${!CONTROLLERIP}:/tmp/odl${i}_zrpcd.log.tar" "${WORKSPACE}/odl${i}_zrpcd.log.tar"
     tar -xvf ${WORKSPACE}/odl${i}_karaf.log.tar -C . --strip-components 2 --transform s/karaf/odl${i}_karaf/g
     grep "ROBOT MESSAGE\| ERROR " odl${i}_karaf.log > odl${i}_err.log
     grep "ROBOT MESSAGE\|Exception" odl${i}_karaf.log > odl${i}_exception.log
@@ -483,6 +486,13 @@ cd devstack
 git checkout $OPENSTACK_BRANCH
 EOF
 
+cat > "${WORKSPACE}/setup_host_cell_mapping.sh" << EOF
+sudo nova-manage cell_v2 map_cell0
+sudo nova-manage cell_v2 simple_cell_setup
+sudo nova-manage db sync
+sudo nova-manage cell_v2 discover_hosts
+EOF
+
 [ "$NUM_OPENSTACK_SITES" ] || NUM_OPENSTACK_SITES=1
 compute_index=1
 odl_index=1
@@ -636,6 +646,14 @@ do
         exit 1
     fi
 
+    # For Ocata, if we do not enable the n-cpu in control node
+    # We need to discover hosts manually and ensure that they are mapped to cells.
+    # reference: https://ask.openstack.org/en/question/102256/how-to-configure-placement-service-for-compute-node-on-ocata/
+    if [ "${OPENSTACK_BRANCH}" == "stable/ocata" ]; then
+        scp ${WORKSPACE}/setup_host_cell_mapping.sh  ${!CONTROLIP}:/tmp
+        ${SSH} ${!CONTROLIP} "sudo bash /tmp/setup_host_cell_mapping.sh"
+    fi
+
     # upgrading pip, urllib3 and httplib2 so that tempest tests can be run on openstack control node
     # this needs to happen after devstack runs because it seems devstack is pulling in specific versions
     # of these libs that are not working for tempest.
@@ -707,31 +725,23 @@ do
     EXTNET_VLAN_ID=167
     EXTNET_INTERNET_IP="10.9.9.9"
     EXTNET_PNF_IP="10.10.10.253"
-    if [[ ${CONTROLLERFEATURES} == *"odl-ovsdb-openstack"* ]]; then
-        ${SSH} ${!CONTROLIP} "sudo ifconfig ${PUBLIC_BRIDGE} up ${EXTNET_GATEWAY_IP}/24"
-    else
-        ${SSH} ${!CONTROLIP} "sudo ip link add link ${PUBLIC_BRIDGE} name ${PUBLIC_BRIDGE}.${EXTNET_VLAN_ID} type vlan id ${EXTNET_VLAN_ID}"
-        ${SSH} ${!CONTROLIP} "sudo ifconfig ${PUBLIC_BRIDGE} up"
-        ${SSH} ${!CONTROLIP} "sudo ifconfig ${PUBLIC_BRIDGE}.${EXTNET_VLAN_ID} up ${EXTNET_GATEWAY_IP}/24"
-
-        # Control Node - external net PNF simulation
-        ${SSH} ${!CONTROLIP} "
-            sudo ip netns add pnf_ns;
-            sudo ip link add pnf_veth0 type veth peer name pnf_veth1;
-            sudo ip link set pnf_veth1 netns pnf_ns;
-            sudo ip link set pnf_veth0 up;
-            sudo ip netns exec pnf_ns ifconfig pnf_veth1 up;
-            sudo ip netns exec pnf_ns ip link add link pnf_veth1 name pnf_veth1.${EXTNET_VLAN_ID} type vlan id ${EXTNET_VLAN_ID};
-            sudo ip netns exec pnf_ns ifconfig pnf_veth1.${EXTNET_VLAN_ID} up ${EXTNET_PNF_IP}/24;
-            sudo ovs-vsctl add-port ${PUBLIC_BRIDGE} pnf_veth0;
-        "
-
-        # Control Node - external net internet address simulation
-        ${SSH} ${!CONTROLIP} "
-            sudo ip tuntap add dev internet_tap mode tap;
-            sudo ifconfig internet_tap up ${EXTNET_INTERNET_IP}/24;
-        "
-    fi
+    ${SSH} ${!CONTROLIP} "sudo ifconfig ${PUBLIC_BRIDGE} up ${EXTNET_GATEWAY_IP}/24"
+
+    # Control Node - external net PNF simulation
+    ${SSH} ${!CONTROLIP} "
+        sudo ip netns add pnf_ns;
+        sudo ip link add pnf_veth0 type veth peer name pnf_veth1;
+        sudo ip link set pnf_veth1 netns pnf_ns;
+        sudo ip link set pnf_veth0 up;
+        sudo ip netns exec pnf_ns ifconfig pnf_veth1 up ${EXTNET_PNF_IP}/24;
+        sudo ovs-vsctl add-port ${PUBLIC_BRIDGE} pnf_veth0;
+    "
+
+    # Control Node - external net internet address simulation
+    ${SSH} ${!CONTROLIP} "
+        sudo ip tuntap add dev internet_tap mode tap;
+        sudo ifconfig internet_tap up ${EXTNET_INTERNET_IP}/24;
+    "
 
     # Computes
     compute_index=1