def resource_get_by_physical_resource_id(context, physical_resource_id):
- result = (model_query(context, models.Resource)
- .filter_by(nova_instance=physical_resource_id)
- .first())
- if (result is not None and context is not None and
- result.stack.tenant != context.tenant_id):
- return None
- return result
+ results = (model_query(context, models.Resource)
+ .filter_by(nova_instance=physical_resource_id)
+ .all())
+
+ for result in results:
+ if context is None or result.stack.tenant == context.tenant_id:
+ return result
+
+ return None
def resource_get_all(context):
self.man.describe_stack_resources,
self.ctx, nonexist, None, 'WebServer')
+ def test_stack_resources_describe_physid(self):
+ resources = self.man.describe_stack_resources(self.ctx,
+ self.stack_identity,
+ None, None)
+ phys_id = resources[0]['physical_resource_id']
+
+ result = self.man.describe_stack_resources(self.ctx,
+ None, phys_id, None)
+ self.assertEqual(result, resources)
+
def test_stack_resources_describe_nonexist_physid(self):
self.assertRaises(AttributeError,
self.man.describe_stack_resources,