inside the instance, /var/log/cloud-init.log will have a WARN like:
2015-02-24 21:45:12,010 - __init__.py[WARNING]: Unhandled non-multipart (text/x-not-multipart) userdata: 'b'\\x1f\\\\ufffd\\x08\\x00~\\\\ufffd\\\\ufffdT\\x00'...'
$ sudo file /var/lib/cloud/instance/user-data.txt
/var/lib/cloud/instance/user-data.txt: data
That *should* show 'gzip compressed data'
Also
$ ls -l /var/lib/cloud/instance/user-data.txt
-rw------- 1 root root 155 Feb 24 21:45 /var/lib/cloud/instance/user-data.txt
but
$ wget http://169.254.169.254/openstack/latest/user_data -O user_data
$ ls -l user_data
-rw-rw-r-- 1 ubuntu ubuntu 86 Feb 24 21:50 user_data
something got hosed there.
my tests that i've just committed don't go far enough to ensure this is working.
I think we undergo some conversions bytes -> text -> bytes and lose data in the process.
$ printf "%s\n%s\n" '#!/bin/sh' 'echo "$(date -R)" === HELLO WORLD === | tee -a /run/my.log"' | gzip -c > my-userdata
$ zcat my-userdata
#!/bin/sh
echo "$(date -R)" === HELLO WORLD === | tee -a /run/my.log"
$ nova boot --user- data=my- userdata --key-name=brickies --flavor=m1.small \ net-id= 25006453- 2caa-4aa4- bdeb-e4822dc700 d6 \ 719fc41a- ca89-4f18- b082-94d067d449 f9 vivid-20150224- 214427
--nic=
--image=
inside the instance, /var/log/ cloud-init. log will have a WARN like: _.py[WARNING] : Unhandled non-multipart (text/x- not-multipart) userdata: 'b'\\x1f\ \\\ufffd\ \x08\\x00~ \\\\ufffd\ \\\ufffdT\ \x00'.. .'
2015-02-24 21:45:12,010 - __init_
$ sudo file /var/lib/ cloud/instance/ user-data. txt cloud/instance/ user-data. txt: data
/var/lib/
That *should* show 'gzip compressed data'
Also cloud/instance/ user-data. txt cloud/instance/ user-data. txt 169.254. 169.254/ openstack/ latest/ user_data -O user_data
$ ls -l /var/lib/
-rw------- 1 root root 155 Feb 24 21:45 /var/lib/
but
$ wget http://
$ ls -l user_data
-rw-rw-r-- 1 ubuntu ubuntu 86 Feb 24 21:50 user_data
something got hosed there.
my tests that i've just committed don't go far enough to ensure this is working.
I think we undergo some conversions bytes -> text -> bytes and lose data in the process.