summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Rozet <trozet@redhat.com>2018-06-26 16:58:28 -0400
committerTim Rozet <trozet@redhat.com>2018-06-27 09:14:09 -0400
commitbef419de784f2684a431598e6566f2b81d01cb8e (patch)
treef8c3731fcd692250df6917c16c0162c4c0905099
parent0f9c8ced437af4cae8b25387142bec5d42fab138 (diff)
Functest: Restores ability to run with pre-defined creds
This patch is needed for the case where there are provided OS credentials to functest, and there is no need to find the installer VM and copy the credentials to the host. In the Apex snapshot case, there is no installer VM on the slave, so we must provide the credentials file. Also includes a fix to use tempest_smoke_serial for the snapshot netvirt verification until CSIT suite is working correctly. Change-Id: Ic84955f527e3f84bb0d8579a377b4a1883fe3eb2 Signed-off-by: Tim Rozet <trozet@redhat.com>
-rw-r--r--.gitignore1
-rw-r--r--jjb/3rd_party_ci/odl-netvirt.yaml2
-rwxr-xr-xjjb/functest/functest-env-presetup.sh42
-rwxr-xr-xutils/fetch_os_creds.sh44
4 files changed, 49 insertions, 40 deletions
diff --git a/.gitignore b/.gitignore
index 7790d4615..9ee8c53da 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,6 @@
*~
.*.sw?
+*.swp
/docs_build/
/docs_output/
/releng/
diff --git a/jjb/3rd_party_ci/odl-netvirt.yaml b/jjb/3rd_party_ci/odl-netvirt.yaml
index c077fce2c..3a46e798e 100644
--- a/jjb/3rd_party_ci/odl-netvirt.yaml
+++ b/jjb/3rd_party_ci/odl-netvirt.yaml
@@ -148,7 +148,7 @@
predefined-parameters: |
DEPLOY_SCENARIO=os-odl-nofeature-ha
FUNCTEST_MODE=testcase
- FUNCTEST_SUITE_NAME=odl_netvirt
+ FUNCTEST_SUITE_NAME=tempest_smoke_serial
RC_FILE_PATH=$HOME/cloner-info/overcloudrc
node-parameters: true
kill-phase-on: FAILURE
diff --git a/jjb/functest/functest-env-presetup.sh b/jjb/functest/functest-env-presetup.sh
index 323b325b4..81718a5e3 100755
--- a/jjb/functest/functest-env-presetup.sh
+++ b/jjb/functest/functest-env-presetup.sh
@@ -5,27 +5,31 @@ 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 | \
+ if [ -n "$RC_FILE_PATH" ]; then
+ echo "RC_FILE_PATH is set: ${RC_FILE_PATH}...skipping detecting UC IP"
+ else
+ 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
+ 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
- echo "Installer ip is ${INSTALLER_IP}"
- else
- echo "No available installer VM exists and no credentials provided...exiting"
- exit 1
fi
elif [[ ${INSTALLER_TYPE} == 'daisy' ]]; then
diff --git a/utils/fetch_os_creds.sh b/utils/fetch_os_creds.sh
index b40b75b75..0e041c631 100755
--- a/utils/fetch_os_creds.sh
+++ b/utils/fetch_os_creds.sh
@@ -149,29 +149,33 @@ if [ "$installer_type" == "fuel" ]; then
echo $auth_url >> $dest_path
elif [ "$installer_type" == "apex" ]; then
- if ! ipcalc -c $installer_ip; then
- installer_ip=$(sudo virsh domifaddr undercloud | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}')
- if [ -z "$installer_ip" ] || ! $(ipcalc -c $installer_ip); then
- echo "Unable to find valid IP for Apex undercloud: ${installer_ip}"
- exit 1
- fi
- fi
- verify_connectivity $installer_ip
+ if [ -n "$RC_FILE_PATH" ]; then
+ echo "RC_FILE_PATH is set: ${RC_FILE_PATH}. Copying RC FILE to ${dest_path}"
+ sudo cp -f ${RC_FILE_PATH} ${dest_path}
+ else
+ if ! ipcalc -c $installer_ip; then
+ installer_ip=$(sudo virsh domifaddr undercloud | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}')
+ if [ -z "$installer_ip" ] || ! $(ipcalc -c $installer_ip); then
+ echo "Unable to find valid IP for Apex undercloud: ${installer_ip}"
+ exit 1
+ fi
+ fi
+ verify_connectivity $installer_ip
- # The credentials file is located in the Instack VM (192.0.2.1)
- # NOTE: This might change for bare metal deployments
- info "... from Instack VM $installer_ip..."
- if [ -f /root/.ssh/id_rsa ]; then
- chmod 600 /root/.ssh/id_rsa
- fi
+ # The credentials file is located in the Instack VM (192.0.2.1)
+ # NOTE: This might change for bare metal deployments
+ info "... from Instack VM $installer_ip..."
+ if [ -f /root/.ssh/id_rsa ]; then
+ chmod 600 /root/.ssh/id_rsa
+ fi
- if [ "${BRANCH}" == "stable/fraser" ]; then
- rc_file=overcloudrc.v3
- else
- rc_file=overcloudrc
+ if [ "${BRANCH}" == "stable/fraser" ]; then
+ rc_file=overcloudrc.v3
+ else
+ rc_file=overcloudrc
+ fi
+ sudo scp $ssh_options root@$installer_ip:/home/stack/${rc_file} $dest_path
fi
- sudo scp $ssh_options root@$installer_ip:/home/stack/${rc_file} $dest_path
-
elif [ "$installer_type" == "compass" ]; then
if [ "${BRANCH}" == "stable/danube" ]; then
verify_connectivity $installer_ip