Merge "Show Network QoS rules one per line"

This commit is contained in:
Zuul 2023-03-29 14:31:25 +00:00 committed by Gerrit Code Review
commit 55f2819cef
2 changed files with 13 additions and 2 deletions
openstackclient

@ -15,6 +15,7 @@
import logging import logging
from cliff import columns as cliff_columns
from osc_lib.command import command from osc_lib.command import command
from osc_lib import exceptions from osc_lib import exceptions
from osc_lib import utils from osc_lib import utils
@ -26,6 +27,16 @@ from openstackclient.network import common
LOG = logging.getLogger(__name__) LOG = logging.getLogger(__name__)
class RulesColumn(cliff_columns.FormattableColumn):
def human_readable(self):
return '\n'.join(str(v) for v in self._value)
_formatters = {
'rules': RulesColumn,
}
def _get_columns(item): def _get_columns(item):
column_map = { column_map = {
'is_shared': 'shared', 'is_shared': 'shared',
@ -287,5 +298,5 @@ class ShowNetworkQosPolicy(command.ShowOne):
obj = client.find_qos_policy(parsed_args.policy, obj = client.find_qos_policy(parsed_args.policy,
ignore_missing=False) ignore_missing=False)
display_columns, columns = _get_columns(obj) display_columns, columns = _get_columns(obj)
data = utils.get_item_properties(obj, columns) data = utils.get_item_properties(obj, columns, formatters=_formatters)
return (display_columns, data) return (display_columns, data)

@ -432,7 +432,7 @@ class TestShowNetworkQosPolicy(TestQosPolicy):
_qos_policy.is_default, _qos_policy.is_default,
_qos_policy.name, _qos_policy.name,
_qos_policy.project_id, _qos_policy.project_id,
_qos_policy.rules, network_qos_policy.RulesColumn(_qos_policy.rules),
_qos_policy.shared, _qos_policy.shared,
) )