From 985da0210690b12b178c069272293be4308bcbd7 Mon Sep 17 00:00:00 2001
From: xudan <xudan16@huawei.com>
Date: Thu, 4 Jan 2018 01:46:46 -0500
Subject: Get fuel controller ip for HA test cases

The releng module 'deployment' doesn't work for fuel euphrates and master.
Use commands to get one controller ip for HA test cases.

Since the public endpoint url may be v2, reset openstack authentic file for v2

Change-Id: I3c6ec1f0890c93f75ca3c7c9801e05da329ffdae
Signed-off-by: xudan <xudan16@huawei.com>
---
 jjb/dovetail/dovetail-run.sh | 22 ++++++++++++++++++++--
 1 file changed, 20 insertions(+), 2 deletions(-)

diff --git a/jjb/dovetail/dovetail-run.sh b/jjb/dovetail/dovetail-run.sh
index 0c389e9ee..6ffcd3194 100755
--- a/jjb/dovetail/dovetail-run.sh
+++ b/jjb/dovetail/dovetail-run.sh
@@ -24,6 +24,8 @@ mkdir -p ${DOVETAIL_HOME}
 DOVETAIL_CONFIG=${DOVETAIL_HOME}/pre_config
 mkdir -p ${DOVETAIL_CONFIG}
 
+ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
+
 sshkey=""
 # The path of openrc.sh is defined in fetch_os_creds.sh
 OPENRC=${DOVETAIL_CONFIG}/env_config.sh
@@ -99,6 +101,19 @@ nodes:
 EOF
 fi
 
+if [[ ! "${SUT_BRANCH}" =~ "danube" && ${INSTALLER_TYPE} == 'fuel' && ${DEPLOY_TYPE} == 'baremetal' ]]; then
+    fuel_ctl_ssh_options="${ssh_options} -i ${SSH_KEY}"
+    ssh_user="ubuntu"
+    fuel_ctl_ip=$(ssh 2>/dev/null ${fuel_ctl_ssh_options} "${ssh_user}@${INSTALLER_IP}" \
+            "sudo salt --out yaml 'ctl*' pillar.get _param:openstack_control_address | \
+                awk '{print \$2; exit}'") &> /dev/null
+    cat << EOF >${DOVETAIL_CONFIG}/pod.yaml
+nodes:
+- {ip: ${fuel_ctl_ip}, name: node1, key_filename: /root/.ssh/id_rsa, role: controller, user: ${ssh_user}}
+
+EOF
+fi
+
 if [[ ! -f ${DOVETAIL_CONFIG}/pod.yaml ]]; then
     set +e
 
@@ -142,8 +157,6 @@ else
     echo "HA test cases may not run properly."
 fi
 
-ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
-
 if [ "$INSTALLER_TYPE" == "fuel" ]; then
     if [[ "${SUT_BRANCH}" =~ "danube" ]]; then
         echo "Fetching id_rsa file from jump_server $INSTALLER_IP..."
@@ -223,6 +236,11 @@ if [[ ! "${SUT_BRANCH}" =~ "danube" && ${INSTALLER_TYPE} == 'fuel' && ${DEPLOY_T
     public_url=$(sudo docker exec "$container_id" /bin/bash -c "${source_cmd} && ${get_public_url_cmd}")
     sed -i 's#OS_AUTH_URL=.*#OS_AUTH_URL='"${public_url}"'#g' ${OPENRC}
     sed -i 's/internal/public/g' ${OPENRC}
+    if [[ ${public_url} =~ 'v2' ]]; then
+        sed -i "s/OS_IDENTITY_API_VERSION=3/OS_IDENTITY_API_VERSION=2.0/g" ${OPENRC}
+        sed -i '/OS_PROJECT_DOMAIN_NAME/d' ${OPENRC}
+        sed -i '/OS_USER_DOMAIN_NAME/d' ${OPENRC}
+    fi
     cat ${OPENRC}
 fi
 
-- 
cgit