Skip to content

Commit 9f3fa5e

Browse files
committed
Fix network router type display
The OpenStack SDK maps the network "router:external" field to "is_router_external". However, OSC was using the incorrect mapping, "router_external". This caused OSC to display router type as "Internal" for all networks. Change-Id: Ifcd1349ab7c5881baee751936d076bf6aa058852 Closes-Bug: #1572228
1 parent 461a203 commit 9f3fa5e

4 files changed

Lines changed: 18 additions & 15 deletions

File tree

openstackclient/network/v2/network.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ def _format_router_external(item):
3232
_formatters = {
3333
'subnets': utils.format_list,
3434
'admin_state_up': _format_admin_state,
35-
'router_external': _format_router_external,
35+
'router:external': _format_router_external,
3636
'availability_zones': utils.format_list,
3737
'availability_zone_hints': utils.format_list,
3838
}
@@ -43,9 +43,6 @@ def _get_columns(item):
4343
if 'tenant_id' in columns:
4444
columns.remove('tenant_id')
4545
columns.append('project_id')
46-
if 'router:external' in columns:
47-
columns.remove('router:external')
48-
columns.append('router_external')
4946
return tuple(sorted(columns))
5047

5148

@@ -290,7 +287,7 @@ def take_action_network(self, client, parsed_args):
290287
'shared',
291288
'subnets',
292289
'provider_network_type',
293-
'router_external',
290+
'router:external',
294291
'availability_zones',
295292
)
296293
column_headers = (

openstackclient/tests/network/v2/fakes.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -166,8 +166,7 @@ def create_one_network(attrs=None):
166166
:param Dictionary attrs:
167167
A dictionary with all attributes
168168
:return:
169-
A FakeResource object, with id, name, admin_state_up,
170-
router_external, status, subnets, tenant_id
169+
A FakeResource object, with id, name, etc.
171170
"""
172171
attrs = attrs or {}
173172

@@ -181,7 +180,7 @@ def create_one_network(attrs=None):
181180
'shared': False,
182181
'subnets': ['a', 'b'],
183182
'provider_network_type': 'vlan',
184-
'router_external': True,
183+
'router:external': True,
185184
'availability_zones': [],
186185
'availability_zone_hints': [],
187186
'is_default': False,
@@ -195,6 +194,7 @@ def create_one_network(attrs=None):
195194

196195
# Set attributes with special mapping in OpenStack SDK.
197196
network.project_id = network_attrs['tenant_id']
197+
network.is_router_external = network_attrs['router:external']
198198

199199
return network
200200

openstackclient/tests/network/v2/test_network.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ class TestCreateNetworkIdentityV3(TestNetwork):
5555
'name',
5656
'project_id',
5757
'provider_network_type',
58-
'router_external',
58+
'router:external',
5959
'shared',
6060
'status',
6161
'subnets',
@@ -70,7 +70,7 @@ class TestCreateNetworkIdentityV3(TestNetwork):
7070
_network.name,
7171
_network.project_id,
7272
_network.provider_network_type,
73-
network._format_router_external(_network.router_external),
73+
network._format_router_external(_network.is_router_external),
7474
_network.shared,
7575
_network.status,
7676
utils.format_list(_network.subnets),
@@ -224,7 +224,7 @@ class TestCreateNetworkIdentityV2(TestNetwork):
224224
'name',
225225
'project_id',
226226
'provider_network_type',
227-
'router_external',
227+
'router:external',
228228
'shared',
229229
'status',
230230
'subnets',
@@ -239,7 +239,7 @@ class TestCreateNetworkIdentityV2(TestNetwork):
239239
_network.name,
240240
_network.project_id,
241241
_network.provider_network_type,
242-
network._format_router_external(_network.router_external),
242+
network._format_router_external(_network.is_router_external),
243243
_network.shared,
244244
_network.status,
245245
utils.format_list(_network.subnets),
@@ -391,7 +391,7 @@ class TestListNetwork(TestNetwork):
391391
net.shared,
392392
utils.format_list(net.subnets),
393393
net.provider_network_type,
394-
network._format_router_external(net.router_external),
394+
network._format_router_external(net.is_router_external),
395395
utils.format_list(net.availability_zones),
396396
))
397397

@@ -566,7 +566,7 @@ class TestShowNetwork(TestNetwork):
566566
'name',
567567
'project_id',
568568
'provider_network_type',
569-
'router_external',
569+
'router:external',
570570
'shared',
571571
'status',
572572
'subnets',
@@ -581,7 +581,7 @@ class TestShowNetwork(TestNetwork):
581581
_network.name,
582582
_network.project_id,
583583
_network.provider_network_type,
584-
network._format_router_external(_network.router_external),
584+
network._format_router_external(_network.is_router_external),
585585
_network.shared,
586586
_network.status,
587587
utils.format_list(_network.subnets),
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
fixes:
3+
- Fixed ``network create``, ``network show`` and ``network list``
4+
commands to correctly display the router type in the
5+
``router:external`` and ``Router Type`` columns.
6+
[Bug `1572228 <https://bugs.launchpad.net/bugs/1572228>`_]

0 commit comments

Comments
 (0)