Hey all – I recently went to deploy a solution involving a few Ubuntu 16.04 LTS VMs in my lab to eventually put on AWS. There are some issues I’ve been having with deploying (updated) Ubuntu 16.04 LTS templates to my vSphere 6.7 cluster (though this seems to not work in 6.5 as well).
I have a number of templates in my labs (and in production, having the same issue). One thing I try to do is keep templates up to date so I don’t have a ton of updates waiting post-deployment. I do it the old fashioned way in my lab by converting the template to a VM, booting, and then running sudo apt-get update && sudo apt-get upgrade -y . Everything updates properly, I shut the VM down, convert back to template, and start deploying through either vRealize Automation or straight from vCenter.
Ubuntu 16.04 LTS tends to customize really fast in vSphere and within 30 seconds or so after deploying the VM will have the IP address and hostname show in the VM Summary view within the vSphere client. So, for grins, here is what happens when I deploy my Ubuntu 16.04 LTS template that has open-vm-tools version 10.0.7-3227872-5ubuntu1~16.04.1:
You can see above that the hostname (DNS Name) is properly set to the VM name I specified and the IP is one that I specified during the template deployment.
Now I’ll clone the original template to a new one and update open-vm-tools in the new template. When performing the update we see:
kensycloudadmin@ubnt1604tmpl:~$ sudo apt-get -V install --only-upgrade open-vm-tools Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: libxmlsec1 (1.2.20-2ubuntu4) libxmlsec1-openssl (1.2.20-2ubuntu4) libxslt1.1 (1.1.28-2.1ubuntu0.1) Suggested packages: open-vm-tools-desktop (2:10.2.0-3~ubuntu0.16.04.1) cloud-init (18.2-4-g05926e48-0ubuntu1~16.04.2) The following NEW packages will be installed: libxmlsec1 (1.2.20-2ubuntu4) libxmlsec1-openssl (1.2.20-2ubuntu4) libxslt1.1 (1.1.28-2.1ubuntu0.1) The following packages will be upgraded: <strong>open-vm-tools (2:10.0.7-3227872-5ubuntu1~16.04.1 => 2:10.2.0-3~ubuntu0.16.04.1)</strong> 1 upgraded, 3 newly installed, 0 to remove and 199 not upgraded. Need to get 866 kB of archives. After this operation, 1,649 kB of additional disk space will be used. Do you want to continue? [Y/n]
The output above shows that open-vm-tools version 10.2.0-3~ubuntu0.16.04.1 will be installed along with a couple other dependencies. After the updates I shut the VM down, converted back to a (new) template, and deploy a VM from it. I used the same customization file as previously only this time calling the VM VMToolsNotWork and setting the IP to 192.168.50.98 :
You can see that neither the hostname (DNS Name) nor IP are populated properly. Further, when checking the VM Monitor | Events menu in the vSphere client there are errors when customizing the guest:
The earliest error reads:
An error occurred while customizing VM VMToolsNotWork. For details reference the log file /var/log/vmware-imc/toolsDeployPkg.log in the guest OS.
The latest error simply states
An error occurred while customizing VM VMToolsNotWork. For details reference the log file <No Log> in the guest OS.
Because the customization fails there’s no network and so reading the log file is a pain in the console. I added a disk to the VM, moved the log file, detached the VMDK, and put it on another VM so I could properly output the file:
## Starting deploy pkg operation Deploying /tmp/vmware-root/418e3ed8/imcf-tqtLQV Initializing deployment module. Cleaning old state file from tmp directory. EXIT STATE INPROGRESS Setting deploy error: Error removing lock /tmp/.vmware-deploy.INPROGRESS (No such file or directory) EXIT STATE Done Setting deploy error: Error removing lock /tmp/.vmware-deploy.Done (No such file or directory) EXIT STATE ERRORED Setting deploy error: Error removing lock /tmp/.vmware-deploy.ERRORED (No such file or directory) Setting deploy error: Success. Deploying cabinet file /tmp/vmware-root/418e3ed8/imcf-tqtLQV. Transitioning from state (null) to state INPROGRESS. ENTER STATE INPROGRESS Reading cabinet file /tmp/vmware-root/418e3ed8/imcf-tqtLQV. Flags in the header: 0 Original deployment command: /usr/bin/perl -I/tmp/.vmware/linux/deploy/scripts /tmp/.vmware/linux/deploy/scripts/Customize.pl /tmp/.vmware/linux/deploy/cust.cfg Actual deployment command: /usr/bin/perl -I/tmp/.vmware-imgcust-daPpUsg/scripts /tmp/.vmware-imgcust-daPpUsg/scripts/Customize.pl /tmp/.vmware-imgcust-daPpUsg/cust.cfg Extracting package files. Check if cust.cfg exists. cust.cfg is found in '/tmp/.vmware-imgcust-daPpUsg' directory. Command to exec : /usr/bin/cloud-init sizeof ProcessInternal is 56 Returning, pending output from stdout Returning, pending output from stderr Process exited normally after 0 seconds, returned 127 No more output from stdout No more output from stderr Customization command output: cloud-init is not installed Executing traditional GOSC workflow Command to exec : /usr/bin/perl sizeof ProcessInternal is 56 Returning, pending output from stdout Returning, pending output from stderr Saving output from stdout Saving output from stdout Saving output from stdout Saving output from stdout Saving output from stdout Saving output from stdout Saving output from stdout Saving output from stdout Saving output from stdout Saving output from stdout Saving output from stdout Saving output from stderr Process exited normally after 0 seconds, returned 0 Saving output from stdout No more output from stdout No more output from stderr Customization command output: DEBUG: Creating directory /var/lock/vmware DEBUG: Opening /var/lock/vmware/gosc in O_CREAT|O_EXCL|O_WRONLY mode INFO: Opening file name /tmp/.vmware-imgcust-daPpUsg/cust.cfg. DEBUG: Processing line: '[NETWORK]' DEBUG: FOUND CATEGORY = NETWORK DEBUG: Processing line: 'NETWORKING = yes' DEBUG: ADDED KEY-VAL :: 'NETWORK|NETWORKING' = 'yes' DEBUG: Processing line: 'BOOTPROTO = dhcp' DEBUG: ADDED KEY-VAL :: 'NETWORK|BOOTPROTO' = 'dhcp' DEBUG: Processing line: 'HOSTNAME = VMToolsNotWork' DEBUG: ADDED KEY-VAL :: 'NETWORK|HOSTNAME' = 'VMToolsNotWork' DEBUG: Processing line: 'DOMAINNAME = ad.kensycloud.com' DEBUG: ADDED KEY-VAL :: 'NETWORK|DOMAINNAME' = 'ad.kensycloud.com' DEBUG: Processing line: '' DEBUG: Empty line. Ignored. DEBUG: Processing line: '[NIC-CONFIG]' DEBUG: FOUND CATEGORY = NIC-CONFIG DEBUG: Processing line: 'NICS = NIC1' DEBUG: ADDED KEY-VAL :: 'NIC-CONFIG|NICS' = 'NIC1' DEBUG: Processing line: '' DEBUG: Empty line. Ignored. DEBUG: Processing line: '[NIC1]' DEBUG: FOUND CATEGORY = NIC1 DEBUG: Processing line: 'MACADDR = 00:50:56:92:4f:88' DEBUG: ADDED KEY-VAL :: 'NIC1|MACADDR' = '00:50:56:92:4f:88' DEBUG: Processing line: 'ONBOOT = yes' DEBUG: ADDED KEY-VAL :: 'NIC1|ONBOOT' = 'yes' DEBUG: Processing line: 'IPv4_MODE = BACKWARDS_COMPATIBLE' DEBUG: ADDED KEY-VAL :: 'NIC1|IPv4_MODE' = 'BACKWARDS_COMPATIBLE' DEBUG: Processing line: 'BOOTPROTO = static' DEBUG: ADDED KEY-VAL :: 'NIC1|BOOTPROTO' = 'static' DEBUG: Processing line: 'IPADDR = 192.168.50.98' DEBUG: ADDED KEY-VAL :: 'NIC1|IPADDR' = '192.168.50.98' DEBUG: Processing line: 'NETMASK = 255.255.255.0' DEBUG: ADDED KEY-VAL :: 'NIC1|NETMASK' = '255.255.255.0' DEBUG: Processing line: 'GATEWAY = 192.168.50.1' DEBUG: ADDED KEY-VAL :: 'NIC1|GATEWAY' = '192.168.50.1' DEBUG: Processing line: '' DEBUG: Empty line. Ignored. DEBUG: Processing line: '' DEBUG: Empty line. Ignored. DEBUG: Processing line: '[DNS]' DEBUG: FOUND CATEGORY = DNS DEBUG: Processing line: 'DNSFROMDHCP=no' DEBUG: ADDED KEY-VAL :: 'DNS|DNSFROMDHCP' = 'no' DEBUG: Processing line: 'SUFFIX|1 = ad.kensycloud.com' DEBUG: ADDED KEY-VAL :: 'DNS|SUFFIX|1' = 'ad.kensycloud.com' DEBUG: Processing line: 'NAMESERVER|1 = 192.168.50.15' DEBUG: ADDED KEY-VAL :: 'DNS|NAMESERVER|1' = '192.168.50.15' DEBUG: Processing line: 'NAMESERVER|2 = 192.168.50.16' DEBUG: ADDED KEY-VAL :: 'DNS|NAMESERVER|2' = '192.168.50.16' DEBUG: Processing line: 'NAMESERVER|3 = 192.168.60.15' DEBUG: ADDED KEY-VAL :: 'DNS|NAMESERVER|3' = '192.168.60.15' DEBUG: Processing line: '' DEBUG: Empty line. Ignored. DEBUG: Processing line: '[DATETIME]' DEBUG: FOUND CATEGORY = DATETIME DEBUG: Processing line: 'TIMEZONE = America/New_York' DEBUG: ADDED KEY-VAL :: 'DATETIME|TIMEZONE' = 'America/New_York' DEBUG: Processing line: 'UTC = yes' DEBUG: ADDED KEY-VAL :: 'DATETIME|UTC' = 'yes' DEBUG: Reading issue file ... DEBUG: Command: 'cat /etc/issue' DEBUG: Result: Ubuntu 16.04.2 LTS \n \l DEBUG: Exit Code: 0 DEBUG: Ubuntu 16.04.2 LTS \n \l DEBUG: Reading issue file ... DEBUG: Command: 'cat /etc/issue' DEBUG: Result: Ubuntu 16.04.2 LTS \n \l DEBUG: Exit Code: 0 DEBUG: Ubuntu 16.04.2 LTS \n \l DEBUG: Reading /etc/os-release file ... DEBUG: opening file /etc/os-release. DEBUG: Match found : Line = PRETTY_NAME="Ubuntu 16.04.2 LTS" DEBUG: Actual String : "Ubuntu 16.04.2 LTS" DEBUG: "Ubuntu 16.04.2 LTS" WARNING: Amazon Linux flavor not detected DEBUG: Reading issue file ... DEBUG: Command: 'cat /etc/issue' DEBUG: Result: Ubuntu 16.04.2 LTS \n \l DEBUG: Exit Code: 0 DEBUG: Ubuntu 16.04.2 LTS \n \l WARNING: RedHat release file not available. Ignoring it. WARNING: Redhat flavor not detected DEBUG: Reading issue file ... DEBUG: Command: 'cat /etc/issue' DEBUG: Result: Ubuntu 16.04.2 LTS \n \l DEBUG: Exit Code: 0 DEBUG: Ubuntu 16.04.2 LTS \n \l WARNING: RedHat release file not available. Ignoring it. WARNING: Redhat flavor not detected DEBUG: Command: 'cat /etc/lsb-release' DEBUG: Result: DISTRIB_ID=Ubuntu DISTRIB_RELEASE=16.04 DISTRIB_CODENAME=xenial DISTRIB_DESCRIPTION="Ubuntu 16.04.2 LTS" DEBUG: Exit Code: 0 DEBUG: Command: 'cat /etc/issue' DEBUG: Result: Ubuntu 16.04.2 LTS \n \l DEBUG: Exit Code: 0 DEBUG: Command: 'cat /etc/issue' DEBUG: Result: Ubuntu 16.04.2 LTS \n \l DEBUG: Exit Code: 0 DEBUG: Reading issue file ... DEBUG: Command: 'cat /etc/issue' DEBUG: Result: Ubuntu 16.04.2 LTS \n \l DEBUG: Exit Code: 0 DEBUG: Ubuntu 16.04.2 LTS \n \l DEBUG: Command: 'cat /etc/lsb-release' DEBUG: Result: DISTRIB_ID=Ubuntu DISTRIB_RELEASE=16.04 DISTRIB_CODENAME=xenial DISTRIB_DESCRIPTION="Ubuntu 16.04.2 LTS" DEBUG: Exit Code: 0 DEBUG: Reading issue file ... DEBUG: Command: 'cat /etc/issue' DEBUG: Result: Ubuntu 16.04.2 LTS \n \l DEBUG: Exit Code: 0 DEBUG: Ubuntu 16.04.2 LTS \n \l INFO: Detected distribution: Ubuntu 16.04 DEBUG: Reading issue file ... DEBUG: Command: 'cat /etc/issue' DEBUG: Result: Ubuntu 16.04.2 LTS \n \l DEBUG: Exit Code: 0 DEBUG: Ubuntu 16.04.2 LTS \n \l INFO: Detected distribution flavour: Ubuntu 16.04 INFO: Customization instance Ubuntu15Customization loaded. INFO: Customization started DEBUG: Command: 'hostname 2>/dev/null' DEBUG: Result: ubnt1604tmpl DEBUG: Exit Code: 0 DEBUG: TimedCommand: 'hostname -f 2>/dev/null' with timeout of 5 sec DEBUG: Fetching result from /tmp/timed_out_tmp_file_765 DEBUG: TimedResult: ubnt1604tmpl DEBUG: opening file /etc/hostname. DEBUG: Match found : Line = ubnt1604tmpl DEBUG: Actual String : ubnt1604tmpl INFO: OLD HOST NAME = ubnt1604tmpl INFO: Marker file exists or is undefined, pre-customization is not needed INFO: Customizing Network settings ... INFO: Erasing DHCP leases DEBUG: Command: 'pkill dhclient' DEBUG: Result: DEBUG: Exit Code: 256 DEBUG: Command: 'rm -f /var/lib/dhcp/*' DEBUG: Result: DEBUG: Exit Code: 0 DEBUG: Set the host name to VMToolsNotWork via [hostnamectl set-hostname] DEBUG: Command: 'hostnamectl set-hostname VMToolsNotWork' DEBUG: Result: DEBUG: Exit Code: 256 DEBUG: Host name is VMToolsNotWork DEBUG: opening file for writing (/etc/hostname). DEBUG: Command: 'chmod 644 /etc/hostname' DEBUG: Result: DEBUG: Exit Code: 0 INFO: Customizing NICS ... DEBUG: Command: 'modprobe pcnet32 2> /dev/null' DEBUG: Result: DEBUG: Exit Code: 0 DEBUG: Command: '/sbin/ifconfig eth0 2> /dev/null' DEBUG: Result: DEBUG: Exit Code: 256 INFO: Customizing NICS. { NIC1 } INFO: Customizing NIC NIC1 DEBUG: Get interface name for MAC 00:50:56:92:4f:88, via [ip addr show] DEBUG: Command: 'whereis ip' DEBUG: Result: ip: /bin/ip /sbin/ip /usr/share/man/man7/ip.7.gz /usr/share/man/man8/ip.8.gz DEBUG: Exit Code: 0 DEBUG: Command: '/bin/ip addr show' DEBUG: Result: 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens160: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 00:50:56:92:4f:88 brd ff:ff:ff:ff:ff:ff DEBUG: Exit Code: 0 INFO: NIC suffix = ens160 INFO: No primary NIC defined. Adding all routes as default. INFO: Configuring ipv4 route (gateway settings) for ens160. INFO: Configuring default route 192.168.50.1 INFO: Query config for ^(NIC1\|IPv6ADDR\|) INFO: Query config for ^(NIC1\|IPv6NETMASK\|) INFO: Query config for ^(NIC1\|IPv6ADDR\|) INFO: Query config for ^(NIC1\|IPv6NETMASK\|) INFO: Query config for ^NIC1(\|IPv6GATEWAY\|) DEBUG: Command: 'mv /etc/network/interfaces /etc/network/interfaces.BeforeVMwareCustomization' DEBUG: Result: DEBUG: Exit Code: 0 DEBUG: opening file for writing (/etc/network/interfaces). INFO: Customizing Hosts file ... DEBUG: Old hostname=[ubnt1604tmpl] DEBUG: Old FQDN=[ubnt1604tmpl] DEBUG: New hostname=[VMToolsNotWork] DEBUG: Building FQDN. HostnameFQDN: VMToolsNotWork, Domainname: ad.kensycloud.com DEBUG: New FQDN=[VMToolsNotWork.ad.kensycloud.com] DEBUG: opening file /etc/hosts. DEBUG: Line (inp): 127.0.0.1 localhost DEBUG: Line (inp): 127.0.1.1 ubnt1604tmpl DEBUG: Replacing [ubnt1604tmpl] DEBUG: Replacing [ubnt1604tmpl] DEBUG: Adding [VMToolsNotWork.ad.kensycloud.com] DEBUG: Removing duplicating FQDNs DEBUG: Line (inp): DEBUG: Line (inp): # The following lines are desirable for IPv6 capable hosts DEBUG: Line (inp): ::1 localhost ip6-localhost ip6-loopback DEBUG: Line (inp): ff02::1 ip6-allnodes DEBUG: Line (inp): ff02::2 ip6-allrouters DEBUG: Static ip entry added DEBUG: Line (out): 127.0.0.1 localhost DEBUG: Line (out): 127.0.1.1 VMToolsNotWork.ad.kensycloud.com VMToolsNotWork DEBUG: Line (out): DEBUG: Line (out): # The following lines are desirable for IPv6 capable hosts DEBUG: Line (out): ::1 localhost ip6-localhost ip6-loopback DEBUG: Line (out): ff02::1 ip6-allnodes DEBUG: Line (out): ff02::2 ip6-allrouters DEBUG: Line (out): 192.168.50.98 VMToolsNotWork.ad.kensycloud.com VMToolsNotWork DEBUG: opening file for writing (/etc/hosts). DEBUG: Command: 'chmod 644 /etc/hosts' DEBUG: Result: DEBUG: Exit Code: 0 INFO: Customizing DNS ... DEBUG: opening file /etc/nsswitch.conf. DEBUG: opening file for writing (/etc/nsswitch.conf). DEBUG: Command: 'chmod 644 /etc/nsswitch.conf' DEBUG: Result: DEBUG: Exit Code: 0 DEBUG: opening file /etc/network/interfaces. INFO: Query config for ^(DNS\|SUFFIX\|) DEBUG: Match Found : DNS|SUFFIX|1 DEBUG: 0 INFO: Query config for ^(DNS\|NAMESERVER\|) DEBUG: Match Found : DNS|NAMESERVER|1 DEBUG: 0 DEBUG: Match Found : DNS|NAMESERVER|2 DEBUG: 1 DEBUG: Match Found : DNS|NAMESERVER|3 DEBUG: 2 DEBUG: opening file for writing (/etc/network/interfaces). INFO: Query config for ^(DNS\|SUFFIX\|) DEBUG: Match Found : DNS|SUFFIX|1 DEBUG: 0 DEBUG: opening file for writing (/etc/dhcp/dhclient.conf). DEBUG: Command: 'chmod 644 /etc/dhcp/dhclient.conf' DEBUG: Result: DEBUG: Exit Code: 0 INFO: Query config for ^(DNS\|NAMESERVER\|) DEBUG: Match Found : DNS|NAMESERVER|1 DEBUG: 0 DEBUG: Match Found : DNS|NAMESERVER|2 DEBUG: 1 DEBUG: Match Found : DNS|NAMESERVER|3 DEBUG: 2 DEBUG: opening file for writing (/etc/dhcp/dhclient.conf). DEBUG: Command: 'chmod 644 /etc/dhcp/dhclient.conf' DEBUG: Result: DEBUG: Exit Code: 0 INFO: Customizing Date&Time ... DEBUG: opening file /tmp/.vmware-imgcust-daPpUsg/scripts/tzdata/backward. DEBUG: Command: 'ln -sf /usr/share/zoneinfo/America/New_York /etc/localtime' DEBUG: Result: DEBUG: Exit Code: 0 DEBUG: opening file for writing (/etc/timezone). DEBUG: Command: 'whereis hwclock' DEBUG: Result: hwclock: /sbin/hwclock /usr/share/man/man5/hwclock.5.gz /usr/share/man/man8/hwclock.8.gz DEBUG: Exit Code: 0 DEBUG: Command: '/sbin/hwclock --systohc --utc' DEBUG: Result: DEBUG: Exit Code: 0 INFO: Marker file exists or is undefined, password settings are not needed INFO: Marker file exists or is undefined, post-customization is not needed INFO: Marker creation is not needed INFO: Customization completed. DEBUG: Removing lock file /var/lock/vmware/gosc. Customization command failed: Failed to create bus connection: No such file or directory Customization process returned with error. Deployment result = -1 Setting unknown error status in vmx. Transitioning from state INPROGRESS to state ERRORED. ENTER STATE ERRORED EXIT STATE INPROGRESS Setting deploy error: Deployment failed. The forked off process returned error code. Deployment failed. The forked off process returned error code. Launching cleanup. Command to exec : /bin/rm sizeof ProcessInternal is 56 Returning, pending output from stdout Returning, pending output from stderr Process exited normally after 0 seconds, returned 0 No more output from stdout No more output from stderr Customization command output: sSkipReboot: false, forceSkipReboot false Deploy error: Deployment failed. The forked off process returned error code. Package deploy failed in DeployPkg_DeployPackageFromFile ## Closing log
I’ve paged through the output a fair bit but haven’t been able to hone in on the actual issue. Line 409 is where the first indicator of failure occurs.
I am going to see if there are any other users out there reporting similar issues. For now, I am going to use sudo apt-mark hold open-vm-tools in order to keep open-vm-tools from updating in my templates. This isn’t ideal, obviously, but I also can’t keep rolling back vRA deploys.
I haven’t tried later versions of open-vm-tools in CentOS or RHEL yet so I am not sure if they also have issues – I doubt that they do because I think this is an Ubuntu backport issue. I did want to mention that by holding open-vm-tools back I am able to update the entire template without issue. Further, once the template is deployed I am able to upgrade open-vm-tools without issue – it just seems that for some reason guest customization is failing on on open-vm-tools 10.2.0-3.
One other thing worth mentioning, I do believe I heard or read something about the latest version of open-vm-tools in Ubuntu being a backport of that in 18.04 LTS which, as you may know, has some significant changes involved in how networking is handled. It’s possible that the backport breaks 16.04 LTS functionality.
Let me know if you have similar results or have found a solution to this problem. I will be sure to update this post should I find a solution also!
July 11, 2019
I currently see issues with both Ubunt 16 and 18 specially around using static IPs with cloud-init present on the templates. in my case cloud-init fails to execute cloud config code ( UserDate ) cause it conflicts with VMware customization . i was always using 10.2.0 of open-vm-tools cause that’s whats gets installed when you build a new ubuntu VM using the iso now a days..
July 11, 2019
I currently see issues with both Ubunt 16 and 18 specially around using static IPs with cloud-init present on the templates. in my case cloud-init fails to execute cloud config code ( UserDate ) cause it conflicts with VMware customization . i was always using 10.2.0 of open-vm-tools cause that’s whats gets installed when you build a new ubuntu VM using the iso now a days..
March 14, 2019
I also have this issue with Ubuntu Server 16.04 LTS templates with open-vm-tools 10.2.0-3. But for me, it’s more of a random thing that it fails or succeeds.
Sometimes the deployed VM gets customized successfully,
Sometimes its gets customized but, virtual NIC does not get connected, and all it needs is manually connecting it (and also checking Connect At Power On),
Sometimes it does not get customized at all and the deployed VM gets some Datastore ISO attached, and virtual NIC disconnected. In this scenario, I disconnect the Datastore ISO and connect Client Device, get the virtual NIC connected, and reboot guest OS, then the VM gets customized alright.
Strange.
August 8, 2018
I love technically literate articles, thank you for your hard work, I really enjoyed reading your blog
July 27, 2018
There’s an issue with tools posting the customization spec to the /tmp directory, which gets wiped out on reboot causing the customization to fail. Could be what you’re running into.
See http://kb.vmware.com/s/article/56409
July 29, 2018
jojo – that seems to only apply to 18.04 LTS though?
July 25, 2018
There are prior problems.
One is:
DEBUG: Set the host name to VMToolsNotWork via [hostnamectl set-hostname]
DEBUG: Command: ‘hostnamectl set-hostname VMToolsNotWork’
DEBUG: Result:
DEBUG: Exit Code: 256
the exit code should be 0, AFAIK.
The other is much earlier:
“cloud-init is not installed”
I believe it is possible to customize a Linux VM without cloud-init, but then you’re running – as the output indicates – the legacy code that tries to do everything by hand. The error you’ve reported is most likely a DBus failure, although I can’t see why it would be happening.
While it might not be ideal for your purposes, I would try installing cloud-init on your template and see if that makes it “just work”.
July 25, 2018
Thanks Adam! Yep, I did see that later (I wrote this at like 5AM haha). I’ve never had to use cloud-init in fact I thought that would be related to the line that reads similar to “Amazon flavor of Linux not detected..” – not sure. I will give it a shot though and do more testing.