Ubuntu 20.04 - cloud-init Gotchas
Recently while working on my latest Packer Templates I ran into an issue with Ubuntu 20.04. The issue was related to cloud-init not being able to grow the root partition nor change the hostname. I was testing this on Proxmox using Terraform.
Obviously these are two very important capabilities when provisioning cloud
instances. So, why was this not working? Well I started Googling and of course
nothing was coming up that would give me a clue. So, I started digging into logs, etc.
And sure enough, I found in the log that these two capabilities were not working
because of the file /etc/cloud/cloud.cfg.d/99-installer.cfg
.
An example of the contents of /etc/cloud/cloud.cfg.d/99-installer.cfg
:
datasource:
None:
metadata: {instance-id: 872e2bc0-9805-4623-bdda-5e8bcca540dc}
userdata_raw: "#cloud-config\ngrowpart: {mode: 'off'}\nlocale: en_US.UTF-8\npreserve_hostname:\
\ true\nresize_rootfs: false\nusers:\n- gecos: packer\n groups: [adm, cdrom,\
\ dip, plugdev, lxd, sudo]\n lock_passwd: false\n name: packer\n passwd:\
\ $6$AA.Jw829.bXpJ4w$bf2mI99OoUo2F4/rSfnAD9vNg2vjOiJaynMSeOgZcE3PB/OMCRgYuon74mIyzgUiXBEA8/VluqEQuZBGcQq5B.\n\
\ shell: /bin/bash\n"
datasource_list: [None]
From the above example you can see that growpart: {mode: 'off}
and
preserve_hostname: true
are set. This right here was the cause of my issues.
So, to resolve this issue. Simply delete the file and you are good to go!
Just sharing this with folks in case you ever run into this as well.
Enjoy!
Leave a comment