1VIRT-WHO(8) System Manager's Manual VIRT-WHO(8)
2
3
4
6 virt-who - Agent for reporting virtual guest IDs to an entitlement
7 server.
8
10 virt-who [-d] [-i INTERVAL] [-o] [-s]
11
13 -h, --help
14 show this help message and exit
15
16 -d, --debug
17 Enable debugging output
18
19 -o, --one-shot
20 Send the list of guest IDs and exit immediately
21
22 -i INTERVAL, --interval=INTERVAL
23 Acquire and send guest information each N seconds; note that
24 this option is recommendation only, requested interval might not
25 been honoured and the actual interval might be longer or shorter
26 depending on backend that is used.
27
28 -p, --print
29 Print the host/guests association in JSON format to standard
30 output
31
32 -c, --config
33 Use configuration file directly (will override configuration
34 from other files. 'global', 'default', and 'system_environment'
35 sections are not read in files passed in via this option, and
36 are only read from /etc/virt-who.conf). Can be used multiple
37 times. See virt-who-config(5) for details about configuration
38 file format.
39
40 -s, --status
41 Confirm the correctness of the configurations. Test the connec‐
42 tions and build a report on the result. The default display is a
43 short summary of the configurations.
44
45 -j, --json
46 Used with status to return a more detailed report in json for‐
47 mat.
48
50 MODE
51 virt-who has four modes how it can run:
52
53 1. one-shot mode
54 # virt-who -o
55
56 In this mode virt-who just sends the host to guest association
57 to the server once and then exits.
58
59 2. interval mode
60 # virt-who -i INTERVAL
61
62 This is the default mode. virt-who will listen to change events
63 (if available) or do a polling with given interval, and will
64 send the host to guest association when it changes. The default
65 polling interval is 3600 seconds and can be changed using "-i
66 INTERVAL" (in seconds).
67
68 3. print mode
69 # virt-who -p
70
71 This mode is similar to oneshot mode but the host to guest asso‐
72 ciation is not send to server, but printed to standard output
73 instead.
74
75 3. status mode
76 # virt-who -s
77
78 This mode is for configuration diagnosis. The host to guest as‐
79 sociation is not compiled and is not sent to the server. When
80 executed, it will confirm the ability to log into and retrieve
81 data from the source for each configuration. It will also con‐
82 firm the credentials and organization for each destination in
83 the configurations. It will produce results in two ways that
84 can be used to diagnose problems. The first is a summary:
85
86 Configuration Name: esx_config1
87 Source Status: success
88 Destination Status: success
89
90 Configuration Name: hyperv-55
91 Source Status: failure
92 Destination Status: failure
93
94 The second is a machine-readable json output (which is generated
95 when the -j/--json option is used):
96
97 {
98 "configurations": [
99 {
100 "name":"esx-conf1",
101 "source":{
102 "connection":"esx_system.example.com",
103 "status":"success",
104 "last_successful_retrieve":"2020-02-28 07:25:25
105 UTC",
106 "hypervisors":20,
107 "guests":37
108 },
109 "destination":{
110 "connection":"candlepin.example.com",
111 "status":"success",
112 "last_successful_send":"2020-02-28 07:25:27
113 UTC",
114 "last_successful_send_job_status":"FINISHED"
115 }
116 },
117 {
118 "name":"hyperv-55",
119 "source":{
120 "connection":"windows10-3.company.com",
121 "status":"failure",
122 "message":"Unable to connect to server: invalid
123 credentials",
124 "last_successful_retrieve":"none"
125 },
126 "destination":{
127 "connection":"candlepin.company.com",
128 "status":"failure",
129 "message":"ConnectionRefusedError: [Errno 111]
130 Connection refused",
131 "last_successful_send":"none",
132 "last_successful_send_job_status":"none"
133 }
134 }
135 ] }
136
137
139 virt-who always writes error output to file /var/log/rhsm/rhsm.log. It
140 also writes the same output to standard error output when started from
141 command line.
142
143 virt-who can be started with option "-d" in all modes and with all
144 backends. This option will enable verbose output with more information.
145
146
148 Virt-who may present security concerns in some scenarios because it
149 needs access to every hypervisor in the environment. To minimize secu‐
150 rity risk, virt-who is a network client, not a server. It only does
151 outbound connections to find and register new hypervisors and does not
152 need access to any virtual machines. To further reduce risk, deploy
153 virt-who in a small virtual machine with a minimal installation and
154 lock it down from any unsolicited inbound network connections.
155
156 Here is a list of ports that need to be open for different hypervisors:
157
158 VMWare ESX/vCenter: 443/tcp
159 Hyper-V: 5985/tcp
160 RHEV-M: 443/tcp or 8443/tcp (depending on version)
161 libvirt: depending on transport type, default (for remote connec‐
162 tions) is qemu over ssh on port 22
163 local libvirt uses a local connection and doesn't need an open port
164 kubevirt: 8443/tcp
165 Nutanix AHV: 9440/tcp
166
167 virt-who also needs to have access to an entitlement server. Default
168 port is 443/tcp. All the ports might be changed by system administra‐
169 tors.
170
171 Using the same network for machine running virt-who as for hypervisor
172 management software instead of production VM networks is suggested.
173
174
176 Radek Novacek <rnovacek at redhat dot com>
177 William Poteat <wpoteat at redhat dot com>
178
179
180
181virt-who April 2016 VIRT-WHO(8)