Apex,Functest: Updates env detection 49/28649/3
authorTim Rozet <trozet@redhat.com>
Tue, 14 Feb 2017 19:55:26 +0000 (14:55 -0500)
committerTim Rozet <trozet@redhat.com>
Wed, 15 Feb 2017 14:17:20 +0000 (09:17 -0500)
If Apex installer VM doesn't exist (such as in snapshot deployments) and
the credentials file is already provided, then can continue functest.
This patch adds that functionality and removes detection for the
"instack" installer VM which is deprecated.

Change-Id: I4267aebbcf0582529f38d451a7e8ba30f71c132a
Signed-off-by: Tim Rozet <trozet@redhat.com>
jjb/functest/set-functest-env.sh

index abec480..05e3d57 100755 (executable)
@@ -17,32 +17,34 @@ if [[ ${RC_FILE_PATH} != '' ]] && [[ -f ${RC_FILE_PATH} ]] ; then
     echo "Credentials file detected: ${RC_FILE_PATH}"
     # volume if credentials file path is given to Functest
     rc_file_vol="-v ${RC_FILE_PATH}:/home/opnfv/functest/conf/openstack.creds"
+    RC_FLAG=1
 fi
 
 
 if [[ ${INSTALLER_TYPE} == 'apex' ]]; then
     ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
-    if sudo virsh list | grep instack; then
-        instack_mac=$(sudo virsh domiflist instack | grep default | \
-                      grep -Eo "[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+")
-    elif sudo virsh list | grep undercloud; then
-        instack_mac=$(sudo virsh domiflist undercloud | grep default | \
+    if sudo virsh list | grep undercloud; then
+        echo "Installer VM detected"
+        undercloud_mac=$(sudo virsh domiflist undercloud | grep default | \
                       grep -Eo "[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+")
+        INSTALLER_IP=$(/usr/sbin/arp -e | grep ${undercloud_mac} | awk {'print $1'})
+        sshkey_vol="-v /root/.ssh/id_rsa:/root/.ssh/id_rsa"
+        sudo scp $ssh_options root@${INSTALLER_IP}:/home/stack/stackrc ${HOME}/stackrc
+        stackrc_vol="-v ${HOME}/stackrc:/home/opnfv/functest/conf/stackrc"
+
+        if sudo iptables -C FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable 2> ${redirect}; then
+            sudo iptables -D FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable
+        fi
+        if sudo iptables -C FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable 2> ${redirect}; then
+          sudo iptables -D FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable
+        fi
+    elif [[ "$RC_FLAG" == 1 ]]; then
+        echo "No available installer VM, but credentials provided...continuing"
     else
-        echo "No available installer VM exists...exiting"
+        echo "No available installer VM exists and no credentials provided...exiting"
         exit 1
     fi
-    INSTALLER_IP=$(/usr/sbin/arp -e | grep ${instack_mac} | awk {'print $1'})
-    sshkey_vol="-v /root/.ssh/id_rsa:/root/.ssh/id_rsa"
-    sudo scp $ssh_options root@${INSTALLER_IP}:/home/stack/stackrc ${HOME}/stackrc
-    stackrc_vol="-v ${HOME}/stackrc:/home/opnfv/functest/conf/stackrc"
 
-    if sudo iptables -C FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable 2> ${redirect}; then
-        sudo iptables -D FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable
-    fi
-    if sudo iptables -C FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable 2> ${redirect}; then
-        sudo iptables -D FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable
-    fi
 fi