Merge "Don't display router's is_ha and is_distributed attributes always"
This commit is contained in:
commit
6fec6d625f
openstackclient
@ -71,7 +71,15 @@ def _get_columns(item):
|
||||
}
|
||||
if hasattr(item, 'interfaces_info'):
|
||||
column_map['interfaces_info'] = 'interfaces_info'
|
||||
return sdk_utils.get_osc_show_columns_for_sdk_resource(item, column_map)
|
||||
invisible_columns = []
|
||||
if item.is_ha is None:
|
||||
invisible_columns.append('is_ha')
|
||||
column_map.pop('is_ha')
|
||||
if item.is_distributed is None:
|
||||
invisible_columns.append('is_distributed')
|
||||
column_map.pop('is_distributed')
|
||||
return sdk_utils.get_osc_show_columns_for_sdk_resource(
|
||||
item, column_map, invisible_columns)
|
||||
|
||||
|
||||
def _get_attrs(client_manager, parsed_args):
|
||||
@ -330,8 +338,6 @@ class ListRouter(command.Lister):
|
||||
'name',
|
||||
'status',
|
||||
'is_admin_state_up',
|
||||
'is_distributed',
|
||||
'is_ha',
|
||||
'project_id',
|
||||
)
|
||||
column_headers = (
|
||||
@ -339,8 +345,6 @@ class ListRouter(command.Lister):
|
||||
'Name',
|
||||
'Status',
|
||||
'State',
|
||||
'Distributed',
|
||||
'HA',
|
||||
'Project',
|
||||
)
|
||||
|
||||
@ -376,6 +380,16 @@ class ListRouter(command.Lister):
|
||||
else:
|
||||
data = client.routers(**args)
|
||||
|
||||
# check if "HA" and "Distributed" columns should be displayed also
|
||||
data = list(data)
|
||||
for d in data:
|
||||
if (d.is_distributed is not None and
|
||||
'is_distributed' not in columns):
|
||||
columns = columns + ('is_distributed',)
|
||||
column_headers = column_headers + ('Distributed',)
|
||||
if d.is_ha is not None and 'is_ha' not in columns:
|
||||
columns = columns + ('is_ha',)
|
||||
column_headers = column_headers + ('HA',)
|
||||
if parsed_args.long:
|
||||
columns = columns + (
|
||||
'routes',
|
||||
|
@ -400,9 +400,9 @@ class TestListRouter(TestRouter):
|
||||
'Name',
|
||||
'Status',
|
||||
'State',
|
||||
'Project',
|
||||
'Distributed',
|
||||
'HA',
|
||||
'Project',
|
||||
)
|
||||
columns_long = columns + (
|
||||
'Routes',
|
||||
@ -423,9 +423,9 @@ class TestListRouter(TestRouter):
|
||||
r.name,
|
||||
r.status,
|
||||
router._format_admin_state(r.admin_state_up),
|
||||
r.tenant_id,
|
||||
r.distributed,
|
||||
r.ha,
|
||||
r.tenant_id,
|
||||
))
|
||||
|
||||
router_agent_data = []
|
||||
@ -496,6 +496,25 @@ class TestListRouter(TestRouter):
|
||||
self.assertEqual(self.columns, columns)
|
||||
self.assertEqual(self.data, list(data))
|
||||
|
||||
def test_router_list_no_ha_no_distributed(self):
|
||||
_routers = network_fakes.FakeRouter.create_routers({
|
||||
'ha': None,
|
||||
'distributed': None},
|
||||
count=3)
|
||||
|
||||
arglist = []
|
||||
verifylist = [
|
||||
('long', False),
|
||||
]
|
||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||
|
||||
with mock.patch.object(
|
||||
self.network, "routers", return_value=_routers):
|
||||
columns, data = self.cmd.take_action(parsed_args)
|
||||
|
||||
self.assertNotIn("is_distributed", columns)
|
||||
self.assertNotIn("is_ha", columns)
|
||||
|
||||
def test_router_list_long(self):
|
||||
arglist = [
|
||||
'--long',
|
||||
@ -1196,6 +1215,26 @@ class TestShowRouter(TestRouter):
|
||||
self.assertEqual(self.columns, columns)
|
||||
self.assertEqual(self.data, data)
|
||||
|
||||
def test_show_no_ha_no_distributed(self):
|
||||
_router = network_fakes.FakeRouter.create_one_router({
|
||||
'ha': None,
|
||||
'distributed': None})
|
||||
|
||||
arglist = [
|
||||
_router.name,
|
||||
]
|
||||
verifylist = [
|
||||
('router', _router.name),
|
||||
]
|
||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||
|
||||
with mock.patch.object(
|
||||
self.network, "find_router", return_value=_router):
|
||||
columns, data = self.cmd.take_action(parsed_args)
|
||||
|
||||
self.assertNotIn("is_distributed", columns)
|
||||
self.assertNotIn("is_ha", columns)
|
||||
|
||||
|
||||
class TestUnsetRouter(TestRouter):
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user