vmwaretools will fail to install on new CentOS7 machines
anthonysomerset opened this issue · comments
With vSphere 5.5 and Vmware Tools version: 9.4.10-2068191
puppet will fail to install on new vm's
when you run the same tools install manually the first question is new and defaults to no (exit installer):
open-vm-tools are available from the OS vendor and VMware recommends using
open-vm-tools. See http://kb.vmware.com/kb/2073803 for more information.
Do you still want to proceed with this legacy installer? [no]
the behaviour exhibited by Puppet is that it will run the download, extract, install clean routines on every runtime of puppet without actually installing the tools
Thanks for this - I had no idea VMware was actively recommending open-vm-tools
, I assume it's just with vSphere 5.5?
Can you test on Debian/Ubuntu too and see if you have the same message? I can add CentOS/RHEL 7 to the list of ignored OSes until I can figure out a way to feed a "yes" into that prompt.
i should note that upgrades of tools already installed works fine.
I'd personally prefer to use the matching versions where i can to be honest rather than the often slightly out of date distro provided version. It also makes it easier for me to manage the installed vmware tools version from puppet :)
we are exclusively CentOS here so debian/Ubuntu testing will take me a little time, i will try and provision a vm manually and do a puppet run and see what happens
seems that this only happens on CentOS7 - CentOS 6 does not have this behaviour
I can confirm that this also happens with Debian 7.7 and ESXi 5.5 and vmware-tools 9.4.10-2068191. I'm not sure of their logic here as Debian aren't going to be upgrading vmware-tools in wheezy, so what happens when ESXi 6.0 comes out!
A really dirty fix is to pipe 'yes' to the installer;
echo 'yes' | ~/vmware-tools-distrib/vmware-install.pl -d
Oof, that is a dirty fix, but it may be the only option!
Would an override_install
parameter be good, or do you think it's just worth replacing the install command?
I'm not sure, in my fork of your repo I'm now trying our runs with "echo 'yes' | ...", and so far that's just going fine.
If all the defaults are OK, and there's no prompt, the 'yes' won't do much either. It seems like a safe option, but I'm unsure on what edge cases I haven't thought of yet.
Thinking about it, echo 'yes'
does much the same as the -d
switch (i.e. accept all defaults), so I guess there's not much of a difference.
If you can confirm that all seems OK, I'll make the change to master.
I was wrong indeed, my tests where it seemed to work were actually flawed. Piping yes doesn't work.
So far, there's no fix it seems ...
I can confirm this bug exists on Ubuntu 14.04 LTS as well now
a plain
echo 'yes' | ~/vmware-tools-distrib/vmware-install.pl
without the -d flag appears to work ok
Thanks @anthonysomerset - @mattiasgeniar can you confirm if this also works for you?
Confirmed, it works by piping "yes" to the vmware-tools installere, if the -d flag is ommitted.
$ echo 'yes' | ./vmware-install.pl
open-vm-tools are available from the OS vendor and VMware recommends using
open-vm-tools. See http://kb.vmware.com/kb/2073803 for more information.
Do you still want to proceed with this legacy installer? [no]
Creating a new VMware Tools installer database using the tar4 format.
Installing VMware Tools.
In which directory do you want to install the binary files?
[/usr/bin]
What is the directory that contains the init directories (rc0.d/ to rc6.d/)?
[/etc/rc.d]
What is the directory that contains the init scripts?
[/etc/rc.d/init.d]
...
Fantastic, thanks @mattiasgeniar and @anthonysomerset.
Can you both pull from master on GitHub and set the force_install
parameter to true
?
If it works as expected, I'll release version 1.4.0 of the module to the Forge when time permits :)
this appears to work for ubuntu at least :)
also works on CentOS 7.x
Thanks for the confirmation, I'll get 1.4.0 out to the Forge tomorrow :)
Closing this issue as 1.4.0 is now live on the forge - apologies for the delay!
Cheers for your help guys, much appreciated 👍