## launch an instance
$ nova boot --config-drive=1 --user-data=/tmp/cstack.ev6B4S/ud-rendered --key-name=brickies --flavor=m1.small --image=ubuntu-daily/ubuntu-wily-daily-amd64-server-20151004-disk1.img wily-20151006-203130
...
adminPass | N2XAMPbHnv2S
## on the instance
$ jsonpretty() { python3 -c 'import json, sys; print(json.dumps(json.loads(sys.stdin.read()), indent=1))' ; }
$ curl --silent http://169.254.169.254/openstack/latest/ ; echo
meta_data.json
password
vendor_data.json
$ curl --silent http://169.254.169.254/openstack/latest/meta_data.json | jsonpretty
{
"launch_index": 0,
"random_seed": "r3/jL88HHOeV+DuhIfhDhUETdoUiXmFuiDTBClzt7huTEZaL5sqH2wtUVoYkCphDHJjnA0yJ2Ow/NX5ZAoFU+Ou0e2REakC1iAVV+ID/aQvEsx5OqfN85FLaUCNSexiXVnkhx4LZbraW6iMgEveK2ryzzsYnWPDydm4o+VVhFlEn+ErWBjbFm5edzylJCN+INpM6f3hTl+WWI6Z9Uo20ytZq91RSiu4jCsjA/6/t735ygkI/B7xx+rLytcIxixsQHOpkmOe3tYQFTg+xYq1tmn0zE4Tool0mZvrL80beUAfrHHlkLlWjb/kOYWm1c6V4JdW0+znvlu+C9sY8ovl7JW874QvM/aO0NSHJgnVG38AIiwWRYZ1I+e344bMfkyGl04UwR/hucxAUuWt1B/jRKZoONCbtcCc2vOtwpcqeeSV2f4d5oWMRM/ntRxsXvJsupUKIylvvGQThU0peuDKK9dwlevuYqSu8DEMJZSsEiiNJo4inX2k2Nro2TNlg6pIoZW/LzJNl1mIf5Bq/1c1lcLbLx9pqa/+XdUsBd8kVc98K8PSoqDMGB7rV/tba9o/44ziFudUjWKDBsDvVzlXJMczMVMz74N0llLLtRYXnQsdi3kJiQgjQPFkkLqSWGeT6Cmkul+NEEAtufWJ1mfjE46pJyjZtXlSd/AXyytybsvo=",
"keys": [
{
"data": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA3I7VUf2l5gSn5uavROsc5HRDpZdQueUq5ozemNSj8T7enqKHOEaFoU2VoPgGEWC9RyzSQVeyD6s7APMcE82EtmW4skVEgEGSbDc1pvxzxtchBj78hJP6Cf5TCMFSXw+Fz5rF1dR23QDbN1mkHs7adr8GW4kSWqU7Q7NDwfIrJJtO7Hi42GyXtvEONHbiRPOe8stqUly7MvUoN+5kfjBM8Qqpfl2+FNhTYWpMfYdPUnE7u536WqzFmsaqJctz3gBxH9Ex7dFtrxR4qiqEr9Qtlu3xGn7Bw07/+i1D+ey3ONkZLN+LQ714cgj8fRS4Hj29SCmXp5Kt5/82cD/VN3NtHw== smoser@brickies\n",
"type": "ssh",
"name": "brickies"
}
],
"public_keys": {
"brickies": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA3I7VUf2l5gSn5uavROsc5HRDpZdQueUq5ozemNSj8T7enqKHOEaFoU2VoPgGEWC9RyzSQVeyD6s7APMcE82EtmW4skVEgEGSbDc1pvxzxtchBj78hJP6Cf5TCMFSXw+Fz5rF1dR23QDbN1mkHs7adr8GW4kSWqU7Q7NDwfIrJJtO7Hi42GyXtvEONHbiRPOe8stqUly7MvUoN+5kfjBM8Qqpfl2+FNhTYWpMfYdPUnE7u536WqzFmsaqJctz3gBxH9Ex7dFtrxR4qiqEr9Qtlu3xGn7Bw07/+i1D+ey3ONkZLN+LQ714cgj8fRS4Hj29SCmXp5Kt5/82cD/VN3NtHw== smoser@brickies\n"
},
"availability_zone": "nova",
"name": "wily-20151006-203328",
"hostname": "wily-20151006-203328.novalocal",
"uuid": "10ce87d0-3d82-4c9c-8f9b-cd7aa54dcdb8"
}
$ wget -S -O - http://169.254.169.254/openstack/latest/password; echo
--2015-10-06 20:35:41-- http://169.254.169.254/openstack/latest/password
Connecting to 169.254.169.254:80... connected.
HTTP request sent, awaiting response...
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Content-Length: 0
Date: Tue, 06 Oct 2015 20:35:42 GMT
Connection: keep-alive
The file is already fully retrieved; nothing to do.
$ sudo mount /dev/sr0 /mnt
$ ls /mnt/openstack/
2012-08-10 2013-04-04 2013-10-17 latest
$ for f in /mnt/openstack/latest/*; do echo == ${f##*/} ==; [ ${f%.json} = $f ] && cat $f || jsonpretty < $f ; done
== meta_data.json ==
{
"public_keys": {
"brickies": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA3I7VUf2l5gSn5uavROsc5HRDpZdQueUq5ozemNSj8T7enqKHOEaFoU2VoPgGEWC9RyzSQVeyD6s7APMcE82EtmW4skVEgEGSbDc1pvxzxtchBj78hJP6Cf5TCMFSXw+Fz5rF1dR23QDbN1mkHs7adr8GW4kSWqU7Q7NDwfIrJJtO7Hi42GyXtvEONHbiRPOe8stqUly7MvUoN+5kfjBM8Qqpfl2+FNhTYWpMfYdPUnE7u536WqzFmsaqJctz3gBxH9Ex7dFtrxR4qiqEr9Qtlu3xGn7Bw07/+i1D+ey3ONkZLN+LQ714cgj8fRS4Hj29SCmXp5Kt5/82cD/VN3NtHw== smoser@brickies\n"
},
"admin_pass": "N2XAMPbHnv2S",
"hostname": "wily-20151006-203328.novalocal",
"name": "wily-20151006-203328",
"keys": [
{
"type": "ssh",
"data": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA3I7VUf2l5gSn5uavROsc5HRDpZdQueUq5ozemNSj8T7enqKHOEaFoU2VoPgGEWC9RyzSQVeyD6s7APMcE82EtmW4skVEgEGSbDc1pvxzxtchBj78hJP6Cf5TCMFSXw+Fz5rF1dR23QDbN1mkHs7adr8GW4kSWqU7Q7NDwfIrJJtO7Hi42GyXtvEONHbiRPOe8stqUly7MvUoN+5kfjBM8Qqpfl2+FNhTYWpMfYdPUnE7u536WqzFmsaqJctz3gBxH9Ex7dFtrxR4qiqEr9Qtlu3xGn7Bw07/+i1D+ey3ONkZLN+LQ714cgj8fRS4Hj29SCmXp5Kt5/82cD/VN3NtHw== smoser@brickies\n",
"name": "brickies"
}
],
"launch_index": 0,
"random_seed": "gHwu0rrbciCRkhIRX2Lli5zs13hbNyUc1Xt0vED88OV++JLsPSVxsflQOZO2pwTm+fWPdLUiz0iNMQFeKsmGYcFMFiuYYpHhVjKJ4noWA5oRizLK8QEtgS1BD7ADwFEqwbZrzzdVLqmLJj9gfvsGndLXDCusrGNXO70acEpfOAS0osWmCIM/coF/Hl3kb/TzKx5GEuJB+mIkxWe7XbCfD0yxgYBwPHVZswmnemchXvrf4iLs70xshSN2uMSmfdyF56mbx/r3y+Z54XQn+vW1HxdM9MhK/EzCdCuSjFAhejMM5RCawgtlTx6NK00fDyTpkNUnXB+pMxVlyPNRebsTkHLAt+JtCcoh6IvNox5Me3ie8UF9xAZNi7Ck8yZHk0ZTh/Lk1hsF6q721MQhqo95XK+wlr0fJDb//1kkENbghKt5W+D/F6PoxEKffsH99yyEW+qmB1Treq+jJp8lqBVZTtWXTvT0ycMke6Okmij9szzAhvCMbZ3OKCr5F578MbJ8JWT9QBDg2GhX5oQ5cTtOvobom5Ifq6+VcH/utAfxF/O8hVI95nsy2+/zf4RAZnf8DtQBD2GDnXyDYKSezohSd5XAdTa5iLod0xi3qrTWVZCYCX5nrbi1iPbTS1TdqEmyN8GdHFAiQyfZzhD6cp9K2jq+PoPUVK/19oqtv3JiEVw=",
"availability_zone": "nova",
"uuid": "10ce87d0-3d82-4c9c-8f9b-cd7aa54dcdb8"
}
== vendor_data.json ==
{}