diff options
author | QiLiang <liangqi1@huawei.com> | 2016-12-29 19:27:30 -0800 |
---|---|---|
committer | QiLiang <liangqi1@huawei.com> | 2016-12-29 19:37:14 -0800 |
commit | ec95c66f771cc93801a3f73db30f42c184054cac (patch) | |
tree | eb38135a8be5beebf0ca85ff1c7357908d0188b4 | |
parent | ea88357b19d39c981f819a8437154433518568fd (diff) |
Fix compass public vip fetch bug in Newton
Error log:
More than one endpoint exists with the name 'identity'.
fetch_os_creds.info: public_ip:
Change-Id: Ie7c8eeec5e84de4c38a17b4e718be65f36c562a7
Signed-off-by: QiLiang <liangqi1@huawei.com>
-rwxr-xr-x | utils/fetch_os_creds.sh | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/utils/fetch_os_creds.sh b/utils/fetch_os_creds.sh index 47fbc91dc..ecc571dba 100755 --- a/utils/fetch_os_creds.sh +++ b/utils/fetch_os_creds.sh @@ -144,9 +144,17 @@ elif [ "$installer_type" == "compass" ]; then sshpass -p root scp 2>/dev/null $ssh_options root@${installer_ip}:~/admin-openrc.sh $dest_path &> /dev/null info "This file contains the mgmt keystone API, we need the public one for our rc file" - public_ip=$(sshpass -p root ssh $ssh_options root@${installer_ip} \ - "ssh ${controller_ip} 'source /opt/admin-openrc.sh; openstack endpoint show identity '" \ - | grep publicurl | awk '{print $4}') + grep "OS_AUTH_URL.*v2" $dest_path > /dev/null 2>&1 + if [ $? -eq 0 ] ; then + public_ip=$(sshpass -p root ssh $ssh_options root@${installer_ip} \ + "ssh ${controller_ip} 'source /opt/admin-openrc.sh; openstack endpoint show identity '" \ + | grep publicurl | awk '{print $4}') + else + public_ip=$(sshpass -p root ssh $ssh_options root@${installer_ip} \ + "ssh ${controller_ip} 'source /opt/admin-openrc.sh; \ + openstack endpoint list --interface public --service identity '" \ + | grep identity | awk '{print $14}') + fi info "public_ip: $public_ip" |