diff options
| author | Jenkins <jenkins@review.openstack.org> | 2016-06-07 10:33:40 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2016-06-07 10:33:40 +0000 |
| commit | 26d7657f1f40800e3859a80eb9969d79a2d86a88 (patch) | |
| tree | abd88d084bd33df38b4c5094d4e25f3b3a796f12 /openstackclient/network | |
| parent | 5293bb103e75542d9defb9d0d5ed3c144f0657fe (diff) | |
| parent | eb421f6dabead63318139e2db5d0d11498c40a68 (diff) | |
| download | python-openstackclient-26d7657f1f40800e3859a80eb9969d79a2d86a88.tar.gz | |
Merge "Support error handling for "port delete" command"
Diffstat (limited to 'openstackclient/network')
| -rw-r--r-- | openstackclient/network/v2/port.py | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/openstackclient/network/v2/port.py b/openstackclient/network/v2/port.py index ca02281f..7ef3964b 100644 --- a/openstackclient/network/v2/port.py +++ b/openstackclient/network/v2/port.py @@ -284,10 +284,23 @@ class DeletePort(command.Command): def take_action(self, parsed_args): client = self.app.client_manager.network + result = 0 for port in parsed_args.port: - res = client.find_port(port) - client.delete_port(res) + try: + obj = client.find_port(port, ignore_missing=False) + client.delete_port(obj) + except Exception as e: + result += 1 + self.app.log.error(_("Failed to delete port with " + "name or ID '%(port)s': %(e)s") + % {'port': port, 'e': e}) + + if result > 0: + total = len(parsed_args.port) + msg = (_("%(result)s of %(total)s ports failed " + "to delete.") % {'result': result, 'total': total}) + raise exceptions.CommandError(msg) class ListPort(command.Lister): |
