Skip to content

Commit 6ee7b8d

Browse files
author
Dean Troyer
committed
Format location columns in network commands
These return a Munch from the SDK, which can be handled exactly like a dict so do that. Note that the location column has a nested project dict in the return value, this is addressed separately in osc_lib.format_columns in https://review.opendev.org/#/c/679474/. Change-Id: I99a6d192749a4ac76777f72be8118261c0521cb0 Signed-off-by: Dean Troyer <dtroyer@gmail.com>
1 parent eed615e commit 6ee7b8d

22 files changed

+119
-28
lines changed

openstackclient/network/v2/address_scope.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
import logging
1717

18+
from osc_lib.cli import format_columns
1819
from osc_lib.command import command
1920
from osc_lib import exceptions
2021
from osc_lib import utils
@@ -27,6 +28,11 @@
2728
LOG = logging.getLogger(__name__)
2829

2930

31+
_formatters = {
32+
'location': format_columns.DictColumn,
33+
}
34+
35+
3036
def _get_columns(item):
3137
column_map = {
3238
'is_shared': 'shared',
@@ -100,7 +106,7 @@ def take_action(self, parsed_args):
100106
attrs = _get_attrs(self.app.client_manager, parsed_args)
101107
obj = client.create_address_scope(**attrs)
102108
display_columns, columns = _get_columns(obj)
103-
data = utils.get_item_properties(obj, columns, formatters={})
109+
data = utils.get_item_properties(obj, columns, formatters=_formatters)
104110

105111
return (display_columns, data)
106112

@@ -289,6 +295,6 @@ def take_action(self, parsed_args):
289295
parsed_args.address_scope,
290296
ignore_missing=False)
291297
display_columns, columns = _get_columns(obj)
292-
data = utils.get_item_properties(obj, columns, formatters={})
298+
data = utils.get_item_properties(obj, columns, formatters=_formatters)
293299

294300
return (display_columns, data)

openstackclient/network/v2/floating_ip.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
"""IP Floating action implementations"""
1515

16+
from osc_lib.cli import format_columns
1617
from osc_lib.command import command
1718
from osc_lib import utils
1819

@@ -24,6 +25,7 @@
2425

2526

2627
_formatters = {
28+
'location': format_columns.DictColumn,
2729
'port_details': utils.format_dict,
2830
}
2931

openstackclient/network/v2/ip_availability.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,9 @@
2121
from openstackclient.identity import common as identity_common
2222
from openstackclient.network import sdk_utils
2323

24+
2425
_formatters = {
26+
'location': format_columns.DictColumn,
2527
'subnet_ip_availability': format_columns.ListDictColumn,
2628
}
2729

openstackclient/network/v2/network.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ def human_readable(self):
4040
'subnet_ids': format_columns.ListColumn,
4141
'admin_state_up': AdminStateColumn,
4242
'is_admin_state_up': AdminStateColumn,
43+
'location': format_columns.DictColumn,
4344
'router:external': RouterExternalColumn,
4445
'is_router_external': RouterExternalColumn,
4546
'availability_zones': format_columns.ListColumn,

openstackclient/network/v2/network_agent.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ def human_readable(self):
4343
'alive': AliveColumn,
4444
'admin_state_up': AdminStateColumn,
4545
'is_admin_state_up': AdminStateColumn,
46+
'location': format_columns.DictColumn,
4647
'configurations': format_columns.DictColumn,
4748
}
4849

openstackclient/network/v2/network_auto_allocated_topology.py

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
import logging
1717

18+
from osc_lib.cli import format_columns
1819
from osc_lib.command import command
1920
from osc_lib import utils
2021

@@ -25,6 +26,11 @@
2526
LOG = logging.getLogger(__name__)
2627

2728

