I tested the package cloud-init 0.7.5-0ubuntu1.23 from trusty-proposed and confirm it works as expected.
# TEST KEYS
$ cat googlekeys test:ssh-rsa AAAA[...]+1LRl <email address hidden> ubuntu:ssh-rsa AAAA[...]+2LRl <email address hidden> cloudinit:ssh-rsa AAAA[...]+3LRl test
# CREATE THE INSTANCE
$ gcloud compute instances create ubuntu1404cloudinittest --image-family ubuntu-1404-lts --image-project ubuntu-os-cloud --metadata-from-file=ssh-keys=googlekeys --metadata=block-project-ssh-keys=True --zone us-central1-a
# BEFORE THE UPDATE
$ gcloud compute --project "ubuntu-os-support" ssh --zone "us-central1-a" ubuntu1404cloudinittest
$ sudo cat /home/ubuntu/.ssh/authorized_keys ssh-rsa AAAA[...]+fVtBKqZ fubar@famine # Added by Google ssh-rsa AAAA[...]+2LRl <email address hidden>
# AFTER THE UPDATE
$ sudo sh -c 'echo deb http://us-central1.gce.archive.ubuntu.com/ubuntu/ trusty-proposed main restricted universe multiverse >> /etc/apt/sources.list'
$ sudo apt update
$ sudo apt install cloud-init [...] Setting up cloud-init (0.7.5-0ubuntu1.23) ... [...]
$ sudo sh -c 'cat /dev/null > /home/ubuntu/.ssh/authorized_keys'
$ sudo rm -rf /var/lib/cloud/instance*
$ sudo reboot
$ sudo cat /home/ubuntu/.ssh/authorized_keys ssh-rsa AAAA[...]+2LRl <email address hidden> ssh-rsa AAAA[...]+3LRl test # Added by Google ssh-rsa AAAA[...]+2LRl <email address hidden>
cloud-init now works the same way as Ubuntu 16.04 does. Thanks!
Bonus test: I tested that oslogin also works well:
$ gcloud compute instances add-metadata ubuntu1404cloudinittest --metadata enable-oslogin=TRUE --zone "us-central1-a" Updated [https://www.googleapis.com/compute/v1/projects/ubuntu-os-support/zones/us-central1-a/instances/ubuntu1404cloudinittest].
$ gcloud compute --project "ubuntu-os-support" ssh --zone "us-central1-a" ubuntu1404cloudinittest [...] Welcome to Ubuntu 14.04.5 LTS (GNU/Linux 4.4.0-137-generic x86_64) [...]
I tested the package cloud-init 0.7.5-0ubuntu1.23 from trusty-proposed and confirm it works as expected.
# TEST KEYS
$ cat googlekeys
test:ssh-rsa AAAA[...]+1LRl <email address hidden>
ubuntu:ssh-rsa AAAA[...]+2LRl <email address hidden>
cloudinit:ssh-rsa AAAA[...]+3LRl test
# CREATE THE INSTANCE
$ gcloud compute instances create ubuntu1404cloud inittest --image-family ubuntu-1404-lts --image-project ubuntu-os-cloud --metadata- from-file= ssh-keys= googlekeys --metadata= block-project- ssh-keys= True --zone us-central1-a
# BEFORE THE UPDATE
$ gcloud compute --project "ubuntu-os-support" ssh --zone "us-central1-a" ubuntu1404cloud inittest
$ sudo cat /home/ubuntu/ .ssh/authorized _keys
ssh-rsa AAAA[...]+fVtBKqZ fubar@famine
# Added by Google
ssh-rsa AAAA[...]+2LRl <email address hidden>
# AFTER THE UPDATE
$ sudo sh -c 'echo deb http:// us-central1. gce.archive. ubuntu. com/ubuntu/ trusty-proposed main restricted universe multiverse >> /etc/apt/ sources. list'
$ sudo apt update
$ sudo apt install cloud-init
[...]
Setting up cloud-init (0.7.5-0ubuntu1.23) ...
[...]
$ sudo sh -c 'cat /dev/null > /home/ubuntu/ .ssh/authorized _keys'
$ sudo rm -rf /var/lib/ cloud/instance*
$ sudo reboot
$ gcloud compute --project "ubuntu-os-support" ssh --zone "us-central1-a" ubuntu1404cloud inittest
$ sudo cat /home/ubuntu/ .ssh/authorized _keys
ssh-rsa AAAA[...]+2LRl <email address hidden>
ssh-rsa AAAA[...]+3LRl test
# Added by Google
ssh-rsa AAAA[...]+2LRl <email address hidden>
cloud-init now works the same way as Ubuntu 16.04 does. Thanks!
Bonus test: I tested that oslogin also works well:
$ gcloud compute instances add-metadata ubuntu1404cloud inittest --metadata enable-oslogin=TRUE --zone "us-central1-a" /www.googleapis .com/compute/ v1/projects/ ubuntu- os-support/ zones/us- central1- a/instances/ ubuntu1404cloud inittest].
Updated [https:/
$ gcloud compute --project "ubuntu-os-support" ssh --zone "us-central1-a" ubuntu1404cloud inittest
[...]
Welcome to Ubuntu 14.04.5 LTS (GNU/Linux 4.4.0-137-generic x86_64)
[...]