[Openstack-operators] Nova VMware driver don't know to deal with VMWare vSphere 5.5 API bugs

Gilles Mocellin gilles.mocellin at nuagelibre.org
Wed Aug 12 14:15:05 UTC 2015


Le 2015-07-30 15:06, Jean-Daniel Bonnetot a écrit :
> Hi Ops,
>
> I deployed with OSAD and now I try to plug my compute node on vSphere
> with the nova vmware driver.
> After configuring the nova-compute to point on my vSphere, I start
> nova-compute and … BOOM :/
>
> After some debugs, here what I found:
> 1. logs: http://pastebin.com/wx5JDVrd
> 2. I go deeper dumping some variables, I saw this hit:
> https://myinfra/sdk/vim.wsdl
> 3. the headers of the response doesn’t announce the gzip format
> returned (VMware bug !!!)

> 4. anyway, the client doesn’t manage http compression
>
> As I don’t manage vSphere upgrade, I need to find an other solution.
>
> Do you know if it’s possible to specify in the driver to build
> request without compression?

Hi !

Did you find a way to bypass this problem ?

I have the same problem here, trying to connect OpenStack to an OVH 
dedicated Cloud :-)
To add some trouble, I have to use a proxy.

It works with a local vCenter (5.5 up to date) and I cannot see a 
difference via curl when downloading vimServices.wsdl.

I tried to pre-download wsdl and xsd files locally and use 
wsdl_location in nova-compute config, but it fails futher when it 
queries the RetrievePropertiesEx service :

