Virtual Host Managers

Third party hypervisors and hypervisor managers such as VMWare vCenter are called “Virtual Host Managers” (VHM). VHMs can manage one or more virtual hosts, and each virtual host can contain one or more virtual guests.

To create a VHM, navigate to Systems  Virtual Host Managers in the Web UI. In the upper right of the page, click Create and select either VMware-based or File-based. Continue according to one of the following procedures.

After it has been created and configured, data collection will be run automatically using Taskomatic. You can also begin data collection from your VHMs manually through the Web UI, by navigating to Systems  Virtual Host Managers, selecting the appropriate VHM, and clicking Refresh Data.

SUSE Manager ships with a tool called virtual-host-gatherer that can connect to VHMs using their API, and request information about virtual hosts. virtual-host-gatherer maintains the concept of optional modules, where each module enables a specific Virtual Host Manager. This tool is automatically invoked nightly by Taskomatic. Log files for the virtual-host-gatherer tool are located at /avr/log/rhn/gather.log.

VMware-Based

After selecting Create  VMware-based enter the location of your VMware-based virtual host. Enter a Label, Hostname, Port, Username and Password. Finally click the Add Virtual Host Manager button. For detailed information on working with a VMware-based Virtual Host Manager, see administration:virtual-hosts.adoc.

systems virtual host managers vmware

File-Based

In a VMWare environment where direct connection to the SUSE Manager is not possible, a JSON file can be exported from the ESXi or vSphere host and later imported into SUSE Manager.

After selecting Create  File-Based enter a label and URL leading to the location of this file.

systems virtual host managers file
VMWare vCenter Installations without Direct Access

The file-based is not meant to be used with manually crafted files. It only meant to be used with the output of virtual-host-gatherer against some other module. File-based is suitable for VMWare vCenter installations for which no direct API access is possible from the SUSE Manager.

The solution is to run virtual-host-gatherer from somewhere else in the network and save the produced JSON data for further processing.

The following JSON data is an example of the exported information in the file:

{
    "examplevhost": {
        "10.11.12.13": {
            "cpuArch": "x86_64",
            "cpuDescription": "AMD Opteron(tm) Processor 4386",
            "cpuMhz": 3092.212727,
            "cpuVendor": "amd",
            "hostIdentifier": "'vim.HostSystem:host-182'",
            "name": "11.11.12.13",
            "os": "VMware ESXi",
            "osVersion": "5.5.0",
            "ramMb": 65512,
            "totalCpuCores": 16,
            "totalCpuSockets": 2,
            "totalCpuThreads": 16,
            "type": "vmware",
            "vms": {
                "vCenter": "564d6d90-459c-2256-8f39-3cb2bd24b7b0"
            }
        },
        "10.11.12.14": {
            "cpuArch": "x86_64",
            "cpuDescription": "AMD Opteron(tm) Processor 4386",
            "cpuMhz": 3092.212639,
            "cpuVendor": "amd",
            "hostIdentifier": "'vim.HostSystem:host-183'",
            "name": "10.11.12.14",
            "os": "VMware ESXi",
            "osVersion": "5.5.0",
            "ramMb": 65512,
            "totalCpuCores": 16,
            "totalCpuSockets": 2,
            "totalCpuThreads": 16,
            "type": "vmware",
            "vms": {
                "49737e0a-c9e6-4ceb-aef8-6a9452f67cb5": "4230c60f-3f98-2a65-f7c3-600b26b79c22",
                "5a2e4e63-a957-426b-bfa8-4169302e4fdb": "42307b15-1618-0595-01f2-427ffcddd88e",
                "NSX-gateway": "4230d43e-aafe-38ba-5a9e-3cb67c03a16a",
                "NSX-l3gateway": "4230b00f-0b21-0e9d-dfde-6c7b06909d5f",
                "NSX-service": "4230e924-b714-198b-348b-25de01482fd9"
            }
        }
    }
}

For more information, see the man page on your SUSE Manager server for virtual-host-gatherer:

man virtual-host-gatherer

The README file provided with the package provides background information about the type of a hypervisor, etc.:

/usr/share/doc/packages/virtual-host-gatherer/README.md

The man page and the README file also contain example configuration files for your reference.

Configuring Virtual Host Managers using the XMLRPC API

VHMs can be managed manually using the Web UI, or programtically using XMLRPC. If you want to to manage your VHMs with XMLRPC, you will need to configure them to use the XMLRPC APIs.

The following APIs allow you to get a list of available virtual-host-manager modules and the parameters they require:

  • virtualhostmanager.listAvailableVirtualHostGathererModules(session)
  • virtualhostmanager.getModuleParameters(session, moduleName)

The following APIs allow you to create and delete VHMs. The module parameter map must match the map returned by virtualhostmanager.getModuleParameters to work correctly:

  • virtualhostmanager.create(session, label, moduleName, parameters)
  • virtualhostmanager.delete(session, label)

The following APIs return information about configured VHMs:

  • virtualhostmanager.listVirtualHostManagers(session)
  • virtualhostmanager.getDetail(session, label)