attempt to find resource by listing
add a last-ditch effort to find the resource in question by listing all the resources and doing a simply match for name and id. if no match is found then raise an error, if the list call is unsuccessful, raise the same error. we have failed this city. Closes-Bug: #1501362 Change-Id: I0d3d7002e9ac47b17b1ef1a5534406c85b1fc753
This commit is contained in:
parent
05f5e043d8
commit
83282bc5e1
@ -121,8 +121,24 @@ def find_resource(manager, name_or_id, **kwargs):
|
||||
(manager.resource_class.__name__.lower(), name_or_id)
|
||||
raise exceptions.CommandError(msg)
|
||||
else:
|
||||
msg = "Could not find resource %s" % name_or_id
|
||||
raise exceptions.CommandError(msg)
|
||||
pass
|
||||
|
||||
try:
|
||||
for resource in manager.list():
|
||||
# short circuit and return the first match
|
||||
if (resource.get('id') == name_or_id or
|
||||
resource.get('name') == name_or_id):
|
||||
return resource
|
||||
else:
|
||||
# we found no match, keep going to bomb out
|
||||
pass
|
||||
except Exception:
|
||||
# in case the list fails for some reason
|
||||
pass
|
||||
|
||||
# if we hit here, we've failed, report back this error:
|
||||
msg = "Could not find resource %s" % name_or_id
|
||||
raise exceptions.CommandError(msg)
|
||||
|
||||
|
||||
def format_dict(data):
|
||||
|
Loading…
Reference in New Issue
Block a user