Use vmware-rpctool instead of vmtoolsd for performance reasons
diff --git a/DataSourceVMwareGuestInfo.py b/DataSourceVMwareGuestInfo.py
index 9fe83ac..3cf3450 100644
--- a/DataSourceVMwareGuestInfo.py
+++ b/DataSourceVMwareGuestInfo.py
@@ -38,7 +38,7 @@
LOG = logging.getLogger(__name__)
NOVAL = "No value found"
-VMTOOLSD = find_executable("vmtoolsd")
+VMWARE_RPCTOOL = find_executable("vmware-rpctool")
VMX_GUESTINFO = "VMX_GUESTINFO"
@@ -94,7 +94,7 @@
def __init__(self, sys_cfg, distro, paths, ud_proc=None):
sources.DataSource.__init__(self, sys_cfg, distro, paths, ud_proc)
if not get_data_access_method():
- LOG.error("Failed to find vmtoolsd")
+ LOG.error("Failed to find vmware-rpctool")
def get_data(self):
"""
@@ -107,7 +107,7 @@
such as calling persist_instance_data.
"""
if not get_data_access_method():
- LOG.error("vmtoolsd is required to fetch guestinfo value")
+ LOG.error("vmware-rpctool is required to fetch guestinfo value")
return False
# Get the metadata.
@@ -245,10 +245,10 @@
else:
return val
- if data_access_method == VMTOOLSD:
+ if data_access_method == VMWARE_RPCTOOL:
try:
(stdout, stderr) = util.subp(
- [VMTOOLSD, "--cmd", "info-get guestinfo." + key])
+ [VMWARE_RPCTOOL, "info-get guestinfo." + key])
if stderr == NOVAL:
LOG.debug("No value found for key %s", key)
elif not stdout:
@@ -517,8 +517,8 @@
def get_data_access_method():
if os.environ.get(VMX_GUESTINFO, ""):
return VMX_GUESTINFO
- if VMTOOLSD:
- return VMTOOLSD
+ if VMWARE_RPCTOOL:
+ return VMWARE_RPCTOOL
return None
diff --git a/dscheck_VMwareGuestInfo.sh b/dscheck_VMwareGuestInfo.sh
index f9d6e87..e226b9f 100644
--- a/dscheck_VMwareGuestInfo.sh
+++ b/dscheck_VMwareGuestInfo.sh
@@ -41,13 +41,13 @@
fi
fi
-if ! command -v vmtoolsd >/dev/null 2>&1; then
+if ! command -v vmware-rpctool >/dev/null 2>&1; then
exit 1
fi
-if { vmtoolsd --cmd "info-get guestinfo.metadata" || \
- vmtoolsd --cmd "info-get guestinfo.userdata" || \
- vmtoolsd --cmd "info-get guestinfo.vendordata"; } >/dev/null 2>&1; then
+if { vmware-rpctool "info-get guestinfo.metadata" || \
+ vmware-rpctool "info-get guestinfo.userdata" || \
+ vmware-rpctool "info-get guestinfo.vendordata"; } >/dev/null 2>&1; then
exit 0
fi