This article covers how FlexNet Manager Suite links guest machines to hosts using the FlexNet Agent and the vCenter discovery and inventory rules created within the FlexNet Manager Suite user interface.
To obtain correct license position, especially with IBM PVU data, the virtual machines within your vCenter estate must be allocated to the correct host. To link a host to a guest machine (virtual machine) while using vCenter, there are two required parts:
The VMware NDI file from the host machine. You can generate this file by querying the vCenter API while running a created vCenter rule.
The NDI file from the guest machine. This file generates as part of the normal inventory process.
When the vCenter rule runs within your estate, it generates VMware NDI files for each vCenter and each ESX server. The VMware NDI file contains data about the host machine under the VMWARE_ESXComputerSystem class for ESX hosts. This class includes a UUID (Universal Unique Identifier).
The VMware NDI file also contains information about each guest. Each guest has a separate VMWARE_VMComputerSystem class with multiple properties. One property, ElementName, is the computer name of the guest and contains a UUID. The UUID value for each guest/virtual machine is normalized and used as a serial number with the prefix 'VMWare- '.
Host machines typically have a separate serial number under the VMWARE_BIOS class.
Once both the VMware NDI file and the guest/virtual machine’s NDI file are imported, they’re entered into the inventory database, where most of the data is stored within the HardwareProperty table. This data is then moved from the inventory database during the reconciliation process. The process is as follows:
When the VMware NDI file is processed, it places information into the HardwareValue, HardwareProperty, and HardwareObject tables. A new entry is created for every guest linked to its host within these tables.
The reader then takes the data from the inventory database and updates/creates records within the ImportedVirtualMachine table with the information obtained from step 1.
The reader compares the virtual machine’s UUID with the UUIDs of computers in the ImportedComputer table to locate the device record. These UUIDs must be unique. If they are not unique, the reader can’t match the host to the guest.
Once the device record is located, the ExternalID from that record is added to the ImportedVirtualMachine table for each virtual machine record. The rest of the reader process then continues.
When the writer is run, it examines the records in ImportedComputer and ImportedVirtualMachine from all sources.
Finally, the reconciliation process uses matching logic to merge each computer/virtual machine into single records. The merged single records are stored in the ComplianceComputer and VirtualMachine tables.
The resulting ComplianceComputer and VirtualMachine tables populate the grids in the FlexNet Manager Suite UI.