29+
_formatters = {
30+
'location': format_columns.DictColumn,
31+
}
32+
33+
2834
def _get_columns(item):
2935
column_map = {
3036
'tenant_id': 'project_id',
@@ -93,16 +99,17 @@ def check_resource_topology(self, client, parsed_args):
9399
obj = client.validate_auto_allocated_topology(parsed_args.project)
94100

95101
columns = _format_check_resource_columns()
96-
data = utils.get_item_properties(_format_check_resource(obj),
97-
columns,
98-
formatters={})
99-
102+
data = utils.get_item_properties(
103+
_format_check_resource(obj),
104+
columns,
105+
formatters=_formatters,
106+
)
100107
return (columns, data)
101108

102109
def get_topology(self, client, parsed_args):
103110
obj = client.get_auto_allocated_topology(parsed_args.project)
104111
display_columns, columns = _get_columns(obj)
105-
data = utils.get_item_properties(obj, columns, formatters={})
112+
data = utils.get_item_properties(obj, columns, formatters=_formatters)
106113
return (display_columns, data)
107114

108115
def take_action(self, parsed_args):

openstackclient/network/v2/network_flavor.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
import logging
1717

18+
from osc_lib.cli import format_columns
1819
from osc_lib.command import command
1920
from osc_lib import exceptions
2021
from osc_lib import utils
@@ -27,6 +28,11 @@
2728
LOG = logging.getLogger(__name__)
2829

2930

31+
_formatters = {
32+
'location': format_columns.DictColumn,
33+
}
34+
35+
3036
def _get_columns(item):
3137
column_map = {
3238
'is_enabled': 'enabled',
@@ -136,7 +142,7 @@ def take_action(self, parsed_args):
136142
attrs = _get_attrs(self.app.client_manager, parsed_args)
137143
obj = client.create_flavor(**attrs)
138144
display_columns, columns = _get_columns(obj)
139-
data = utils.get_item_properties(obj, columns, formatters={})
145+
data = utils.get_item_properties(obj, columns, formatters=_formatters)
140146

141147
return (display_columns, data)
142148

@@ -300,5 +306,5 @@ def take_action(self, parsed_args):
300306
client = self.app.client_manager.network
301307
obj = client.find_flavor(parsed_args.flavor, ignore_missing=False)
302308
display_columns, columns = _get_columns(obj)
303-
data = utils.get_item_properties(obj, columns)
309+
data = utils.get_item_properties(obj, columns, formatters=_formatters)
304310
return display_columns, data

openstackclient/network/v2/network_flavor_profile.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
import logging
1515

16+
from osc_lib.cli import format_columns
1617
from osc_lib.command import command
1718
from osc_lib import exceptions
1819
from osc_lib import utils
@@ -25,6 +26,11 @@
2526
LOG = logging.getLogger(__name__)
2627

2728

29+
_formatters = {
30+
'location': format_columns.DictColumn,
31+
}
32+
33+
2834
def _get_columns(item):
2935
column_map = {
3036
'is_enabled': 'enabled',
@@ -110,7 +116,7 @@ def take_action(self, parsed_args):
110116

111117
obj = client.create_service_profile(**attrs)
112118
display_columns, columns = _get_columns(obj)
113-
data = utils.get_item_properties(obj, columns, formatters={})
119+
data = utils.get_item_properties(obj, columns, formatters=_formatters)
114120

115121
return (display_columns, data)
116122

@@ -246,5 +252,5 @@ def take_action(self, parsed_args):
246252
obj = client.find_service_profile(parsed_args.flavor_profile,
247253
ignore_missing=False)
248254
display_columns, columns = _get_columns(obj)
249-
data = utils.get_item_properties(obj, columns)
255+
data = utils.get_item_properties(obj, columns, formatters=_formatters)
250256
return (display_columns, data)

openstackclient/network/v2/network_meter.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
import logging
1717

18+
from osc_lib.cli import format_columns
1819
from osc_lib.command import command
1920
from osc_lib import exceptions
2021
from osc_lib import utils
@@ -26,6 +27,11 @@
2627
LOG = logging.getLogger(__name__)
2728

2829

30+
_formatters = {
31+
'location': format_columns.DictColumn,
32+
}
33+
34+
2935
def _get_columns(item):
3036
column_map = {
3137
'is_shared': 'shared',
@@ -102,7 +108,7 @@ def take_action(self, parsed_args):
102108
attrs = _get_attrs(self.app.client_manager, parsed_args)
103109
obj = client.create_metering_label(**attrs)
104110
display_columns, columns = _get_columns(obj)
105-
data = utils.get_item_properties(obj, columns, formatters={})
111+
data = utils.get_item_properties(obj, columns, formatters=_formatters)
106112

107113
return (display_columns, data)
108114

@@ -186,5 +192,5 @@ def take_action(self, parsed_args):
186192
obj = client.find_metering_label(parsed_args.meter,
187193
ignore_missing=False)
188194
display_columns, columns = _get_columns(obj)
189-
data = utils.get_item_properties(obj, columns)
195+
data = utils.get_item_properties(obj, columns, formatters=_formatters)
190196
return display_columns, data

openstackclient/network/v2/network_meter_rule.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
import logging
1717

18+
from osc_lib.cli import format_columns
1819
from osc_lib.command import command
1920
from osc_lib import exceptions
2021
from osc_lib import utils
@@ -26,6 +27,11 @@
2627
LOG = logging.getLogger(__name__)
2728

2829

30+
_formatters = {
31+
'location': format_columns.DictColumn,
32+
}
33+
34+
2935
def _get_columns(item):
3036
column_map = {
3137
'tenant_id': 'project_id',
@@ -116,7 +122,7 @@ def take_action(self, parsed_args):
116122
attrs = _get_attrs(self.app.client_manager, parsed_args)
117123
obj = client.create_metering_label_rule(**attrs)
118124
display_columns, columns = _get_columns(obj)
119-
data = utils.get_item_properties(obj, columns, formatters={})
125+
data = utils.get_item_properties(obj, columns, formatters=_formatters)
120126

121127
return (display_columns, data)
122128

@@ -199,5 +205,5 @@ def take_action(self, parsed_args):
199205
obj = client.find_metering_label_rule(parsed_args.meter_rule_id,
200206
ignore_missing=False)
201207
display_columns, columns = _get_columns(obj)
202-
data = utils.get_item_properties(obj, columns)
208+
data = utils.get_item_properties(obj, columns, formatters=_formatters)
203209
return display_columns, data

0 commit comments

Comments
 (0)