John Wolfe [Tue, 21 Dec 2021 20:48:50 +0000 (12:48 -0800)]
containerInfo Plugin: list the Docker and Kubernetes containers in a guest VM.
Added code for a new open-vm-tools plugin, containerInfo.
- Added a new configure option --disable-containerinfo to disable building
the containerinfo plugin.
--disable-containerinfo : Will not check for any dependent packages and
will not build the containerinfo plugin.
--enable-containerinfo=no : Same as --disable-containerinfo
--enable-containerinfo=auto : Checks for the dependent packages. If they
are available, then the containerinfo plugin
will be built. Otherwise, a warning is printeds
and the containerinfo plugin will be skipped.
--enable-containerinfo
--enable-containerinfo=yes : Checks for the dependent packages. If they are
available, then the containerinfo plugin will
be built. Otherwise, the configure will
terminate with an error.
- Updated the sample tools.conf file with various settings related to
the containerinfo plugin.
- Due to an issue reported in https://github.com/protocolbuffers/protobuf/issues/9184,
implemented a workaround by changing 'import weak ' to 'import ' in the
.proto files while generating the header files.
Build dependencies: (packages names may vary with Linux release).
- or -
- libcurl4-openssl-dev libcurl-devel
- protobuf-compiler protobuf-compiler
- libprotobuf-dev protobuf-devel
- protobuf-compiler-grpc grpc-plugins
- libgrpc++-dev grpc-devel
- golang-github-containerd-containerd-dev containerd-devel
- golang-github-gogo-protobuf-dev
John Wolfe [Fri, 19 Nov 2021 19:40:50 +0000 (11:40 -0800)]
[AsyncSocket] Avoid a potential NULL pointer dereference in a log message.
A log message in AsyncTCPSocketListenerCreateImpl() accesses an error code
through an optional parameter. Introduce a local error variable to
capture any error code from called functions and have it available for the
log message.
John Wolfe [Mon, 8 Nov 2021 21:33:58 +0000 (13:33 -0800)]
Code clean up.
- Fix assignments of pointer to constant data to a non-constant
pointer type.
- Remove code that has been commented out.
- Updated treatment of pointers as a boolean expression to be
a true boolean expression.
- Fixed some formatting issues.
Update appinfo to remove duplicate applications from guestVar.
Add a "remove-duplicates" tools.conf key, which is enabled by default.
Setting "remove-duplicates=false" disables the functionality.
John Wolfe [Fri, 24 Sep 2021 00:48:02 +0000 (17:48 -0700)]
Prepare to make the 11.3.5 OVT release announcement.
- ReleaseNotes.md - copy in the initial (final ?) 11.3.5 OVT release notes.
- configure.ac = set the tools version to 11.3.5.
- buildNumber.h - set the build and product number from the internal
release build.
John Wolfe [Mon, 20 Sep 2021 15:07:36 +0000 (08:07 -0700)]
Log the guest OS name and full name.
Added a log message for the guest OS name and full name that is sent as
guestInfo. Messages are logged only when the guestInfo is successfully
updated to the VMX log.
John Wolfe [Tue, 24 Aug 2021 03:13:36 +0000 (20:13 -0700)]
Removal of the hgfsmounter/mount.vmhgfs command from open-vm-tools.
The hgfsmounter (mount.vmhgfs) command is no longer used in Linux
open-vm-tools. It has been replaced by hgfs-fuse. Remove
all references to the hgfsmounter in Linux builds.
John Wolfe [Fri, 13 Aug 2021 18:35:59 +0000 (11:35 -0700)]
Remove the mount.vmhgfs from open-vm-tools.
The hgfsmounter (mount.vmhgfs) command is no longer used in Linux
open-vm-tools. It has been replaced by hgfs-fuse. Therefore, removing
all references to the hgfsmounter in Linux builds.
John Wolfe [Fri, 13 Aug 2021 18:35:58 +0000 (11:35 -0700)]
VmCheck_IsVirtualWorld(): assume VMware hypervisor if USE_VALGRIND is defined.
Updating the VmCheck_IsVirtualWorld() function to assume that if the
open-vm-tools build was configured with "--enable-valgrind", the tools
will be used on a VMware hypervisor for memory leak detection. In this
case, simply return TRUE and avoid touching the backdoor.
The "backdoor" touch test cannot be handled by Valgrind.
John Wolfe [Fri, 13 Aug 2021 18:35:58 +0000 (11:35 -0700)]
Added a configurable logging capability to the network script.
The network script has been updated to:
- use the vmware-toolbox-cmd to query any network logging configuration.
- use 'vmtoolsd --cmd "log ..."' to log a message to the vmx logfile
when the logginging handler is configured to "vmx" or when the logfile
is full or is not writeable.
Added an example configuration in the tools.conf example file.
John Wolfe [Fri, 13 Aug 2021 18:35:58 +0000 (11:35 -0700)]
Use os-release preferentially for guest identification.
If the "score" of the Linux guest identification from os-release is
the same as from the LSB score, use the os-release data. The os-release
standard is well established and the LSB is deprecated.
John Wolfe [Fri, 13 Aug 2021 18:35:58 +0000 (11:35 -0700)]
Customization: Retry the Linux reboot if telinit is a soft link to systemctl.
Issues have been reported on some newer versions of Linux where the VM
failed to reboot at the end of a traditional customization. The command
'/sbin/telinit 6' exited abnormally due to SIGTERM sent by systemd and
where telinit is a symlink to systemctl.
This fix checks if telinit is a soft link to systemctl and if yes, retries
a system reboot until the telinit command succeeds or the reboot literally
happens.
John Wolfe [Thu, 12 Aug 2021 19:46:05 +0000 (12:46 -0700)]
VmCheck_IsVirtualWorld(): assume VMware hypervisor if USE_VALGRIND is defined.
Updating the VmCheck_IsVirtualWorld() function to assume that if the
open-vm-tools build was configured with "--enable-valgrind", the tools
will be used on a VMware hypervisor for memory leak detection. In this
case, simply return TRUE and avoid touching the backdoor.
The "backdoor" touch test cannot be handled by Valgrind.