Merge "Don't display router's is_ha and is_distributed attributes always"
This commit is contained in:
commit
6fec6d625f
@ -71,7 +71,15 @@ def _get_columns(item):
|
|||||||
}
|
}
|
||||||
if hasattr(item, 'interfaces_info'):
|
if hasattr(item, 'interfaces_info'):
|
||||||
column_map['interfaces_info'] = '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):
|
def _get_attrs(client_manager, parsed_args):
|
||||||
@ -330,8 +338,6 @@ class ListRouter(command.Lister):
|
|||||||
'name',
|
'name',
|
||||||
'status',
|
'status',
|
||||||
'is_admin_state_up',
|
'is_admin_state_up',
|
||||||
'is_distributed',
|
|
||||||
'is_ha',
|
|
||||||
'project_id',
|
'project_id',
|
||||||
)
|
)
|
||||||
column_headers = (
|
column_headers = (
|
||||||
@ -339,8 +345,6 @@ class ListRouter(command.Lister):
|
|||||||
'Name',
|
'Name',
|
||||||
'Status',
|
'Status',
|
||||||
'State',
|
'State',
|
||||||
'Distributed',
|
|
||||||
'HA',
|
|
||||||
'Project',
|
'Project',
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -376,6 +380,16 @@ class ListRouter(command.Lister):
|
|||||||
else:
|
else:
|
||||||
data = client.routers(**args)
|
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:
|
if parsed_args.long:
|
||||||
columns = columns + (
|
columns = columns + (
|
||||||
'routes',
|
'routes',
|
||||||
|
@ -400,9 +400,9 @@ class TestListRouter(TestRouter):
|
|||||||
'Name',
|
'Name',
|
||||||
'Status',
|
'Status',
|
||||||
'State',
|
'State',
|
||||||
|
'Project',
|
||||||
'Distributed',
|
'Distributed',
|
||||||
'HA',
|
'HA',
|
||||||
'Project',
|
|
||||||
)
|
)
|
||||||
columns_long = columns + (
|
columns_long = columns + (
|
||||||
'Routes',
|
'Routes',
|
||||||
@ -423,9 +423,9 @@ class TestListRouter(TestRouter):
|
|||||||
r.name,
|
r.name,
|
||||||
r.status,
|
r.status,
|
||||||
router._format_admin_state(r.admin_state_up),
|
router._format_admin_state(r.admin_state_up),
|
||||||
|
r.tenant_id,
|
||||||
r.distributed,
|
r.distributed,
|
||||||
r.ha,
|
r.ha,
|
||||||
r.tenant_id,
|
|
||||||
))
|
))
|
||||||
|
|
||||||
router_agent_data = []
|
router_agent_data = []
|
||||||
@ -496,6 +496,25 @@ class TestListRouter(TestRouter):
|
|||||||
self.assertEqual(self.columns, columns)
|
self.assertEqual(self.columns, columns)
|
||||||
self.assertEqual(self.data, list(data))
|
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):
|
def test_router_list_long(self):
|
||||||
arglist = [
|
arglist = [
|
||||||
'--long',
|
'--long',
|
||||||
@ -1196,6 +1215,26 @@ class TestShowRouter(TestRouter):
|
|||||||
self.assertEqual(self.columns, columns)
|
self.assertEqual(self.columns, columns)
|
||||||
self.assertEqual(self.data, data)
|
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):
|
class TestUnsetRouter(TestRouter):
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user