craigwatson / puppet-vmwaretools

Puppet module for non-OSP VMware Tools Installation
http://forge.puppetlabs.com/CraigWatson1987/vmwaretools
Apache License 2.0
27 stars 40 forks source link

vmwaretools will fail to install on new CentOS7 machines #55

Closed anthonysomerset closed 9 years ago

anthonysomerset commented 9 years ago

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

craigwatson commented 9 years ago

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.

anthonysomerset commented 9 years ago

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

anthonysomerset commented 9 years ago

seems that this only happens on CentOS7 - CentOS 6 does not have this behaviour

davidc commented 9 years ago

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!

mattiasgeniar commented 9 years ago

A really dirty fix is to pipe 'yes' to the installer;

echo 'yes' | ~/vmware-tools-distrib/vmware-install.pl -d
craigwatson commented 9 years ago

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?

mattiasgeniar commented 9 years ago

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.

craigwatson commented 9 years ago

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.

mattiasgeniar commented 9 years ago

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 ...

anthonysomerset commented 9 years ago

I can confirm this bug exists on Ubuntu 14.04 LTS as well now

anthonysomerset commented 9 years ago

a plain echo 'yes' | ~/vmware-tools-distrib/vmware-install.pl without the -d flag appears to work ok

craigwatson commented 9 years ago

Thanks @anthonysomerset - @mattiasgeniar can you confirm if this also works for you?

mattiasgeniar commented 9 years ago

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]
...
craigwatson commented 9 years ago

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 :)

anthonysomerset commented 9 years ago

this appears to work for ubuntu at least :)

anthonysomerset commented 9 years ago

also works on CentOS 7.x

craigwatson commented 9 years ago

Thanks for the confirmation, I'll get 1.4.0 out to the Forge tomorrow :)

craigwatson commented 9 years ago

Closing this issue as 1.4.0 is now live on the forge - apologies for the delay!

Cheers for your help guys, much appreciated :+1: