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>
DOVETAIL_CONFIG=${DOVETAIL_HOME}/pre_config
mkdir -p ${DOVETAIL_CONFIG}
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
sshkey=""
# The path of openrc.sh is defined in fetch_os_creds.sh
OPENRC=${DOVETAIL_CONFIG}/env_config.sh
+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
if [[ ! -f ${DOVETAIL_CONFIG}/pod.yaml ]]; then
set +e
echo "HA test cases may not run properly."
fi
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..."
if [ "$INSTALLER_TYPE" == "fuel" ]; then
if [[ "${SUT_BRANCH}" =~ "danube" ]]; then
echo "Fetching id_rsa file from jump_server $INSTALLER_IP..."
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}
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