diff --git a/openstackclient/network/v2/network.py b/openstackclient/network/v2/network.py index 15f4592b51..38dff8d92a 100644 --- a/openstackclient/network/v2/network.py +++ b/openstackclient/network/v2/network.py @@ -39,6 +39,17 @@ _formatters = { } +def _get_columns(item): + columns = item.keys() + if 'tenant_id' in columns: + columns.remove('tenant_id') + columns.append('project_id') + if 'router:external' in columns: + columns.remove('router:external') + columns.append('router_external') + return tuple(sorted(columns)) + + class CreateNetwork(show.ShowOne): """Create new network""" @@ -91,9 +102,9 @@ class CreateNetwork(show.ShowOne): client = self.app.client_manager.network body = self.get_body(parsed_args) obj = client.create_network(**body) - columns = sorted(obj.keys()) + columns = _get_columns(obj) data = utils.get_item_properties(obj, columns, formatters=_formatters) - return (tuple(columns), data) + return (columns, data) def get_body(self, parsed_args): body = {'name': str(parsed_args.name), @@ -290,6 +301,6 @@ class ShowNetwork(show.ShowOne): self.log.debug('take_action(%s)' % parsed_args) client = self.app.client_manager.network obj = client.find_network(parsed_args.identifier, ignore_missing=False) - columns = sorted(obj.keys()) + columns = _get_columns(obj) data = utils.get_item_properties(obj, columns, formatters=_formatters) - return (tuple(columns), data) + return (columns, data) diff --git a/openstackclient/tests/network/v2/fakes.py b/openstackclient/tests/network/v2/fakes.py index b45c5412f9..80760a7792 100644 --- a/openstackclient/tests/network/v2/fakes.py +++ b/openstackclient/tests/network/v2/fakes.py @@ -73,11 +73,12 @@ class FakeNetwork(object): router_external, status, subnets, tenant_id """ # Set default attributes. + project_id = 'project-id-' + uuid.uuid4().hex network_attrs = { 'id': 'network-id-' + uuid.uuid4().hex, 'name': 'network-name-' + uuid.uuid4().hex, 'status': 'ACTIVE', - 'tenant_id': 'project-id-' + uuid.uuid4().hex, + 'tenant_id': project_id, 'admin_state_up': True, 'shared': False, 'subnets': ['a', 'b'], @@ -101,6 +102,8 @@ class FakeNetwork(object): network = fakes.FakeResource(info=copy.deepcopy(network_attrs), methods=copy.deepcopy(network_methods), loaded=True) + network.project_id = project_id + return network @staticmethod diff --git a/openstackclient/tests/network/v2/test_network.py b/openstackclient/tests/network/v2/test_network.py index f22224b650..12ac802c82 100644 --- a/openstackclient/tests/network/v2/test_network.py +++ b/openstackclient/tests/network/v2/test_network.py @@ -44,20 +44,20 @@ class TestCreateNetworkIdentityV3(TestNetwork): 'admin_state_up', 'id', 'name', + 'project_id', 'router_external', 'status', 'subnets', - 'tenant_id', ) data = ( network._format_admin_state(_network.admin_state_up), _network.id, _network.name, + _network.project_id, network._format_router_external(_network.router_external), _network.status, utils.format_list(_network.subnets), - _network.tenant_id, ) def setUp(self): @@ -186,20 +186,20 @@ class TestCreateNetworkIdentityV2(TestNetwork): 'admin_state_up', 'id', 'name', + 'project_id', 'router_external', 'status', 'subnets', - 'tenant_id', ) data = ( network._format_admin_state(_network.admin_state_up), _network.id, _network.name, + _network.project_id, network._format_router_external(_network.router_external), _network.status, utils.format_list(_network.subnets), - _network.tenant_id, ) def setUp(self): @@ -340,7 +340,7 @@ class TestListNetwork(TestNetwork): net.id, net.name, net.status, - net.tenant_id, + net.project_id, network._format_admin_state(net.admin_state_up), net.shared, utils.format_list(net.subnets), @@ -485,20 +485,20 @@ class TestShowNetwork(TestNetwork): 'admin_state_up', 'id', 'name', + 'project_id', 'router_external', 'status', 'subnets', - 'tenant_id', ) data = ( network._format_admin_state(_network.admin_state_up), _network.id, _network.name, + _network.project_id, network._format_router_external(_network.router_external), _network.status, utils.format_list(_network.subnets), - _network.tenant_id, ) def setUp(self):