Work around a software bug in vSphere

Due to a software bug in vSphere, it fails to handle ampersand in datacenter names.
The solution is to do what vSphere does (when browsing) and double-encode ampersands.

It is likely other characters need special treatment like this as well, haven't found any.
This commit is contained in:
Dag Wieers 2015-06-29 17:08:48 +02:00
parent 1576308752
commit 57e7a6662a

View file

@ -78,6 +78,9 @@ import socket
def vmware_path(datastore, datacenter, path):
''' Constructs a URL path that VSphere accepts reliably '''
path = "/folder/%s" % path.lstrip("/")
# Due to a software bug in vSphere, it fails to handle ampersand in datacenter names
# The solution is to do what vSphere does (when browsing) and double-encode ampersands, maybe others ?
datacenter = datacenter.replace('&', '%26')
if not path.startswith("/"):
path = "/" + path
params = dict( dsName = datastore )