Added code to skip terminated/stopped containers. This is done
by using TaskStub to retrieve the pid for the running container.
If the pid cannot be retrieved, then that container is skipped.
The previously suppressed "default" namespace has been restored.
Fixed another minor issue with calculating the number of containers
that were added.
Note: This changeset introduces a dependency on Tasks.proto, and
Tasks.proto depends on a few other proto files like mount, metrics,
descriptor and task. Modified the makefile to generate the necessary
C++ files from the proto files.
Additional notes:
- .proto -> generates .pb.h, .pb.c and .grpc.pb.cc files.
- For compiling and building the library (.so file), the .grpc.pb.{h,cc}
and .pb.{h,cc} files are needed.
- The protoc compiler generates .pb.h and .pb.c files when the --cpp_out
option is specified.
- The protoc compiler generates .grpc.pb.* when the --grpc_out option is
specified.
John Wolfe [Fri, 21 Jan 2022 00:48:45 +0000 (16:48 -0800)]
The header added to the vmsvc log file is repeated at log file rotation.
The log entry with the tools version, tools build number and guest OS
details added at the start of the vmsvc log file is repeated when log
file rotation occurs.
John Wolfe [Sun, 2 Jan 2022 11:33:24 +0000 (03:33 -0800)]
Update ChangeLog with the granular changes through 12/31/21.
- granular push of Jan. 2, 2022
- plus ChangeLog update of Dec.25 - creation of stable-12.0.x branch.
John Wolfe [Sun, 2 Jan 2022 10:10:04 +0000 (02:10 -0800)]
The header added to the vmsvc log file is repeated at log file rotation.
The log entry with the tools version, tools build number and guest OS
details added at the start of the vmsvc log file is repeated when log
file rotation occurs.
John Wolfe [Sat, 25 Dec 2021 18:10:54 +0000 (10:10 -0800)]
====================================================================
The "stable-12.0.x" branch was created from the "devel" branch here.
====================================================================
Update ChangeLog with the granular push of Dec. 25, 2021.
- plus ChangeLog update of Dec. 21.
John Wolfe [Sat, 25 Dec 2021 17:51:13 +0000 (09:51 -0800)]
Salt-minion and componentMgr plugin updates.
Lastest version of the Salt Minion installer script.
The poll-interval of the componentMgr can be set to a minimum value of
five (5) seconds when compiled with -DVMX86_DEBUG.
John Wolfe [Tue, 21 Dec 2021 20:48:50 +0000 (12:48 -0800)]
Update open-vm-tools to build with either Fuse 3 or Fuse 2
Vendors are requesting that open-vm-tools can be built with either
Fuse 2 or Fuse 3. While both Fuse 2 and Fuse 3 runtime can be
installed on a Linux system, vendors would prefer to switch from
Fuse 2 to Fuse 3 at the same time for all products to be available
with the base OS.
Updating the configure.ac file to check for the presence of the Fuse 3
or Fuse 2 development packages in the build environment. Providing
configure options to allow users to control the version of Fuse to be
used.
--without-fuse - vmblock-fuse and vmhgfs-fuse will be disabled.
--with-fuse=fuse3|3 - use Fuse 3.x
--with-fuse=fuse|2 - use Fuse 2.x
--with-fuse=auto - check for Fuse 3 or Fuse 2 availability; disable
vmblock-fuse and vmhgfs-fuse if unavailable.
--with-fuse - implicit "yes".
--with-fuse=yes - check for Fuse 3 or Fuse 2 availability; disable
vmblock-fuse and vmhgfs-fuse if unavailable.
The vmblock-fuse code is also used by WorkStation. Configure defines
are not available in internal builds. Reworked preprocessor tests to
use FUSE_MAJOR_VERSION from the fuse headers to determine API to be
used during compilation.
John Wolfe [Tue, 21 Dec 2021 20:48:50 +0000 (12:48 -0800)]
Remove the collection of GRUB files from the vm-support script
GRUB configuration files have not been needed in the past. Therefore, as part
of this change, removing the code from vm-support script which collects any
grub configuration files.
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.