summaryrefslogtreecommitdiff
path: root/openstackclient
diff options
context:
space:
mode:
Diffstat (limited to 'openstackclient')
-rw-r--r--openstackclient/compute/v2/server_group.py24
-rw-r--r--openstackclient/tests/compute/v2/test_server_group.py23
2 files changed, 47 insertions, 0 deletions
diff --git a/openstackclient/compute/v2/server_group.py b/openstackclient/compute/v2/server_group.py
index 56d7e27a..eb5745f5 100644
--- a/openstackclient/compute/v2/server_group.py
+++ b/openstackclient/compute/v2/server_group.py
@@ -156,3 +156,27 @@ class ListServerGroup(command.Lister):
'Members': utils.format_list,
}
) for s in data))
+
+
+class ShowServerGroup(command.ShowOne):
+ """Display server group details."""
+
+ def get_parser(self, prog_name):
+ parser = super(ShowServerGroup, self).get_parser(prog_name)
+ parser.add_argument(
+ 'server_group',
+ metavar='<server-group>',
+ help='server group to display (name or ID)',
+ )
+ return parser
+
+ def take_action(self, parsed_args):
+ compute_client = self.app.client_manager.compute
+ group = utils.find_resource(compute_client.server_groups,
+ parsed_args.server_group)
+ info = {}
+ info.update(group._info)
+ columns = _get_columns(info)
+ data = utils.get_dict_properties(info, columns,
+ formatters=_formatters)
+ return columns, data
diff --git a/openstackclient/tests/compute/v2/test_server_group.py b/openstackclient/tests/compute/v2/test_server_group.py
index a18c6014..70ff23f9 100644
--- a/openstackclient/tests/compute/v2/test_server_group.py
+++ b/openstackclient/tests/compute/v2/test_server_group.py
@@ -258,3 +258,26 @@ class TestServerGroupList(TestServerGroup):
self.assertEqual(self.list_columns_long, columns)
self.assertEqual(self.list_data_long, tuple(data))
+
+
+class TestServerGroupShow(TestServerGroup):
+
+ def setUp(self):
+ super(TestServerGroupShow, self).setUp()
+
+ self.server_groups_mock.get.return_value = self.fake_server_group
+ self.cmd = server_group.ShowServerGroup(self.app, None)
+
+ def test_server_group_show(self):
+ arglist = [
+ 'affinity_group',
+ ]
+ verifylist = [
+ ('server_group', 'affinity_group'),
+ ]
+
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+ columns, data = self.cmd.take_action(parsed_args)
+
+ self.assertEqual(self.columns, columns)
+ self.assertEqual(self.data, data)