|
1 | 1 | #!/bin/bash
|
2 | 2 | set -e
|
3 | 3 |
|
4 |
| -INSTANCE_ID=eaea9be1-d12f-47ea-ad79-7d73cedf0cea |
| 4 | +INSTANCE_ID=$1 |
| 5 | + |
| 6 | +echo "Getting Keystone token" |
5 | 7 |
|
6 | 8 | TOKENS_RESP=`curl -s -k -X 'POST' $OS_AUTH_URL/tokens -d '{"auth":{"passwordCredentials":{"username": "'$OS_USERNAME'", "password":"'$OS_PASSWORD'"}, "tenantName":"'$OS_TENANT_NAME'"}}' -H 'Content-type: application/json'`
|
7 | 9 | TOKEN=`echo $TOKENS_RESP | python -c "import json; import sys; d=json.load(sys.stdin); print d['access']['token']['id']"`
|
8 | 10 | NOVA_URL=`echo $TOKENS_RESP | python -c "import json; import sys; d=json.load(sys.stdin); print d['access']['serviceCatalog'][0]['endpoints'][0]['adminURL']"`
|
9 | 11 |
|
10 |
| -CONSOLE_RESP=`curl -s -H "X-Auth-Token: $TOKEN" $NOVA_URL/servers/$INSTANCE_ID/action -X "POST" -H 'Content-type: application/json' -d '{"os-getVNCConsole":{"type":"novnc"}}'` |
| 12 | +echo "Getting RDP console" |
| 13 | + |
| 14 | +CONSOLE_RESP=`curl -s -H "X-Auth-Token: $TOKEN" $NOVA_URL/servers/$INSTANCE_ID/action -X "POST" -H 'Content-type: application/json' -d '{"os-getRDPConsole":{"type":"rdp-html5"}}'` |
| 15 | +#CONSOLE_RESP=`curl -s -H "X-Auth-Token: $TOKEN" $NOVA_URL/servers/$INSTANCE_ID/action -X "POST" -H 'Content-type: application/json' -d '{"os-getVNCConsole":{"type":"novnc"}}'` |
| 16 | + |
| 17 | +echo $CONSOLE_RESP |
11 | 18 |
|
12 | 19 | CONSOLE_URL=`echo $CONSOLE_RESP | python -c "import json; import sys; d=json.load(sys.stdin); print d['console']['url']"`
|
13 |
| -CONSOLE_TOKEN=`echo $CONSOLE_URL | sed -n 's/.*token\=\(.\+\)/\1/p'` |
| 20 | +echo $CONSOLE_URL |
| 21 | + |
| 22 | +CONSOLE_TOKEN=${CONSOLE_URL#*=} |
| 23 | + |
| 24 | +echo $CONSOLE_TOKEN |
14 | 25 |
|
15 |
| -GET_CONSOLE_CONN_RESP=`curl -s -H "X-Auth-Token: $TOKEN" $NOVA_URL/servers/$INSTANCE_ID/action -X "POST" -H 'Content-type: application/json' -d '{"os-getConsoleConnectInfo":{"token":"'$CONSOLE_TOKEN'"}}'` |
| 26 | +echo "Getting console connect info" |
16 | 27 |
|
17 |
| -echo $GET_CONSOLE_CONN_RESP |
| 28 | +GET_CONSOLE_CONN_RESP=`curl -s -H "X-Auth-Token: $TOKEN" $NOVA_URL/console-auth-tokens/$CONSOLE_TOKEN/action -X "POST" -H 'Content-type: application/json' -d '{"os-getConsoleConnectInfo": null}'` |
18 | 29 |
|
19 |
| -HOST=`echo $GET_CONSOLE_CONN_RESP | python -c "import json; import sys; d=json.load(sys.stdin); print d['host']"` |
20 |
| -PORT=`echo $GET_CONSOLE_CONN_RESP | python -c "import json; import sys; d=json.load(sys.stdin); print d['port']"` |
21 |
| -INTERNAL_ACCESS_PATH=`echo $GET_CONSOLE_CONN_RESP | python -c "import json; import sys; d=json.load(sys.stdin); print d['internal_access_path']"` |
| 30 | +HOST=`echo $GET_CONSOLE_CONN_RESP | python -c "import json; import sys; d=json.load(sys.stdin); print d['console']['host']"` |
| 31 | +PORT=`echo $GET_CONSOLE_CONN_RESP | python -c "import json; import sys; d=json.load(sys.stdin); print d['console']['port']"` |
| 32 | +INTERNAL_ACCESS_PATH=`echo $GET_CONSOLE_CONN_RESP | python -c "import json; import sys; d=json.load(sys.stdin); print d['console']['internal_access_path']"` |
22 | 33 |
|
23 | 34 | echo "Host: $HOST"
|
24 | 35 | echo "Port: $PORT"
|
|
0 commit comments