Bug 1169006
| Summary: | virt-who Method not found: 'VimService.VimPort.RetrieveProperties | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | Chris Roberts <chrobert> |
| Component: | virt-who | Assignee: | Radek Novacek <rnovacek> |
| Status: | CLOSED ERRATA | QA Contact: | gaoshang <sgao> |
| Severity: | high | Docs Contact: | |
| Priority: | high | ||
| Version: | 6.6 | CC: | chrobert, jherrman, meeveret, ovasik, rbalakri, shihliu |
| Target Milestone: | rc | ||
| Target Release: | --- | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | virt-who-0.12-1.el6 | Doc Type: | Bug Fix |
| Doc Text: |
Because certain versions of the VMWare ESX hypervisor do not support the RetrieveProperties method, the virt-who agent failed when obtaining information from the ESX hypervisor. With this update, virt-who no longer uses the RetrieveProperties method and instead works asynchronously, using the WaitForUpdatesEx method. As a result, virt-who is now able to reliable obtain information from the ESX hypervisor.
|
Story Points: | --- |
| Clone Of: | Environment: | ||
| Last Closed: | 2015-07-22 07:15:39 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
Hi, thanks for the report. It looks like the remote hypervisor doesn't support neither RetrieveProperties nor RetrievePropertiesEx API calls. With what version of ESX (or vSphere) does this happen? According to the link in comment #4, the problem is merely in the wsdl file, the call works properly. Next release of virt-who will contain it's own version of wsdl file (mostly stripped of unnecessary parts as a performance improvement). So this problem shouldn't appear anymore. Fixed by rebase to virt-who-0.12-1.el6. Verified it on virt-who-0.12-2.el6 as virt-who can send host/guest of esx4.1 to SAM, therefore, verify it.
Verified version:
virt-who-0.12-2.el6.noarch
subscription-manager-1.14.1-1.el6.x86_64
python-rhsm-1.14.1-1.el6.x86_64
candlepin-0.9.6.5-1.el6sam.noarch
katello-headpin-1.4.3.28-1.el6sam_splice.noarch
Precondition:
Prepare one esx4.1 host which has added to vcenter4.1
Verified process:
1. Register system to SAM/Satellite server.
2. Configure virt-who run at esx mode and send the hostname to SAM/Satellite
server.then restart virt-who service
[root@hp-z220-03 ~]# cat /etc/sysconfig/virt-who
VIRTWHO_BACKGROUND=1
VIRTWHO_DEBUG=1
VIRTWHO_ESX=1
VIRTWHO_ESX_OWNER=ACME_Corporation
VIRTWHO_ESX_ENV=Library
VIRTWHO_ESX_SERVER=10.66.78.30
VIRTWHO_ESX_USERNAME=Administrator
VIRTWHO_ESX_PASSWORD=qwer1234P
[root@hp-z220-03 libvirt-test-API]# service virt-who restart
Stopping virt-who: [FAILED]
Starting virt-who: [ OK ]
3. Check the virt-who's log.
# tail -f /var/log/rhsm/rhsm.log
2015-04-16 14:40:35,172 [INFO] @virtwho.py:475 - Using configuration "env/cmdline" ("esx" mode)
2015-04-16 14:40:35,172 [DEBUG] @virtwho.py:131 - Starting infinite loop with 3600 seconds interval
2015-04-16 14:40:35,307 [DEBUG] @esx.py:51 - Log into ESX
2015-04-16 14:40:35,893 [DEBUG] @esx.py:54 - Creating ESX event filter
2015-04-16 14:40:36,195 [DEBUG] @esx.py:113 - Waiting for ESX changes
2015-04-16 14:40:36,213 [INFO] @subscriptionmanager.py:124 - Sending update in hosts-to-guests mapping: {564d31fc-ff63-9051-ceb5-fa9f956a2366: []}
2015-04-16 14:40:36,213 [DEBUG] @subscriptionmanager.py:76 - Authenticating with certificate: /etc/pki/consumer/cert.pem
2015-04-16 14:40:37,095 [INFO] @virtwho.py:127 - Created host: 5ed06e93-d9b7-409a-a7a0-4269c55c3c68 with guests: []
Result:
virt-who send host/guest mapping to SAM, it hasn't show any error log. esx4.1 hypervisor has shown on SAM server. Therefore ,verify it
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHBA-2015-1377.html |
Description of problem: 2014-11-27 10:17:22,352 [INFO] @virtwho.py:442 - Using virt-who configuration: virt-who 2014-11-27 10:17:31,667 [ERROR] @virtwho.py:118 - Error in communication with virtualization backend, trying to recover: Traceback (most recent call last): File "/usr/share/virt-who/virtwho.py", line 111, in _send virtualGuests = self._readGuests(config) File "/usr/share/virt-who/virtwho.py", line 147, in _readGuests return virt.getHostGuestMapping() File "/usr/share/virt-who/virt/esx/esx.py", line 301, in getHostGuestMapping self.scan() File "/usr/share/virt-who/virt/esx/esx.py", line 176, in scan object_content = self.client.service.RetrieveProperties( File "/usr/lib/python2.6/site-packages/suds/client.py", line 299, in __getattr__ return getattr(port, name) File "/usr/lib/python2.6/site-packages/suds/client.py", line 403, in __getattr__ return getattr(m, name) File "/usr/lib/python2.6/site-packages/suds/client.py", line 494, in __getattr__ return self[name] File "/usr/lib/python2.6/site-packages/suds/client.py", line 507, in __getitem__ raise MethodNotFound, qn MethodNotFound: Method not found: 'VimService.VimPort.RetrieveProperties' 2014-11-27 10:17:38,544 [ERROR] @virtwho.py:121 - Unable to recover, retry in 60 seconds. How reproducible: Steps to Reproduce: 1. install rhel 6.6 2. yum update 3. yum install virt-who 4. setup virt-who and start service 5. error Actual results: 2014-11-27 10:17:22,352 [INFO] @virtwho.py:442 - Using virt-who configuration: virt-who 2014-11-27 10:17:31,667 [ERROR] @virtwho.py:118 - Error in communication with virtualization backend, trying to recover: Traceback (most recent call last): File "/usr/share/virt-who/virtwho.py", line 111, in _send virtualGuests = self._readGuests(config) File "/usr/share/virt-who/virtwho.py", line 147, in _readGuests return virt.getHostGuestMapping() File "/usr/share/virt-who/virt/esx/esx.py", line 301, in getHostGuestMapping self.scan() File "/usr/share/virt-who/virt/esx/esx.py", line 176, in scan object_content = self.client.service.RetrieveProperties( File "/usr/lib/python2.6/site-packages/suds/client.py", line 299, in __getattr__ return getattr(port, name) File "/usr/lib/python2.6/site-packages/suds/client.py", line 403, in __getattr__ return getattr(m, name) File "/usr/lib/python2.6/site-packages/suds/client.py", line 494, in __getattr__ return self[name] File "/usr/lib/python2.6/site-packages/suds/client.py", line 507, in __getitem__ raise MethodNotFound, qn MethodNotFound: Method not found: 'VimService.VimPort.RetrieveProperties' 2014-11-27 10:17:38,544 [ERROR] @virtwho.py:121 - Unable to recover, retry in 60 seconds. Expected results: Hypervisors be sent off to the portal Additional Info: sosreport is attached to case as a private attachment