Friday, 30 December 2016

VMware Fusion, Red Hat Enterprise Linux 7.3 and the Case of the Missing VMware Tools

So, having built out a new VM comprising Red Hat Enterprise Linux 7.3 ( aka Maipo ), I was startled to realise that VMware Tools was missing.

Because, of course, I'd forgotten to install them.

However, things got more tricky, as VMware themselves say: -

Open VM Tools is the open source implementation of VMware Tools and consist of a suite of virtualization utilities that improves the functionality, administration, and management of virtual machines on VMware hypervisors. VMware recommends using the Open VM Tools redistributed by the operating system vendors. To use Open VM Tools:

VMware Tools in a Red Hat Enterprise Linux 7 Guest

This, therefore, is what I did: -

yum install -y open-vm-tools

Loaded plugins: langpacks, product-id, rhnplugin, search-disabled-repos, subscription-manager
This system is receiving updates from RHN Classic or Red Hat Satellite.
Resolving Dependencies
--> Running transaction check
---> Package open-vm-tools.x86_64 0:10.0.5-2.el7 will be installed
--> Processing Dependency: fuse for package: open-vm-tools-10.0.5-2.el7.x86_64
--> Processing Dependency: libfuse.so.2(FUSE_2.5)(64bit) for package: open-vm-tools-10.0.5-2.el7.x86_64
--> Processing Dependency: libfuse.so.2(FUSE_2.6)(64bit) for package: open-vm-tools-10.0.5-2.el7.x86_64
--> Processing Dependency: libmspack.so.0()(64bit) for package: open-vm-tools-10.0.5-2.el7.x86_64
--> Processing Dependency: libdnet.so.1()(64bit) for package: open-vm-tools-10.0.5-2.el7.x86_64
--> Processing Dependency: libfuse.so.2()(64bit) for package: open-vm-tools-10.0.5-2.el7.x86_64
--> Processing Dependency: libicuuc.so.50()(64bit) for package: open-vm-tools-10.0.5-2.el7.x86_64
--> Processing Dependency: libicudata.so.50()(64bit) for package: open-vm-tools-10.0.5-2.el7.x86_64
--> Processing Dependency: libicui18n.so.50()(64bit) for package: open-vm-tools-10.0.5-2.el7.x86_64
--> Running transaction check
---> Package fuse.x86_64 0:2.9.2-7.el7 will be installed
---> Package fuse-libs.x86_64 0:2.9.2-7.el7 will be installed
---> Package libdnet.x86_64 0:1.12-13.1.el7 will be installed
---> Package libicu.x86_64 0:50.1.2-15.el7 will be installed
---> Package libmspack.x86_64 0:0.5-0.4.alpha.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

============================================================================================================================================================================================================
 Package                                         Arch                                     Version                                              Repository                                              Size
============================================================================================================================================================================================================
Installing:
 open-vm-tools                                   x86_64                                   10.0.5-2.el7                                         rhel-x86_64-server-7                                   513 k
Installing for dependencies:
 fuse                                            x86_64                                   2.9.2-7.el7                                          rhel-x86_64-server-7                                    85 k
 fuse-libs                                       x86_64                                   2.9.2-7.el7                                          rhel-x86_64-server-7                                    93 k
 libdnet                                         x86_64                                   1.12-13.1.el7                                        rhel-x86_64-server-7                                    31 k
 libicu                                          x86_64                                   50.1.2-15.el7                                        rhel-x86_64-server-7                                   6.9 M
 libmspack                                       x86_64                                   0.5-0.4.alpha.el7                                    rhel-x86_64-server-7                                    64 k

Transaction Summary
============================================================================================================================================================================================================
Install  1 Package (+5 Dependent packages)

Total download size: 7.6 M
Installed size: 26 M
Downloading packages:
(1/6): fuse-2.9.2-7.el7.x86_64.rpm                                                                                                                                                   |  85 kB  00:00:00     
(2/6): fuse-libs-2.9.2-7.el7.x86_64.rpm                                                                                                                                              |  93 kB  00:00:00     
(3/6): libdnet-1.12-13.1.el7.x86_64.rpm                                                                                                                                              |  31 kB  00:00:00     
(4/6): libicu-50.1.2-15.el7.x86_64.rpm                                                                                                                                               | 6.9 MB  00:00:12     
(5/6): libmspack-0.5-0.4.alpha.el7.x86_64.rpm                                                                                                                                        |  64 kB  00:00:00     
(6/6): open-vm-tools-10.0.5-2.el7.x86_64.rpm                                                                                                                                         | 513 kB  00:00:01     
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                                                       392 kB/s | 7.6 MB  00:00:19     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : libmspack-0.5-0.4.alpha.el7.x86_64                                                                                                                                                       1/6 
  Installing : libdnet-1.12-13.1.el7.x86_64                                                                                                                                                             2/6 
  Installing : libicu-50.1.2-15.el7.x86_64                                                                                                                                                              3/6 
  Installing : fuse-libs-2.9.2-7.el7.x86_64                                                                                                                                                             4/6 
  Installing : fuse-2.9.2-7.el7.x86_64                                                                                                                                                                  5/6 
  Installing : open-vm-tools-10.0.5-2.el7.x86_64                                                                                                                                                        6/6 
  Verifying  : open-vm-tools-10.0.5-2.el7.x86_64                                                                                                                                                        1/6 
  Verifying  : fuse-2.9.2-7.el7.x86_64                                                                                                                                                                  2/6 
  Verifying  : fuse-libs-2.9.2-7.el7.x86_64                                                                                                                                                             3/6 
  Verifying  : libicu-50.1.2-15.el7.x86_64                                                                                                                                                              4/6 
  Verifying  : libdnet-1.12-13.1.el7.x86_64                                                                                                                                                             5/6 
  Verifying  : libmspack-0.5-0.4.alpha.el7.x86_64                                                                                                                                                       6/6 

Installed:
  open-vm-tools.x86_64 0:10.0.5-2.el7                                                                                                                                                                       

Dependency Installed:
  fuse.x86_64 0:2.9.2-7.el7          fuse-libs.x86_64 0:2.9.2-7.el7          libdnet.x86_64 0:1.12-13.1.el7          libicu.x86_64 0:50.1.2-15.el7          libmspack.x86_64 0:0.5-0.4.alpha.el7         

Complete!

Having configured the VM to support Shared Folders and share a local ( to the Mac ) folder with the VM: -


I was then able to use the vmware-hgfsclient command: -

vmware-hgfsclient 

which returns: -

Repo

and then mount the remote folder ( Repo ) to the local folder ( /mnt ): -

vmhgfs-fuse -o allow_other .host:/Repo /mnt/

The mount command shows this: -

vmhgfs-fuse on /mnt type fuse.vmhgfs-fuse (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other)

Interestingly, the folder does NOT auto mount on reboot, which is different to the way that things used to work with VMware Fusion and older versions of Red Hat :-(

However, that was easily fixed by appending this: -

.host:/Repo /mnt fuse.vmhgfs-fuse allow_other,uid=1000,gid=1000,auto_unmount,defaults 0 0

to the /etc/fstab file, to ensure auto mounting post-reboots.

For the record, this is the guest: -

cat /etc/redhat-release 

Red Hat Enterprise Linux Server release 7.3 (Maipo)

uname -r

3.10.0-514.2.2.el7.x86_64

and this is the host: -

No comments:

Note to self - use kubectl to query images in a pod or deployment

In both cases, we use JSON ... For a deployment, we can do this: - kubectl get deployment foobar --namespace snafu --output jsonpath="{...