AMBARI-5527 - Support SSL in configs.sh

Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/f37d4c94
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/f37d4c94
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/f37d4c94

Branch: refs/heads/trunk
Commit: f37d4c940a7aa41c5046a9604e7bb545a0afab62
Parents: d396b8f
Author: Artem Baranchuk <abaranc...@hortonworks.com>
Authored: Tue Apr 22 16:46:00 2014 +0300
Committer: Artem Baranchuk <abaranc...@hortonworks.com>
Committed: Wed Apr 23 15:23:20 2014 +0300

----------------------------------------------------------------------
 .../src/main/resources/scripts/configs.sh       | 26 +++++++++++++-------
 1 file changed, 17 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/f37d4c94/ambari-server/src/main/resources/scripts/configs.sh
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/scripts/configs.sh 
b/ambari-server/src/main/resources/scripts/configs.sh
index 4e80dca..a07ffb2 100755
--- a/ambari-server/src/main/resources/scripts/configs.sh
+++ b/ambari-server/src/main/resources/scripts/configs.sh
@@ -19,11 +19,12 @@
 #
 
 usage () {
-  echo "Usage: configs.sh [-u userId] [-p password] [-port port] <ACTION> 
<AMBARI_HOST> <CLUSTER_NAME> <CONFIG_TYPE> [CONFIG_FILENAME | CONFIG_KEY 
[CONFIG_VALUE]]";
+  echo "Usage: configs.sh [-u userId] [-p password] [-port port] [-s] <ACTION> 
<AMBARI_HOST> <CLUSTER_NAME> <CONFIG_TYPE> [CONFIG_FILENAME | CONFIG_KEY 
[CONFIG_VALUE]]";
   echo "";
   echo "       [-u userId]: Optional user ID to use for authentication. 
Default is 'admin'.";
   echo "       [-p password]: Optional password to use for authentication. 
Default is 'admin'.";
   echo "       [-port port]: Optional port number for Ambari server. Default 
is '8080'. Provide empty string to not use port.";
+  echo "       [-s]: Optional support of SSL. Default is 'false'. Provide 
empty string to not use SSL.";
   echo "       <ACTION>: One of 'get', 'set', 'delete'. 'Set' adds/updates as 
necessary.";
   echo "       <AMBARI_HOST>: Server external host name";
   echo "       <CLUSTER_NAME>: Name given to cluster. Ex: 'c1'"
@@ -37,6 +38,7 @@ usage () {
 USERID="admin"
 PASSWD="admin"
 PORT=":8080"
+SSL_URL_PREFIX=""
 
 if [ "$1" == "-u" ] ; then
   USERID=$2;
@@ -60,7 +62,13 @@ if [ "$1" == "-port" ] ; then
   echo "PORT=$PORT";
 fi
 
-AMBARIURL="http://$2$PORT";
+if [ "$1" == "-s" ] ; then
+  SSL_URL_PREFIX="s"
+  shift;
+  echo "SSL is enabled";
+fi
+
+AMBARIURL="http$SSL_URL_PREFIX://$2$PORT"
 CLUSTER=$3
 SITE=$4
 SITETAG=''
@@ -75,7 +83,7 @@ currentSiteTag () {
   found=''
     
   #currentSite=`cat ds.json | grep -E "$SITE|tag"`; 
-  currentSite=`curl -s -u $USERID:$PASSWD 
"$AMBARIURL/api/v1/clusters/$CLUSTER?fields=Clusters/desired_configs" | grep -E 
"$SITE|tag"`;
+  currentSite=`curl -k -s -u $USERID:$PASSWD 
"$AMBARIURL/api/v1/clusters/$CLUSTER?fields=Clusters/desired_configs" | grep -E 
"$SITE|tag"`;
   for line in $currentSite; do
     if [ $line != "{" -a $line != ":" -a $line != '"tag"' ] ; then
       if [ -n "$found" -a -z "$currentSiteTag" ]; then
@@ -87,9 +95,9 @@ currentSiteTag () {
     fi
   done;
   if [ -z $currentSiteTag ]; then
-    errOutput=`curl -s -u $USERID:$PASSWD 
"$AMBARIURL/api/v1/clusters/$CLUSTER?fields=Clusters/desired_configs"`;
+    errOutput=`curl -k -s -u $USERID:$PASSWD 
"$AMBARIURL/api/v1/clusters/$CLUSTER?fields=Clusters/desired_configs"`;
     echo "[ERROR] \"$SITE\" not found in server response.";
-    echo "[ERROR] Output of \`curl -s -u $USERID:$PASSWD 
\"$AMBARIURL/api/v1/clusters/$CLUSTER?fields=Clusters/desired_configs\"\` is:";
+    echo "[ERROR] Output of \`curl -k -s -u $USERID:$PASSWD 
\"$AMBARIURL/api/v1/clusters/$CLUSTER?fields=Clusters/desired_configs\"\` is:";
     echo $errOutput | while read -r line; do
       echo "[ERROR] $line";
     done;
@@ -108,7 +116,7 @@ doConfigUpdate () {
   currentSiteTag
   echo "########## Performing '$MODE' $CONFIGKEY:$CONFIGVALUE on (Site:$SITE, 
Tag:$SITETAG)";
   propertiesStarted=0;
-  curl -s -u $USERID:$PASSWD 
"$AMBARIURL/api/v1/clusters/$CLUSTER/configurations?type=$SITE&tag=$SITETAG" | 
while read -r line; do
+  curl -k -s -u $USERID:$PASSWD 
"$AMBARIURL/api/v1/clusters/$CLUSTER/configurations?type=$SITE&tag=$SITETAG" | 
while read -r line; do
     ## echo ">>> $line";
     if [ "$propertiesStarted" -eq 0 -a "`echo $line | grep "\"properties\""`" 
]; then
       propertiesStarted=1
@@ -136,7 +144,7 @@ doConfigUpdate () {
         newFile="doSet_$newTag.json"
         echo "########## PUTting json into: $newFile"
         echo $finalJson > $newFile
-        curl -u $USERID:$PASSWD -X PUT -H "X-Requested-By: ambari" 
"$AMBARIURL/api/v1/clusters/$CLUSTER" --data @$newFile
+        curl -k -u $USERID:$PASSWD -X PUT -H "X-Requested-By: ambari" 
"$AMBARIURL/api/v1/clusters/$CLUSTER" --data @$newFile
         currentSiteTag
         echo "########## NEW Site:$SITE, Tag:$SITETAG";
       elif [ "`echo $line | grep "\"$CONFIGKEY\""`" ]; then
@@ -163,7 +171,7 @@ doConfigFileUpdate () {
       newFile="$FILENAME"
       echo $finalJson>$newFile
       echo "########## PUTting file:\"$FILENAME\" into config(type:\"$SITE\", 
tag:$newTag) via $newFile"
-      curl -u $USERID:$PASSWD -X PUT -H "X-Requested-By: ambari" 
"$AMBARIURL/api/v1/clusters/$CLUSTER" --data @$newFile
+      curl -k -u $USERID:$PASSWD -X PUT -H "X-Requested-By: ambari" 
"$AMBARIURL/api/v1/clusters/$CLUSTER" --data @$newFile
       currentSiteTag
       echo "########## NEW Site:$SITE, Tag:$SITETAG";
     else
@@ -193,7 +201,7 @@ doGet () {
   currentSiteTag
   echo "########## Performing 'GET' on (Site:$SITE, Tag:$SITETAG)";
   propertiesStarted=0;
-  curl -s -u $USERID:$PASSWD 
"$AMBARIURL/api/v1/clusters/$CLUSTER/configurations?type=$SITE&tag=$SITETAG" | 
while read -r line; do
+  curl -k -s -u $USERID:$PASSWD 
"$AMBARIURL/api/v1/clusters/$CLUSTER/configurations?type=$SITE&tag=$SITETAG" | 
while read -r line; do
     ## echo ">>> $line";
     if [ "$propertiesStarted" -eq 0 -a "`echo $line | grep "\"properties\""`" 
]; then
       propertiesStarted=1

Reply via email to