Add Apex installer in fetch_os_credentials.sh 19/4019/4
authorjose.lausuch <jose.lausuch@ericsson.com>
Mon, 7 Dec 2015 14:43:59 +0000 (15:43 +0100)
committerjose.lausuch <jose.lausuch@ericsson.com>
Mon, 7 Dec 2015 17:30:24 +0000 (18:30 +0100)
JIRA:RELENG-61

Change-Id: I9017118a42f0794ac34ef03e6788366322ffd550
Signed-off-by: jose.lausuch <jose.lausuch@ericsson.com>
utils/fetch_os_creds.sh

index 7a5f812..93d68e8 100755 (executable)
@@ -100,30 +100,13 @@ if [ "$installer_type" == "fuel" ]; then
     #NOTE: this is super ugly sed 's/v1\/.*/v1\//'OS_AUTH_URL
     # but sometimes the output of endpoint-list is like this: http://172.30.9.70:8004/v1/%(tenant_id)s
 
-
-elif [ "$installer_type" == "foreman" ]; then
-    #ip_foreman="172.30.10.73"
-    controller="oscontroller1.opnfv.com"
+elif [ "$installer_type" == "apex" ]; then
     verify_connectivity $installer_ip
 
-    # Check if controller is alive (here is more difficult to get the ip from a command like "fuel node")
-    sshpass -p vagrant ssh $ssh_options root@${installer_ip} \
-        "sshpass -p Op3nStack ssh $ssh_options root@${controller} 'ls'" &> /dev/null
-    if [ $? -ne 0 ]; then
-        error "The controller ${controller} is not up. Please check that the POD is correctly deployed."
-    fi
-
-    info "Fetching openrc from a Foreman Controller '${controller}'..."
-    sshpass -p vagrant ssh $ssh_options root@${installer_ip} \
-        "sshpass -p Op3nStack scp $ssh_options root@${controller}:~/keystonerc_admin ." &> /dev/null
-    sshpass -p vagrant scp $ssh_options root@${installer_ip}:~/keystonerc_admin $dest_path &> /dev/null
-
-    #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'/\/$//')
-    public_ip=$(sshpass -p vagrant ssh $ssh_options root@${installer_ip} \
-        "sshpass -p Op3nStack ssh $ssh_options root@${controller} \
-        'source keystonerc_admin;keystone endpoint-list'" \
-        | grep $admin_ip | sed 's/ /\n/g' | grep ^http | head -1) &> /dev/null
+    # The credentials file is located in the Instack VM (192.0.2.1)
+    # NOTE: This might change for bare metal deployments
+    info "Fetching rc file from Instack VM $installer_ip..."
+    sudo scp root@$installer_ip:/home/stack/overcloudrc $dest_path &> /dev/null
 
 elif [ "$installer_type" == "compass" ]; then
     verify_connectivity $installer_ip
@@ -150,18 +133,46 @@ elif [ "$installer_type" == "compass" ]; then
         | grep $admin_ip | sed 's/ /\n/g' | grep ^http | head -1)
     info "public_ip: $public_ip"
 
+
+elif [ "$installer_type" == "foreman" ]; then
+    #ip_foreman="172.30.10.73"
+    controller="oscontroller1.opnfv.com"
+    verify_connectivity $installer_ip
+
+    # Check if controller is alive (here is more difficult to get the ip from a command like "fuel node")
+    sshpass -p vagrant ssh $ssh_options root@${installer_ip} \
+        "sshpass -p Op3nStack ssh $ssh_options root@${controller} 'ls'" &> /dev/null
+    if [ $? -ne 0 ]; then
+        error "The controller ${controller} is not up. Please check that the POD is correctly deployed."
+    fi
+
+    info "Fetching openrc from a Foreman Controller '${controller}'..."
+    sshpass -p vagrant ssh $ssh_options root@${installer_ip} \
+        "sshpass -p Op3nStack scp $ssh_options root@${controller}:~/keystonerc_admin ." &> /dev/null
+    sshpass -p vagrant scp $ssh_options root@${installer_ip}:~/keystonerc_admin $dest_path &> /dev/null
+
+    #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'/\/$//')
+    public_ip=$(sshpass -p vagrant ssh $ssh_options root@${installer_ip} \
+        "sshpass -p Op3nStack ssh $ssh_options root@${controller} \
+        'source keystonerc_admin;keystone endpoint-list'" \
+        | grep $admin_ip | sed 's/ /\n/g' | grep ^http | head -1) &> /dev/null
+
 else
     error "Installer $installer is not supported by this script"
 fi
 
 
+if [ ! -f $dest_path ]; then
+    error "There has been an error retrieving the credentials"
+fi
 
-if [ "$public_ip" == "" ]; then
-    error "Cannot retrieve the public IP from keystone"
+if [ "$public_ip" != "" ]; then
+    info "Exchanging keystone public IP in rc file to $public_ip"
+    sed -i  "/OS_AUTH_URL/c\export OS_AUTH_URL=\'$public_ip'" $dest_path
 fi
 
-info "Keystone public IP is $public_ip"
-sed -i  "/OS_AUTH_URL/c\export OS_AUTH_URL=\'$public_ip'" $dest_path
+
 
 echo "-------- Credentials: --------"
 cat $dest_path