@request_context
def show_stack(self, context, stack_identity):
"""
- The show_stack method returns the attributes of one stack.
+ Return detailed information about one or all stacks.
arg1 -> RPC context.
- arg2 -> Name of the stack you want to see
+ arg2 -> Name of the stack you want to show, or None to show all
"""
- if stack_identity is None:
- raise AttributeError('No stack_identity provided')
-
- stacks = [self._get_stack(context, stack_identity)]
+ if stack_identity is not None:
+ stacks = [self._get_stack(context, stack_identity)]
+ else:
+ stacks = db_api.stack_get_all_by_tenant(context) or []
def format_stack_detail(s):
stack = parser.Stack.load(context, stack=s)
def show_stack(self, ctxt, stack_identity):
"""
- The show_stack method returns the attributes of one stack.
-
+ Return detailed information about one or all stacks.
:param ctxt: RPC context.
- :param stack_identity: Name of the stack you want to see,
- or None to see all
+ :param stack_identity: Name of the stack you want to show, or None to
+ show all
"""
return self.call(ctxt, self.make_msg('show_stack',
stack_identity=stack_identity),
self.assertTrue('event_time' in ev)
- def test_stack_describe_all(self):
+ def test_stack_list_all(self):
sl = self.man.list_stacks(self.ctx)
self.assertEqual(len(sl['stacks']), 1)
for s in sl['stacks']:
+ self.assertTrue('creation_time' in s)
+ self.assertTrue('updated_time' in s)
+ self.assertTrue('stack_identity' in s)
self.assertNotEqual(s['stack_identity'], None)
+ self.assertTrue('stack_name' in s)
+ self.assertEqual(s['stack_name'], self.stack_name)
+ self.assertTrue('stack_status' in s)
+ self.assertTrue('stack_status_reason' in s)
+ self.assertTrue('description' in s)
self.assertNotEqual(s['description'].find('WordPress'), -1)
- def test_stack_describe_all_empty(self):
+ def test_stack_list_all_empty(self):
self.tearDown()
- self.tenant = 'stack_describe_all_empty_tenant'
+ self.tenant = 'stack_list_all_empty_tenant'
self.setUp()
sl = self.man.list_stacks(self.ctx)
self.assertNotEqual(s['description'].find('WordPress'), -1)
self.assertTrue('parameters' in s)
+ def test_stack_describe_all(self):
+ sl = self.man.show_stack(self.ctx, None)
+
+ self.assertEqual(len(sl['stacks']), 1)
+
+ s = sl['stacks'][0]
+ self.assertTrue('creation_time' in s)
+ self.assertTrue('updated_time' in s)
+ self.assertTrue('stack_identity' in s)
+ self.assertNotEqual(s['stack_identity'], None)
+ self.assertTrue('stack_name' in s)
+ self.assertEqual(s['stack_name'], self.stack_name)
+ self.assertTrue('stack_status' in s)
+ self.assertTrue('stack_status_reason' in s)
+ self.assertTrue('description' in s)
+ self.assertNotEqual(s['description'].find('WordPress'), -1)
+ self.assertTrue('parameters' in s)
+
+ def test_stack_describe_all_empty(self):
+ self.tearDown()
+ self.tenant = 'stack_describe_all_empty_tenant'
+ self.setUp()
+
+ sl = self.man.show_stack(self.ctx, None)
+
+ self.assertEqual(len(sl['stacks']), 0)
+
def test_list_resource_types(self):
resources = self.man.list_resource_types(self.ctx)
self.assertTrue(isinstance(resources, list))