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.
reviewable/pr18780/r1
Dag Wieers 10 years ago
parent 1576308752
commit 57e7a6662a

@ -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 )

Loading…
Cancel
Save