From 1d51eb82d05bce9b78ad289378e7d656511933d9 Mon Sep 17 00:00:00 2001 From: Steve Martinelli Date: Sun, 28 Jun 2015 23:40:34 -0400 Subject: [PATCH] Alphabetize QoS specs setup.cfg and the implementation had some functions that were not in alphabetical order. Since the rest of OSC is alphabetized, let's stick to that. Change-Id: Ief5d4694c7b6bc20a0898437b96305885104d45c --- openstackclient/volume/v1/qos_specs.py | 338 ++++++++++++------------- setup.cfg | 10 +- 2 files changed, 174 insertions(+), 174 deletions(-) diff --git a/openstackclient/volume/v1/qos_specs.py b/openstackclient/volume/v1/qos_specs.py index 634b62979c..74429481df 100644 --- a/openstackclient/volume/v1/qos_specs.py +++ b/openstackclient/volume/v1/qos_specs.py @@ -26,6 +26,38 @@ from openstackclient.common import parseractions from openstackclient.common import utils +class AssociateQos(command.Command): + """Associate a QoS specification to a volume type""" + + log = logging.getLogger(__name__ + '.AssociateQos') + + def get_parser(self, prog_name): + parser = super(AssociateQos, self).get_parser(prog_name) + parser.add_argument( + 'qos_specs', + metavar='', + help='QoS specification to modify (name or ID)', + ) + parser.add_argument( + 'volume_type', + metavar='', + help='Volume type to associate the QoS (name or ID)', + ) + return parser + + def take_action(self, parsed_args): + self.log.debug('take_action(%s)', parsed_args) + volume_client = self.app.client_manager.volume + qos_specs = utils.find_resource(volume_client.qos_specs, + parsed_args.qos_specs) + volume_type = utils.find_resource(volume_client.volume_types, + parsed_args.volume_type) + + volume_client.qos_specs.associate(qos_specs.id, volume_type.id) + + return + + class CreateQos(show.ShowOne): """Create new QoS specification""" @@ -95,175 +127,6 @@ class DeleteQos(command.Command): return -class ListQos(lister.Lister): - """List QoS specifications""" - - log = logging.getLogger(__name__ + '.ListQos') - - def get_parser(self, prog_name): - parser = super(ListQos, self).get_parser(prog_name) - return parser - - def take_action(self, parsed_args): - self.log.debug('take_action(%s)', parsed_args) - volume_client = self.app.client_manager.volume - qos_specs_list = volume_client.qos_specs.list() - - for qos in qos_specs_list: - qos_associations = volume_client.qos_specs.get_associations(qos) - if qos_associations: - associations = [association.name - for association in qos_associations] - qos._info.update({'associations': associations}) - - columns = ('ID', 'Name', 'Consumer', 'Associations', 'Specs') - return (columns, - (utils.get_dict_properties( - s._info, columns, - formatters={ - 'Specs': utils.format_dict, - 'Associations': utils.format_list - }, - ) for s in qos_specs_list)) - - -class ShowQos(show.ShowOne): - """Display QoS specification details""" - - log = logging.getLogger(__name__ + '.ShowQos') - - def get_parser(self, prog_name): - parser = super(ShowQos, self).get_parser(prog_name) - parser.add_argument( - 'qos_specs', - metavar='', - help='QoS specification to display (name or ID)', - ) - return parser - - def take_action(self, parsed_args): - self.log.debug('take_action(%s)', parsed_args) - volume_client = self.app.client_manager.volume - qos_specs = utils.find_resource(volume_client.qos_specs, - parsed_args.qos_specs) - - qos_associations = volume_client.qos_specs.get_associations(qos_specs) - if qos_associations: - associations = [association.name - for association in qos_associations] - qos_specs._info.update({ - 'associations': utils.format_list(associations) - }) - qos_specs._info.update({'specs': utils.format_dict(qos_specs.specs)}) - - return zip(*sorted(six.iteritems(qos_specs._info))) - - -class SetQos(command.Command): - """Set QoS specification properties""" - - log = logging.getLogger(__name__ + '.SetQos') - - def get_parser(self, prog_name): - parser = super(SetQos, self).get_parser(prog_name) - parser.add_argument( - 'qos_specs', - metavar='', - help='QoS specification to modify (name or ID)', - ) - parser.add_argument( - '--property', - metavar='', - action=parseractions.KeyValueAction, - help='Property to add or modify for this QoS specification ' - '(repeat option to set multiple properties)', - ) - return parser - - def take_action(self, parsed_args): - self.log.debug('take_action(%s)', parsed_args) - volume_client = self.app.client_manager.volume - qos_specs = utils.find_resource(volume_client.qos_specs, - parsed_args.qos_specs) - - if parsed_args.property: - volume_client.qos_specs.set_keys(qos_specs.id, - parsed_args.property) - else: - self.app.log.error("No changes requested\n") - - return - - -class UnsetQos(command.Command): - """Unset QoS specification properties""" - - log = logging.getLogger(__name__ + '.SetQos') - - def get_parser(self, prog_name): - parser = super(UnsetQos, self).get_parser(prog_name) - parser.add_argument( - 'qos_specs', - metavar='', - help='QoS specification to modify (name or ID)', - ) - parser.add_argument( - '--property', - metavar='', - action='append', - default=[], - help='Property to remove from the QoS specification. ' - '(repeat option to unset multiple properties)', - ) - return parser - - def take_action(self, parsed_args): - self.log.debug('take_action(%s)', parsed_args) - volume_client = self.app.client_manager.volume - qos_specs = utils.find_resource(volume_client.qos_specs, - parsed_args.qos_specs) - - if parsed_args.property: - volume_client.qos_specs.unset_keys(qos_specs.id, - parsed_args.property) - else: - self.app.log.error("No changes requested\n") - - return - - -class AssociateQos(command.Command): - """Associate a QoS specification to a volume type""" - - log = logging.getLogger(__name__ + '.AssociateQos') - - def get_parser(self, prog_name): - parser = super(AssociateQos, self).get_parser(prog_name) - parser.add_argument( - 'qos_specs', - metavar='', - help='QoS specification to modify (name or ID)', - ) - parser.add_argument( - 'volume_type', - metavar='', - help='Volume type to associate the QoS (name or ID)', - ) - return parser - - def take_action(self, parsed_args): - self.log.debug('take_action(%s)', parsed_args) - volume_client = self.app.client_manager.volume - qos_specs = utils.find_resource(volume_client.qos_specs, - parsed_args.qos_specs) - volume_type = utils.find_resource(volume_client.volume_types, - parsed_args.volume_type) - - volume_client.qos_specs.associate(qos_specs.id, volume_type.id) - - return - - class DisassociateQos(command.Command): """Disassociate a QoS specification from a volume type""" @@ -305,3 +168,140 @@ class DisassociateQos(command.Command): volume_client.qos_specs.disassociate_all(qos_specs.id) return + + +class ListQos(lister.Lister): + """List QoS specifications""" + + log = logging.getLogger(__name__ + '.ListQos') + + def get_parser(self, prog_name): + parser = super(ListQos, self).get_parser(prog_name) + return parser + + def take_action(self, parsed_args): + self.log.debug('take_action(%s)', parsed_args) + volume_client = self.app.client_manager.volume + qos_specs_list = volume_client.qos_specs.list() + + for qos in qos_specs_list: + qos_associations = volume_client.qos_specs.get_associations(qos) + if qos_associations: + associations = [association.name + for association in qos_associations] + qos._info.update({'associations': associations}) + + columns = ('ID', 'Name', 'Consumer', 'Associations', 'Specs') + return (columns, + (utils.get_dict_properties( + s._info, columns, + formatters={ + 'Specs': utils.format_dict, + 'Associations': utils.format_list + }, + ) for s in qos_specs_list)) + + +class SetQos(command.Command): + """Set QoS specification properties""" + + log = logging.getLogger(__name__ + '.SetQos') + + def get_parser(self, prog_name): + parser = super(SetQos, self).get_parser(prog_name) + parser.add_argument( + 'qos_specs', + metavar='', + help='QoS specification to modify (name or ID)', + ) + parser.add_argument( + '--property', + metavar='', + action=parseractions.KeyValueAction, + help='Property to add or modify for this QoS specification ' + '(repeat option to set multiple properties)', + ) + return parser + + def take_action(self, parsed_args): + self.log.debug('take_action(%s)', parsed_args) + volume_client = self.app.client_manager.volume + qos_specs = utils.find_resource(volume_client.qos_specs, + parsed_args.qos_specs) + + if parsed_args.property: + volume_client.qos_specs.set_keys(qos_specs.id, + parsed_args.property) + else: + self.app.log.error("No changes requested\n") + + return + + +class ShowQos(show.ShowOne): + """Display QoS specification details""" + + log = logging.getLogger(__name__ + '.ShowQos') + + def get_parser(self, prog_name): + parser = super(ShowQos, self).get_parser(prog_name) + parser.add_argument( + 'qos_specs', + metavar='', + help='QoS specification to display (name or ID)', + ) + return parser + + def take_action(self, parsed_args): + self.log.debug('take_action(%s)', parsed_args) + volume_client = self.app.client_manager.volume + qos_specs = utils.find_resource(volume_client.qos_specs, + parsed_args.qos_specs) + + qos_associations = volume_client.qos_specs.get_associations(qos_specs) + if qos_associations: + associations = [association.name + for association in qos_associations] + qos_specs._info.update({ + 'associations': utils.format_list(associations) + }) + qos_specs._info.update({'specs': utils.format_dict(qos_specs.specs)}) + + return zip(*sorted(six.iteritems(qos_specs._info))) + + +class UnsetQos(command.Command): + """Unset QoS specification properties""" + + log = logging.getLogger(__name__ + '.SetQos') + + def get_parser(self, prog_name): + parser = super(UnsetQos, self).get_parser(prog_name) + parser.add_argument( + 'qos_specs', + metavar='', + help='QoS specification to modify (name or ID)', + ) + parser.add_argument( + '--property', + metavar='', + action='append', + default=[], + help='Property to remove from the QoS specification. ' + '(repeat option to unset multiple properties)', + ) + return parser + + def take_action(self, parsed_args): + self.log.debug('take_action(%s)', parsed_args) + volume_client = self.app.client_manager.volume + qos_specs = utils.find_resource(volume_client.qos_specs, + parsed_args.qos_specs) + + if parsed_args.property: + volume_client.qos_specs.unset_keys(qos_specs.id, + parsed_args.property) + else: + self.app.log.error("No changes requested\n") + + return diff --git a/setup.cfg b/setup.cfg index 4ed8fb07f2..7fb227e67b 100644 --- a/setup.cfg +++ b/setup.cfg @@ -366,14 +366,14 @@ openstack.volume.v1 = volume_type_set = openstackclient.volume.v1.type:SetVolumeType volume_type_unset = openstackclient.volume.v1.type:UnsetVolumeType + volume_qos_associate = openstackclient.volume.v1.qos_specs:AssociateQos volume_qos_create = openstackclient.volume.v1.qos_specs:CreateQos volume_qos_delete = openstackclient.volume.v1.qos_specs:DeleteQos - volume_qos_list = openstackclient.volume.v1.qos_specs:ListQos - volume_qos_show = openstackclient.volume.v1.qos_specs:ShowQos - volume_qos_set = openstackclient.volume.v1.qos_specs:SetQos - volume_qos_unset = openstackclient.volume.v1.qos_specs:UnsetQos - volume_qos_associate = openstackclient.volume.v1.qos_specs:AssociateQos volume_qos_disassociate = openstackclient.volume.v1.qos_specs:DisassociateQos + volume_qos_list = openstackclient.volume.v1.qos_specs:ListQos + volume_qos_set = openstackclient.volume.v1.qos_specs:SetQos + volume_qos_show = openstackclient.volume.v1.qos_specs:ShowQos + volume_qos_unset = openstackclient.volume.v1.qos_specs:UnsetQos openstack.volume.v2 = backup_create = openstackclient.volume.v2.backup:CreateBackup