Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CentOs 7 on vmware has non existent VMWareTools #747

Closed
spuder opened this issue Dec 28, 2016 · 9 comments
Closed

CentOs 7 on vmware has non existent VMWareTools #747

spuder opened this issue Dec 28, 2016 · 9 comments
Labels
Expeditor: Skip Changelog Used to skip built_in:update_changelog.

Comments

@spuder
Copy link

spuder commented Dec 28, 2016

 packer build --only=vmware-iso centos-7.3-x86_64.json
vmware-iso output will be in this color.

1 error(s) occurred:

* Bad source 'VMwareTools-10.1.0-4449150.tar.gz': stat VMwareTools-10.1.0-4449150.tar.gz: no such file or directory

This is caused by the following lines

https://github.com/chef/bento/blob/master/centos-7.3-x86_64.json#L138-L142

This was introduced here:

292a39f

The work around is to pre-download VMwareTools-10.1.0-4449150.tar.gz to your drive before running packer build. That is inconsistent with all other bento images, and is confusing if you aren't familiar with packer.

Furthermore you must have a vmware account to download specific versions of vmware tools. Even if you have an account, vmware does not make it easy to download previous versions. The current download revision is VMware-Tools-10.0.0-3000743.tar.gz and there is no link I can find to download VMwareTools-10.1.0-4449150.tar.gz

screenshot 2016-12-28 10 07 07

@spuder spuder changed the title CentOs 7 on vmware has non existant VMWareTools CentOs 7 on vmware has non existent VMWareTools Dec 28, 2016
spuder referenced this issue Dec 28, 2016
Signed-off-by: Seth Thomas <sthomas@chef.io>
@rickard-von-essen
Copy link
Collaborator

I think you should complain to VMware 😉

@spuder
Copy link
Author

spuder commented Dec 28, 2016

I think the centos 7 template should be consistent with others and not require specific files in specific directories. Go ahead and try and build it yourself, see how far you get.

@cheeseplus
Copy link
Contributor

cheeseplus commented Dec 28, 2016

It's inconsistent because it's literally the only way to get it to build currently on 7.3 - please review the PR and commit for why this is - once vmware fixes it, I'll update but currently this is a problem on the VMware side.

We're at the mercy of vmware so either nobody gets a bento/centos-7.3 or we sideload the drivers.
#739 (comment)

A quick googling will reveal both the release notes and download link (does require a login) https://my.vmware.com/group/vmware/details?downloadGroup=VMTOOLS1010&productId=491

@bdwyertech
Copy link
Contributor

bdwyertech commented Dec 29, 2016

You can just download from vmware and replace linux.iso and linux.iso.sig with those in the archive.

VMware Tools Link

For VMware Fusion, that's at /Applications/VMware Fusion.app/Contents/Library/isoimages

The install script at that point would look like

# Install FUSE Drivers (Filesystem in Userspace)
  yum install -y fuse fuse-libs

# Install from Source
  echo
  echo 'Extracting VMware Tools, please wait...'
  mkdir /tmp/vmwaretools
  mkdir /tmp/vmwaretools-archive
  mount -o loop /home/vagrant/linux.iso /tmp/vmwaretools
  tar xzf /tmp/vmwaretools/VMwareTools-*.tar.gz -C /tmp/vmwaretools-archive
  echo 'Installing VMware Tools, please wait...'
  /tmp/vmwaretools-archive/vmware-tools-distrib/vmware-install.pl --default --force-install
  systemctl restart vmware-tools.service

# Cleanup
  umount /tmp/vmwaretools
  rm -rf /tmp/vmwaretools
  rm -rf /tmp/vmwaretools-archive
  rm /home/vagrant/*.iso

@cheeseplus
Copy link
Contributor

The reason I didn't do that is that asking folks to modify their application files out of band felt slightly worse than having them sideloaded via Packer. The common vmware.sh script should work for this so when vmware updates things we'll go back to using it.

@bdwyertech
Copy link
Contributor

bdwyertech commented Dec 29, 2016

@cheeseplus Oh for sure, the real fix here is probably to get CentOS to update the open-vm-tools package updated to 10.1.0. I'll try and figure out how to request that.

This line fixed it. https://github.com/vmware/open-vm-tools/blob/e0a7b4e98bd6d6af06d31212dfdc82610d37e4d3/open-vm-tools/modules/linux/vmhgfs/page.c#L1648

@mvermaes
Copy link
Contributor

mvermaes commented Jan 3, 2017

@bdwyertech I think CentOS will only receive an updated open-vm-tools when Red Hat releases one. It looks like 10.1.0 is in the works, at least for CentOS 6 - I've added a request for RHEL/CentOS 7 to their Bugzilla as well now.

I'll be interested to try it out when available, as I had thought that the FUSE version of vmhgfs was not going to be supported with the older RHEL/CentOS kernels. The open-vm-tools release notes previously referred to a 4.0.0 kernel requirement, but that reference was removed when the docs were updated for 10.1, so maybe the requirement has changed.

The VMware docs still refer to the need to install vmhgfs from the proprietary tools package though.

@skyzyx
Copy link

skyzyx commented Jan 3, 2017

@bdwyertech: Wait, I'm confused. I'm able to build a working CentOS 7.3.1611 Vagrant box with Packer and the open-vm-tools-10.0.5-2.el7.x86_64 package from the CentOS "os" repository.

Is there a hard dependency on the newer release that I'm missing? I had read (I can't remember where at the moment) that with CentOS 7, the classic VMware Tools package is deprecated in favor of OpenVM Tools.

@cheeseplus: It's inconsistent because it's literally the only way to get it to build currently on 7.3 […]

Am I missing context?


Update: Ah, the HGFS problem.

I generally get around it by using NFS and explicitly disabling HGFS in my Vagrantfile.

But I can see why you'd want to fix that.

@cheeseplus
Copy link
Contributor

Yep, HGFS despite all the "everything works with open-vm-tools" statement we still need proprietary. I'm also going to side for more compatible vs more "free as in beer" because of how these are consumed by users and the expectations therein.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Expeditor: Skip Changelog Used to skip built_in:update_changelog.
Projects
None yet
Development

No branches or pull requests

7 participants