Why you need Cloud-init if you are running open-vm-tools on your Linux VMs in VMware

So you may have found yourself deploying a VM Linux Server such as Redhat, CentOS or Ubuntu in VMware and wondering why isnt may hostname customizing and making changes with the customization.

Without going into a long drawn out explanation of why. What you need to know is that without the Native VMware tools (which is terrible for maintaining) you have to use cloud-init to bridge the customization profile in VMware to work.

I think this was actually a smart move on VMware’s part to leverage an already well known bootstrap program.

So long story short. If you are using open-vm-tools and you customize your hostname and other aspects using VMware’s guest customization, you need cloud-init.

 

This is installed by doing the following
# yum install -y cloud-init

Make sure that you check those settings like allowing password auth if you are going to need it, and disabled cloud-init after the initial boot.

See this article for fixing those settings: