Use source Luke ;-)

Apparently there is now an alias on the VR ip called data-server. The Ssh 
script used it to get the ssh keys if it can't find the dhcp server using the 
leases file. I didn't invent this feature, just made it work for passwords and 
cleaned up the code a bit. 

Hugo

Sent from my iPhone

> On 01 Dec 2014, at 18:29, Rohit Yadav <rohityada...@gmail.com> wrote:
> 
> Hi Hugo,
> 
>> On Mon, Dec 1, 2014 at 7:27 PM, <h...@apache.org> wrote:
>> 
>> Repository: cloudstack
>> Updated Branches:
>>  refs/heads/master ce2b2a1fc -> ae0cb8279
>> 
>> 
>> Both scripts should be able to use the data-server introduced in 4.4
> 
> What does this commit fix? Sorry, I've no idea about the data-server
> introduced in 4.4.
> Verbose git commit messages are always welcome.
> 
> Regards.
> 
> 
>> 
>> 
>> Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
>> Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/ae0cb827
>> Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/ae0cb827
>> Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/ae0cb827
>> 
>> Branch: refs/heads/master
>> Commit: ae0cb8279225db0b6d0f642a546792ba6f3f1117
>> Parents: ce2b2a1
>> Author: Hugo Trippaers <htrippa...@schubergphilis.com>
>> Authored: Fri Nov 28 14:08:47 2014 +0100
>> Committer: Hugo Trippaers <htrippa...@schubergphilis.com>
>> Committed: Mon Dec 1 14:56:58 2014 +0100
>> 
>> ----------------------------------------------------------------------
>> setup/bindir/cloud-set-guest-password.in | 69 +++++++++++++--------------
>> setup/bindir/cloud-set-guest-sshkey.in   | 36 ++++++--------
>> 2 files changed, 48 insertions(+), 57 deletions(-)
>> ----------------------------------------------------------------------
>> 
>> 
>> 
>> http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ae0cb827/setup/bindir/cloud-set-guest-password.in
>> ----------------------------------------------------------------------
>> diff --git a/setup/bindir/cloud-set-guest-password.in b/setup/bindir/
>> cloud-set-guest-password.in
>> index 4c7c575..2c7304b 100755
>> --- a/setup/bindir/cloud-set-guest-password.in
>> +++ b/setup/bindir/cloud-set-guest-password.in
>> @@ -40,45 +40,44 @@ for DHCP_FILE in $DHCP_FOLDERS; do
>> 
>>                if [ -n "$PASSWORD_SERVER_IP" ]; then
>>                        logger -t "cloud" "Found password server IP
>> $PASSWORD_SERVER_IP in $DHCP_FILE"
>> -                       logger -t "cloud" "Sending request to password
>> server at $PASSWORD_SERVER_IP"
>> -
>> -                       password=$(wget -q -t 3 -T 20 -O - --header
>> "DomU_Request: send_my_password" $PASSWORD_SERVER_IP:$PASSWORD_SERVER_PORT)
>> -
>> -                       if [ $? -eq 0 ]; then
>> -                               password=$(echo $password | tr -d '\r')
>> -                               logger -t "cloud" "Got response from
>> server at $PASSWORD_SERVER_IP"
>> -
>> -                               case $password in
>> -                                       "")
>> -                                               logger -t "cloud"
>> "Password server at $PASSWORD_SERVER_IP did not have any password for the
>> VM"
>> -                                               continue
>> -                                               ;;
>> -                                       "bad_request")
>> -                                               logger -t "cloud" "VM sent
>> an invalid request to password server at $PASSWORD_SERVER_IP"
>> -
>> error_count=$((error_count+1))
>> -                                               continue
>> -                                               ;;
>> -                                       "saved_password")
>> -                                               logger -t "cloud" "VM has
>> already saved a password from the password server at $PASSWORD_SERVER_IP"
>> -                                               continue
>> -                                               ;;
>> -                                       *)
>> -                                               logger -t "cloud" "VM got
>> a valid password from server at $PASSWORD_SERVER_IP"
>> -                                               password_received=1
>> -                                               break
>> -                                               ;;
>> -                                       esac
>> -                       else
>> -                               logger -t "cloud" "Failed to send request
>> to password server at $PASSWORD_SERVER_IP"
>> -                               error_count=$((error_count+1))
>> -                       fi
>> -               else
>> -                       logger -t "cloud" "Could not find password server
>> IP in $DHCP_FILE"
>> -                       error_count=$((error_count+1))
>> +                        break
>>                fi
>>        fi
>> done
>> 
>> +if [ -z "$PASSWORD_SERVER_IP" ] ; then
>> +         logger -t "cloud" "Unable to determine the password server,
>> falling back to data-server"
>> +         PASSWORD_SERVER_IP=data-server
>> +fi
>> +
>> +logger -t "cloud" "Sending request to password server at
>> $PASSWORD_SERVER_IP"
>> +password=$(wget -q -t 3 -T 20 -O - --header "DomU_Request:
>> send_my_password" http://$PASSWORD_SERVER_IP:$PASSWORD_SERVER_PORT)
>> +if [ $? -eq 0 ]; then
>> +        password=$(echo $password | tr -d '\r')
>> +        logger -t "cloud" "Got response from server at
>> $PASSWORD_SERVER_IP"
>> +
>> +        case $password in
>> +                "")
>> +                        logger -t "cloud" "Password server at
>> $PASSWORD_SERVER_IP did not have any password for the VM"
>> +                        ;;
>> +                "bad_request")
>> +                        logger -t "cloud" "VM sent an invalid request to
>> password server at $PASSWORD_SERVER_IP"
>> +                        error_count=$((error_count+1))
>> +                        ;;
>> +                "saved_password")
>> +                        logger -t "cloud" "VM has already saved a
>> password from the password server at $PASSWORD_SERVER_IP"
>> +                        ;;
>> +                *)
>> +                        logger -t "cloud" "VM got a valid password from
>> server at $PASSWORD_SERVER_IP"
>> +                        password_received=1
>> +                        ;;
>> +                esac
>> +else
>> +        logger -t "cloud" "Failed to send request to password server at
>> $PASSWORD_SERVER_IP"
>> +        error_count=$((error_count+1))
>> +fi
>> +
>> +
>> if [ "$password_received" == "0" ]; then
>>        if [ "$error_count" == "$file_count" ]; then
>>                logger -t "cloud" "Failed to get password from any server"
>> 
>> 
>> http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ae0cb827/setup/bindir/cloud-set-guest-sshkey.in
>> ----------------------------------------------------------------------
>> diff --git a/setup/bindir/cloud-set-guest-sshkey.in b/setup/bindir/
>> cloud-set-guest-sshkey.in
>> index 4955dea..0472a7c 100755
>> --- a/setup/bindir/cloud-set-guest-sshkey.in
>> +++ b/setup/bindir/cloud-set-guest-sshkey.in
>> @@ -37,32 +37,24 @@ for DHCP_FILE in $DHCP_FOLDERS; do
>>         SSHKEY_SERVER_IP=$(grep dhcp-server-identifier $DHCP_FILE | tail
>> -1 | awk '{print $NF}' | tr -d '\;')
>> 
>>         if [ -n "$SSHKEY_SERVER_IP" ]; then
>> -            logger -t "cloud" "Sending request to ssh key server at
>> $SSHKEY_SERVER_IP"
>> -
>> -            publickey=$(wget -q -t 3 -T 20 -O - http://
>> $SSHKEY_SERVER_IP/latest/public-keys)
>> -
>> -            if [ $? -eq 0 ]; then
>> -                logger -t "cloud" "Got response from server at
>> $SSHKEY_SERVER_IP"
>> -                keys_received=1
>> -                break
>> -            fi
>> +            logger -t "cloud" "Found ssh key server at $SSHKEY_SERVER_IP"
>> +            break
>>         else
>> -            logger -t "cloud" "Could not find ssh key server IP in
>> $DHCP_FILE trying with the name data-server "
>> +            logger -t "cloud" "Could not find ssh key server IP in
>> $DHCP_FILE"
>>         fi
>>     fi
>> done
>> 
>> -if [ "$keys_received" == "0" ]; then
>> -    SSHKEY_SERVER_IP=$(nslookup data-server | grep Address |tr '\n' ' '|
>> awk '{print $4}')
>> -    logger -t "cloud" "Sending request to ssh key server at
>> $SSHKEY_SERVER_IP"
>> -     publickey=$(wget -q -t 3 -T 20 -O -
>> http://data-server/latest/public-keys)
>> -     if [ $? -eq 0 ]
>> -     then
>> -        logger -t "cloud" "Got response from server at $SSHKEY_SERVER_IP"
>> -        keys_received=1
>> -     else
>> -        logger -t "cloud" "Could not resolve the name data-server"
>> -     fi
>> +if [ -z "$SSHKEY_SERVER_IP" ]; then
>> +     logger -t "cloud" "Unable to determine the password server, falling
>> back to data-server"
>> +     SSHKEY_SERVER_IP=data-server
>> +fi
>> +
>> +logger -t "cloud" "Sending request to ssh key server at $SSHKEY_SERVER_IP"
>> +publickey=$(wget -q -t 3 -T 20 -O - http://
>> $SSHKEY_SERVER_IP/latest/public-keys)
>> +if [ $? -eq 0 ]; then
>> +    logger -t "cloud" "Got response from server at $SSHKEY_SERVER_IP"
>> +    keys_received=1
>> fi
>> 
>> if [ "$keys_received" == "0" ]; then
>> @@ -94,4 +86,4 @@ echo "$publickey" >> $authorized
>> 
>> which restorecon && restorecon -R -v $sshdir
>> 
>> -exit 0
>> \ No newline at end of file
>> +exit 0
>> 
>> 

Reply via email to