Functest: fixes fetching os creds 43/35243/4
authorTim Rozet <trozet@redhat.com>
Tue, 23 May 2017 20:46:47 +0000 (16:46 -0400)
committerTim Rozet <trozet@redhat.com>
Tue, 23 May 2017 21:12:04 +0000 (17:12 -0400)
Since jenkins just imports the bash script at upload time, referencing
another script in the releng repo inside of bash doesn't work.  We need
to split them out into their own builder includes.

Change-Id: Id120a338ae5ec48eaa285681463bff01677bf316
Signed-off-by: Tim Rozet <trozet@redhat.com>
jjb/functest/functest-daily-jobs.yml
jjb/functest/functest-env-presetup.sh [new file with mode: 0755]
jjb/functest/functest-weekly-jobs.yml
jjb/functest/set-functest-env.sh

index b180f59..e7a4871 100644 (file)
     name: set-functest-env
     builders:
         - shell:
-            !include-raw: ./set-functest-env.sh
+            !include-raw:
+                - ./functest-env-presetup.sh
+                - ../../utils/fetch_os_creds.sh
+                - ./set-functest-env.sh
 
 - builder:
     name: functest-store-results
diff --git a/jjb/functest/functest-env-presetup.sh b/jjb/functest/functest-env-presetup.sh
new file mode 100755 (executable)
index 0000000..7a9b09d
--- /dev/null
@@ -0,0 +1,31 @@
+#!/usr/bin/env bash
+set -o errexit
+set -o nounset
+set -o pipefail
+
+# Fetch INSTALLER_IP for APEX deployments
+if [[ ${INSTALLER_TYPE} == 'apex' ]]; then
+    echo "Gathering IP information for Apex installer VM"
+    ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
+    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]+")
+        export INSTALLER_IP=$(/usr/sbin/arp -e | grep ${undercloud_mac} | awk {'print $1'})
+        export sshkey_vol="-v /root/.ssh/id_rsa:/root/.ssh/id_rsa"
+        sudo scp $ssh_options root@${INSTALLER_IP}:/home/stack/stackrc ${HOME}/stackrc
+        export 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
+        echo "Installer ip is ${INSTALLER_IP}"
+    else
+        echo "No available installer VM exists and no credentials provided...exiting"
+        exit 1
+    fi
+fi
+
index f44f7b8..59d24cc 100644 (file)
         - shell:
             !include-raw: ./functest-cleanup.sh
         - shell:
-            !include-raw: ./set-functest-env.sh
+            !include-raw:
+                - ./functest-env-presetup.sh
+                - ../../utils/fetch_os_creds.sh
+                - ./set-functest-env.sh
         - shell:
             !include-raw: ./functest-loop.sh
         - shell:
index 155281e..be596cc 100755 (executable)
@@ -3,41 +3,11 @@
 set -e
 [[ $CI_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null"
 
-# Fetch INSTALLER_IP for APEX deployments
-if [[ ${INSTALLER_TYPE} == 'apex' ]]; then
-    ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
-    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
-    else
-        echo "No available installer VM exists and no credentials provided...exiting"
-        exit 1
-    fi
-fi
-
-
 # Prepare OpenStack credentials volume
 if [[ ${INSTALLER_TYPE} == 'joid' ]]; then
     rc_file_vol="-v $LAB_CONFIG/admin-openrc:/home/opnfv/functest/conf/openstack.creds"
 else
-    ../../utils/fetch_os_creds.sh -d ${HOME}/rc_file -i ${INSTALLER_TYPE} -a ${INSTALLER_IP}
-    if [ $? -ne 0 ]; then
-        echo "Failed to fetch the credentials from the installer..."
-        exit 1
-    fi
-    rc_file_vol="-v ${HOME}/rc_file:/home/opnfv/functest/conf/openstack.creds"
+    rc_file_vol="-v ${HOME}/opnfv-openrc.sh:/home/opnfv/functest/conf/openstack.creds"
 fi