diff options
| author | Jenkins <jenkins@review.openstack.org> | 2016-06-28 08:24:35 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2016-06-28 08:24:36 +0000 |
| commit | 21ad61ddd928b47ec70144aeaa919d3782e266a1 (patch) | |
| tree | c4f3fab7a35ad8b7b518be16a1f1ee2f7b5a37bf /openstackclient/compute/v2/service.py | |
| parent | 1ce547103ae1d236d798cad1e256e7cf32ced1c0 (diff) | |
| parent | af7ab03693a5708102cf6746563da289e4c1e3b7 (diff) | |
| download | python-openstackclient-21ad61ddd928b47ec70144aeaa919d3782e266a1.tar.gz | |
Merge "Support bulk deletion for delete commands in computev2"
Diffstat (limited to 'openstackclient/compute/v2/service.py')
| -rw-r--r-- | openstackclient/compute/v2/service.py | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/openstackclient/compute/v2/service.py b/openstackclient/compute/v2/service.py index 1441114b..53624f55 100644 --- a/openstackclient/compute/v2/service.py +++ b/openstackclient/compute/v2/service.py @@ -36,14 +36,28 @@ class DeleteService(command.Command): parser.add_argument( "service", metavar="<service>", - help=_("Compute service to delete (ID only)") + nargs='+', + help=_("Compute service(s) to delete (ID only)") ) return parser def take_action(self, parsed_args): compute_client = self.app.client_manager.compute + result = 0 + for s in parsed_args.service: + try: + compute_client.services.delete(s) + except Exception as e: + result += 1 + LOG.error(_("Failed to delete compute service with " + "ID '%(service)s': %(e)s") + % {'service': s, 'e': e}) - compute_client.services.delete(parsed_args.service) + if result > 0: + total = len(parsed_args.service) + msg = (_("%(result)s of %(total)s compute services failed " + "to delete.") % {'result': result, 'total': total}) + raise exceptions.CommandError(msg) class ListService(command.Lister): |
