summaryrefslogtreecommitdiffstats
path: root/jjb/functest
diff options
context:
space:
mode:
authorTim Rozet <trozet@redhat.com>2017-05-23 16:46:47 -0400
committerTim Rozet <trozet@redhat.com>2017-05-23 17:12:04 -0400
commit69160baaeffd63bc5d1fd3eabf41e3879a8f817f (patch)
treedbb4f74f877a788528a0c85668869893606d5805 /jjb/functest
parentb91333032a4e42ecf0fe591e58068b24cf6a0c02 (diff)
Functest: fixes fetching os creds
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>
Diffstat (limited to 'jjb/functest')
-rw-r--r--jjb/functest/functest-daily-jobs.yml5
-rwxr-xr-xjjb/functest/functest-env-presetup.sh31
-rw-r--r--jjb/functest/functest-weekly-jobs.yml5
-rwxr-xr-xjjb/functest/set-functest-env.sh32
4 files changed, 40 insertions, 33 deletions
diff --git a/jjb/functest/functest-daily-jobs.yml b/jjb/functest/functest-daily-jobs.yml
index b180f591b..e7a487141 100644
--- a/jjb/functest/functest-daily-jobs.yml
+++ b/jjb/functest/functest-daily-jobs.yml
@@ -374,7 +374,10 @@
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
index 000000000..7a9b09d2c
--- /dev/null
+++ b/jjb/functest/functest-env-presetup.sh
@@ -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
+
diff --git a/jjb/functest/functest-weekly-jobs.yml b/jjb/functest/functest-weekly-jobs.yml
index f44f7b8aa..59d24cc87 100644
--- a/jjb/functest/functest-weekly-jobs.yml
+++ b/jjb/functest/functest-weekly-jobs.yml
@@ -115,7 +115,10 @@
- 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:
diff --git a/jjb/functest/set-functest-env.sh b/jjb/functest/set-functest-env.sh
index 155281ea4..be596cc2d 100755
--- a/jjb/functest/set-functest-env.sh
+++ b/jjb/functest/set-functest-env.sh
@@ -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