Basic CI integration for building Gluon packages
[releng.git] / utils / fetch_os_creds.sh
index 88e964b..47fbc91 100755 (executable)
@@ -80,9 +80,16 @@ if [ "$installer_type" == "fuel" ]; then
     #ip_fuel="10.20.0.2"
     verify_connectivity $installer_ip
 
+    env=$(sshpass -p r00tme ssh 2>/dev/null $ssh_options root@${installer_ip} \
+        'fuel env'|grep operational|head -1|awk '{print $1}') &> /dev/null
+    if [ -z $env ]; then
+        error "No operational environment detected in Fuel"
+    fi
+    env_id="${FUEL_ENV:-$env}"
+
     # Check if controller is alive (online='True')
     controller_ip=$(sshpass -p r00tme ssh 2>/dev/null $ssh_options root@${installer_ip} \
-        'fuel node -env 1 | grep controller | grep "True\|  1" | awk -F\| "{print \$5}" | tail -1' | \
+        "fuel node --env ${env_id} | grep controller | grep 'True\|  1' | awk -F\| '{print \$5}' | head -1" | \
         sed 's/ //g') &> /dev/null
 
     if [ -z $controller_ip ]; then
@@ -135,14 +142,11 @@ elif [ "$installer_type" == "compass" ]; then
     sshpass -p root ssh 2>/dev/null $ssh_options root@${installer_ip} \
         "scp $ssh_options ${controller_ip}:/opt/admin-openrc.sh ." &> /dev/null
     sshpass -p root scp 2>/dev/null $ssh_options root@${installer_ip}:~/admin-openrc.sh $dest_path &> /dev/null
-    echo 'export OS_REGION_NAME=regionOne' >> $dest_path
 
     info "This file contains the mgmt keystone API, we need the public one for our rc file"
-    admin_ip=$(cat $dest_path | grep "OS_AUTH_URL" | sed 's/^.*\=//' | sed "s/^\([\"']\)\(.*\)\1\$/\2/g" | sed s'/\/$//')
-    info "admin_ip: $admin_ip"
     public_ip=$(sshpass -p root ssh $ssh_options root@${installer_ip} \
-        "ssh ${controller_ip} 'source /opt/admin-openrc.sh; keystone endpoint-list'" \
-        | grep $admin_ip | sed 's/ /\n/g' | grep ^http | head -1)
+        "ssh ${controller_ip} 'source /opt/admin-openrc.sh; openstack endpoint show identity '" \
+        | grep publicurl | awk '{print $4}')
     info "public_ip: $public_ip"