VIRT-WHO-CONFIG(5) | File Formats Manual | VIRT-WHO-CONFIG(5) |
NAME¶
virt-who-config - configuration for virt-who
SYNOPISIS¶
/etc/virt-who.conf /etc/virt-who.d/*.conf
DESCRIPTION¶
Configuration format is ini-like for files /etc/virt-who.conf and /etc/virt-who.d/*.conf. The configuration files located at /etc/virt-who.d/*.conf are called virtualization backend configurations. All non-hidden files in this directory (ending in '.conf') are considered configuration files. If no section (name in square brackets) is present in the configuration file, it will be ignored and warning will be shown. The configuration located at /etc/virt-who.conf is the main configuration for virt-who. Below are descriptions of both the required and optional options for both kinds of configs and how they are used.
GENERAL CONFIGURATION¶
The general configuration file (located at /etc/virt-who.conf), has three special sections global, defaults, and system_environment. The settings that can be specified in defaults are any setting listed in the VIRTUALIZATION BACKEND CONFIGURATION section of this manual. These settings are applied as defaults to the configurations found in /etc/virt-who.d/*.conf.
The settings in the global affect the overall operation of the application. The following are options that can be specified in the global section:
- interval
- how often to check connected hypervisors for changes (seconds). Also affects how often a mapping is reported.
- reporter_id
- The id of this virt-who instance, reported with all mappings. Defaults to HOSTNAME-MACHINEID
- debug
- Enable debugging output
- oneshot
- Send the list of guest IDs and exit immediately
- log_per_config
- Write a separate log file per configuration in the config directory
- log_dir
- The absolute path of the directory to write logs to.
- log_file
- The file name to write logs to (used only if log_per_config=False)
- configs
- A list of files containing configurations for virt-who Used to specify
locations other than default
The settings in the system_environment are written to the system's environment and are available for the duration of the process execution. Example options that can be specified in the system_environment section:
- HTTPS_PROXY
- Proxy hostname for all https requests
- HTTP_PROXY
- Proxy hostname for all http requests
- NO_PROXY
- A comma-separated list of hostnames or domains or ip addresses to ignore proxy settings for. Optionally this may be set to '*' to bypass proxy settings for all hostnames domains or ip addresses.
VIRTUALIZATION BACKEND CONFIGURATION¶
Each section (or group), denoted by an arbitrary name for the configuration (in square brackets), is read in
Only required key is type that has to have one of the allowed virtualization backend names: ahv, libvirt, esx, hyperv, fake, or kubevirt.
Please note that special characters must not be escaped.
Other options that can be supplied are:
- server
- Hostname, IP address or URL of the server that provides virtualization information (not applicable for kubevirt mode).
- username
- Username for authentication to the server (not applicable for kubevirt mode). May include domain. Do not escape the backslash between domain and username.
- password
- Password for authentication to the server (not applicable for kubevirt mode).
- encrypted_password
- Alternative to the password option, encrypted password that is generated by virt-who-password(8) utility.
- owner
- Owner for use with Subscription Asset Manager, the Red Hat Customer Portal, or Satellite 6 (not applicable for Satellite 5)
- rhsm_username
- Optional username to use to communicate with Subscription Asset Manager or Satellite 6 instead of the registered system's identity certificate. (not applicable for Satellite 5)
- rhsm_password
- Optional password to use to communicate with Subscription Asset Manager or Satellite 6 instead of the registered system's identity certificate. (not applicable for Satellite 5)
- rhsm_encrypted_password
- Alternative to the rhsm_password option, encrypted password that is generated by virt-who-password(8) utility.
- rhsm_hostname
- Optional hostname of the Subscription Asset Manager or Satellite 6 server to use in place of the host defined in the system's rhsm.conf.
- rhsm_port
- Optional port for the Subscription Asset Manager or Satellite 6 server to use in place of the port defined in the system's rhsm.conf.
- rhsm_prefix
- Optional prefix for the Subscription Asset Manager or Satellite 6 server to use in place of the prefix defined in the system's rhsm.conf.
- rhsm_proxy_hostname
- Optional proxy host name for the Subscription Asset Manager or Satellite 6 server to use in place of the proxy host name defined in the system's rhsm.conf.
- rhsm_proxy_port
- Optional proxy port for the Subscription Asset Manager or Satellite 6 server to use in place of the proxy port defined in the system's rhsm.conf.
- rhsm_proxy_user
- Optional proxy username for the Subscription Asset Manager or Satellite 6 server to use in place of the proxy username defined in the system's rhsm.conf.
- rhsm_proxy_password
- Optional proxy password for the Subscription Asset Manager or Satellite 6 server to use in place of the proxy password defined in the system's rhsm.conf.
- rhsm_encrypted_proxy_password
- Alternative to the rhsm_proxy_password option; encrypted password generated by the virt-who-password(8) utility.
- rhsm_no_proxy
- Optional proxy settings for the Subscription Asset Manager or Satellite 6 server to use in place of the no proxy filter defined in the system's rhsm.conf.
- rhsm_insecure
- Optional boolean to eliminate the validation of tls certificates during connection to the Subscription Asset Manager or Satellite 6 server to use in place of insecure value defined in the system's rhsm.conf.
- sat_server
- Hostname, IP address or URL of the Satellite 5 server.
- sat_username
- Username for authentication to the Satellite 5 server.
- sat_password
- Password for authentication to the Satellite 5 server.
- sat_encrypted_password
- Alternative to sat_password option, encrypted password that is generated by virt-who-password(8) utility.
- filter_hosts
- Only hosts which uuid (or hostname or hwuuid, based on hypervisor_id) is specified in comma-separated list in this option will be reported. Wildcards and regular expressions are supported. Put the value into the double-quotes if it contains special characters (like comma). filter_host_uuids is deprecated alias for this option.
- exclude_hosts
- Hosts which uuid (or hostname or hwuuid, based on hypervisor_id) is specified in comma-separated list in this option will NOT be reported. Wildcards and regular expressions are supported. Put the value into the double-quotes if it contains special characters (like comma). exclude_host_uuids is deprecated alias for this option.
- filter_type
- When this property is not set, then virt-who tries to detect wildcards or regular expression in value of filter_hosts or exclude_hosts. This option allows to specify usage of regular expression (value 'regex') or wildcards (value 'wildcards').
- hypervisor_id
- Property that should be used as identification of the hypervisor. Can be one of following: uuid, hostname, hwuuid. Note that some virtualization backends don't have all of them implemented. Default is uuid. hwuuid is applicable to esx only. This property is meant to be set up before initial run of virt-who. Changing it later will result in duplicated entries in the subscription manager.
- #kubeconfig
- Path to Kubernetes configuration file which contains authentication and connection details. Used by kubevirt option
- #kubeversion
- API version used to override kubevirt api version fetched from the cluster. Used by kubevirt option
- #insecure
- Eliminate validation of tls certificates during connection to kubevirt
EXAMPLE¶
[test-esx]
type=esx
server=1.2.3.4
username=admin
password=password
owner=test
rhsm_username=admin
rhsm_password=password
BACKEND SPECIFIC OPTIONS¶
ESX BACKEND¶
- filter_host_parents
- Only hosts which cluster ID is specified in comma-separated list in this option will be reported. Put the name into the double-quotes if it contains special characters (like comma). PowerCLI command to find the domain names in VMware `Get-Cluster “ClusterName” | Select ID`
- exclude_host_parents
- Exclude hosts which cluster ID is specified in comma-separated list in this option will NOT be reported. Put the name into the double-quotes if it contains special characters (like comma). PowerCLI command to find the domain names in VMware `Get-Cluster “ClusterName” | Select ID`
- simplified_vim
- virt-who by default uses stripped-down version of vimService.wsdl file that contains vSphere SOAP API definition. Set this option to false to use server provided wsdl file that will be retrieved automatically.
NUTANIX BACKEND¶
- prism_central
- Any value set for this parameter will cause the application to use Version 3 communication with the AHV API
KUBEVIRT BACKEND¶
Kubevirt backend uses a Kubernetes configuration file where there are cluster connection details and an authentication token. There is no need to provide a hostname nor user credentials. Before using the kubeconfig file please make sure to login to the cluster so the token is written to the file. To login you need to run:
oc login --username=myuser --password=mypass
FAKE BACKEND¶
Fake backend reads host/guests associations from the file on disk, for example:
[fake-virt]
type=fake
file=/path/to/json
is_hypervisor=True
- type
- Must be always fake.
- is_hypervisor
- If true (default), the option determines that the fake data are fetched from multihost environment.
- file
- Absolute path to the JSON file that has the same structure as file
returned from virt-who --print command, for example:
{
"hypervisors": [
{
"uuid": "7e98b6ea-0af1-4afa-b846-919549bb0fe2",
"guests": [
{
"guestId": "8ae19f08-2605-b476-d42e-4bd5a39f466c",
"state": 1
},
...
]
},
...
]
}
CONFIGURATION MIGRATION¶
Previous versions of virt-who employed additional means of configuration:
Setting of environment variables [set in the user's profile script
or in the default global profile]
A service environment file [/etc/sysconfig/virt-who]
The new version of virt-who no longer supports setting most options via the environment. In order to not lose previously valid configurations that made use of environment variables, a migration script has been added. That script will incorporate the known system environment variables [VIRTWHO_INTERVAL, VIRTWHO_DEBUG, VIRTWHO_ONESHOT] and the entries in the service environment file into the general configuration file. The known variables will land in the global section while any others in the service environment file [i.e. HTTPS_PROXY] will land in the system_environment section. This migration may result in multiple entries for a specific field.
Each new entry in the general configuration file will come after a comment indicating that it was migrated. The service environment file will be deleted after its entries are migrated, but the known system environment variables will need to be manually removed or they will be migrated again if the script is rerun. Those variables will not be recognized by virt-who even if they remain.
The migration script will be run when a new RPM is installed, but you can run it manually with python after the RPM is installed:
[python_sitelib]/virtwho/migrate/migrateconfiguration.py
AUTHOR¶
Radek Novacek <rnovacek at redhat dot com>
William Poteat <wpoteat at redhat dot com>
SEE ALSO¶
October 2015 | virt-who |