2015-08-12 14:35:51.252 1652 CRITICAL nova [-] VimException: Exception 
in RetrievePropertiesEx.
Cause: <unknown>:1:0: not well-formed (invalid token)
2015-08-12 14:35:51.252 1652 TRACE nova Traceback (most recent call 
last):
2015-08-12 14:35:51.252 1652 TRACE nova   File "/usr/bin/nova-compute", 
line 10, in <module>
2015-08-12 14:35:51.252 1652 TRACE nova     sys.exit(main())
2015-08-12 14:35:51.252 1652 TRACE nova   File 
"/usr/lib/python2.7/dist-packages/nova/cmd/compute.py", line 72, in main
2015-08-12 14:35:51.252 1652 TRACE nova     
db_allowed=CONF.conductor.use_local)
2015-08-12 14:35:51.252 1652 TRACE nova   File 
"/usr/lib/python2.7/dist-packages/nova/service.py", line 277, in create
2015-08-12 14:35:51.252 1652 TRACE nova     db_allowed=db_allowed)
2015-08-12 14:35:51.252 1652 TRACE nova   File 
"/usr/lib/python2.7/dist-packages/nova/service.py", line 148, in 
__init__
2015-08-12 14:35:51.252 1652 TRACE nova     self.manager = 
manager_class(host=self.host, *args, **kwargs)
2015-08-12 14:35:51.252 1652 TRACE nova   File 
"/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 701, in 
__init__
2015-08-12 14:35:51.252 1652 TRACE nova     self.driver = 
driver.load_compute_driver(self.virtapi, compute_driver)
2015-08-12 14:35:51.252 1652 TRACE nova   File 
"/usr/lib/python2.7/dist-packages/nova/virt/driver.py", line 1389, in 
load_compute_driver
2015-08-12 14:35:51.252 1652 TRACE nova     virtapi)
2015-08-12 14:35:51.252 1652 TRACE nova   File 
"/usr/lib/python2.7/dist-packages/oslo_utils/importutils.py", line 50, 
in import_object_ns
2015-08-12 14:35:51.252 1652 TRACE nova     return 
import_class(import_value)(*args, **kwargs)
2015-08-12 14:35:51.252 1652 TRACE nova   File 
"/usr/lib/python2.7/dist-packages/nova/virt/vmwareapi/driver.py", line 
178, in __init__
2015-08-12 14:35:51.252 1652 TRACE nova     self._update_resources()
2015-08-12 14:35:51.252 1652 TRACE nova   File 
"/usr/lib/python2.7/dist-packages/nova/virt/vmwareapi/driver.py", line 
354, in _update_resources
2015-08-12 14:35:51.252 1652 TRACE nova     self._datastore_regex)
2015-08-12 14:35:51.252 1652 TRACE nova   File 
"/usr/lib/python2.7/dist-packages/nova/virt/vmwareapi/host.py", line 53, 
in __init__
2015-08-12 14:35:51.252 1652 TRACE nova     self.update_status()
2015-08-12 14:35:51.252 1652 TRACE nova   File 
"/usr/lib/python2.7/dist-packages/nova/virt/vmwareapi/host.py", line 69, 
in update_status
2015-08-12 14:35:51.252 1652 TRACE nova     stats = 
vm_util.get_stats_from_cluster(self._session, self._cluster)
2015-08-12 14:35:51.252 1652 TRACE nova   File 
"/usr/lib/python2.7/dist-packages/nova/virt/vmwareapi/vm_util.py", line 
1063, in get_stats_from_cluster
2015-08-12 14:35:51.252 1652 TRACE nova     ["summary.hardware", 
"summary.runtime"])
2015-08-12 14:35:51.252 1652 TRACE nova   File 
"/usr/lib/python2.7/dist-packages/nova/virt/vmwareapi/driver.py", line 
672, in _call_method
2015-08-12 14:35:51.252 1652 TRACE nova     return 
self.invoke_api(module, method, self.vim, *args, **kwargs)
2015-08-12 14:35:51.252 1652 TRACE nova   File 
"/usr/lib/python2.7/dist-packages/oslo_vmware/api.py", line 341, in 
invoke_api
2015-08-12 14:35:51.252 1652 TRACE nova     return _invoke_api(module, 
method, *args, **kwargs)
2015-08-12 14:35:51.252 1652 TRACE nova   File 
"/usr/lib/python2.7/dist-packages/oslo_vmware/api.py", line 122, in func
2015-08-12 14:35:51.252 1652 TRACE nova     return evt.wait()
2015-08-12 14:35:51.252 1652 TRACE nova   File 
"/usr/lib/python2.7/dist-packages/eventlet/event.py", line 121, in wait
2015-08-12 14:35:51.252 1652 TRACE nova     return 
hubs.get_hub().switch()
2015-08-12 14:35:51.252 1652 TRACE nova   File 
"/usr/lib/python2.7/dist-packages/eventlet/hubs/hub.py", line 294, in 
switch
2015-08-12 14:35:51.252 1652 TRACE nova     return 
self.greenlet.switch()
2015-08-12 14:35:51.252 1652 TRACE nova   File 
"/usr/lib/python2.7/dist-packages/oslo_vmware/common/loopingcall.py", 
line 123, in _inner
2015-08-12 14:35:51.252 1652 TRACE nova     idle = self.f(*self.args, 
**self.kw)
2015-08-12 14:35:51.252 1652 TRACE nova   File 
"/usr/lib/python2.7/dist-packages/oslo_vmware/api.py", line 95, in _func
2015-08-12 14:35:51.252 1652 TRACE nova     result = f(*args, **kwargs)
2015-08-12 14:35:51.252 1652 TRACE nova   File 
"/usr/lib/python2.7/dist-packages/oslo_vmware/api.py", line 285, in 
_invoke_api
2015-08-12 14:35:51.252 1652 TRACE nova     return api_method(*args, 
**kwargs)
2015-08-12 14:35:51.252 1652 TRACE nova   File 
"/usr/lib/python2.7/dist-packages/nova/virt/vmwareapi/vim_util.py", line 
208, in get_properties_for_a_collection_of_objects
2015-08-12 14:35:51.252 1652 TRACE nova     specSet=[prop_filter_spec], 
options=options)
2015-08-12 14:35:51.252 1652 TRACE nova   File 
"/usr/lib/python2.7/dist-packages/oslo_vmware/service.py", line 353, in 
request_handler
2015-08-12 14:35:51.252 1652 TRACE nova     _("Exception in %s.") % 
attr_name, excep)
2015-08-12 14:35:51.252 1652 TRACE nova VimException: Exception in 
RetrievePropertiesEx.
2015-08-12 14:35:51.252 1652 TRACE nova Cause: <unknown>:1:0: not 
well-formed (invalid token)





More information about the OpenStack-operators mailing list