mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
CLOUDSTACK-8331: have savepassword try all interfaces
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com> (cherry picked from commit b8192114767040ef4869a7e71886df5965dadb37) Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
This commit is contained in:
parent
b011c9bad4
commit
eddcb101dc
@ -46,13 +46,17 @@ def getTokenFile():
|
|||||||
return '/tmp/passwdsrvrtoken'
|
return '/tmp/passwdsrvrtoken'
|
||||||
|
|
||||||
def getPasswordFile():
|
def getPasswordFile():
|
||||||
return '/var/cache/cloud/passwords'
|
return '/var/cache/cloud/passwords-%s' % listeningAddress
|
||||||
|
|
||||||
def initToken():
|
def initToken():
|
||||||
global secureToken
|
global secureToken
|
||||||
secureToken = binascii.hexlify(os.urandom(16))
|
if os.path.exists(getTokenFile()):
|
||||||
with open(getTokenFile(), 'w') as f:
|
with open(getTokenFile(), 'r') as f:
|
||||||
f.write(secureToken)
|
secureToken = f.read()
|
||||||
|
if not secureToken:
|
||||||
|
secureToken = binascii.hexlify(os.urandom(16))
|
||||||
|
with open(getTokenFile(), 'w') as f:
|
||||||
|
f.write(secureToken)
|
||||||
|
|
||||||
def checkToken(token):
|
def checkToken(token):
|
||||||
return token == secureToken
|
return token == secureToken
|
||||||
@ -152,6 +156,7 @@ class PasswordRequestHandler(BaseHTTPRequestHandler):
|
|||||||
if not ip or not password:
|
if not ip or not password:
|
||||||
syslog.syslog('serve_password: empty ip/password[%s/%s] received from savepassword' % (ip, password))
|
syslog.syslog('serve_password: empty ip/password[%s/%s] received from savepassword' % (ip, password))
|
||||||
return
|
return
|
||||||
|
syslog.syslog('serve_password: password saved for VM IP %s' % ip)
|
||||||
setPassword(ip, password)
|
setPassword(ip, password)
|
||||||
savePasswordFile()
|
savePasswordFile()
|
||||||
return
|
return
|
||||||
|
|||||||
@ -38,7 +38,7 @@ fi
|
|||||||
ps aux | grep passwd_server_ip.py |grep -v grep 2>&1 > /dev/null
|
ps aux | grep passwd_server_ip.py |grep -v grep 2>&1 > /dev/null
|
||||||
if [ $? -eq 0 ]
|
if [ $? -eq 0 ]
|
||||||
then
|
then
|
||||||
ips=$(ip addr show dev eth0 | grep inet | grep eth0 | awk '{print $2}')
|
ips=$(ip addr show | grep inet | awk '{print $2}')
|
||||||
for ip in $ips; do
|
for ip in $ips; do
|
||||||
server_ip=$(echo $ip | awk -F'/' '{print $1}')
|
server_ip=$(echo $ip | awk -F'/' '{print $1}')
|
||||||
curl --header "DomU_Request: save_password" "http://$server_ip:8080/" -F "ip=$VM_IP" -F "password=$PASSWORD" -F "token=$TOKEN" >/dev/null 2>/dev/null &
|
curl --header "DomU_Request: save_password" "http://$server_ip:8080/" -F "ip=$VM_IP" -F "password=$PASSWORD" -F "token=$TOKEN" >/dev/null 2>/dev/null &
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user