ovirt search name with space (#59184)

* init ovirt_search_name_with_space

* add search_by_name with whitespace

* add comments
This commit is contained in:
Martin Nečas 2019-09-03 21:22:37 +02:00 committed by John R Barker
parent d4147b55dd
commit b46e661d39

View file

@ -254,7 +254,8 @@ def search_by_attributes(service, list_params=None, **kwargs):
# Check if 'list' method support search(look for search parameter): # Check if 'list' method support search(look for search parameter):
if 'search' in inspect.getargspec(service.list)[0]: if 'search' in inspect.getargspec(service.list)[0]:
res = service.list( res = service.list(
search=' and '.join('{0}={1}'.format(k, v) for k, v in kwargs.items()), # There must be double quotes around name, because some oVirt resources it's possible to create then with space in name.
search=' and '.join('{0}="{1}"'.format(k, v) for k, v in kwargs.items()),
**list_params **list_params
) )
else: else:
@ -281,7 +282,8 @@ def search_by_name(service, name, **kwargs):
# Check if 'list' method support search(look for search parameter): # Check if 'list' method support search(look for search parameter):
if 'search' in inspect.getargspec(service.list)[0]: if 'search' in inspect.getargspec(service.list)[0]:
res = service.list( res = service.list(
search="name={name}".format(name=name) # There must be double quotes around name, because some oVirt resources it's possible to create then with space in name.
search='name="{name}"'.format(name=name)
) )
else: else:
res = [e for e in service.list() if e.name == name] res = [e for e in service.list() if e.name == name]