diff options
Diffstat (limited to 'openstackclient/network')
| -rw-r--r-- | openstackclient/network/common.py | 18 | ||||
| -rw-r--r-- | openstackclient/network/v2/address_scope.py | 11 | ||||
| -rw-r--r-- | openstackclient/network/v2/port.py | 6 | ||||
| -rw-r--r-- | openstackclient/network/v2/router.py | 19 | ||||
| -rw-r--r-- | openstackclient/network/v2/security_group_rule.py | 4 | ||||
| -rw-r--r-- | openstackclient/network/v2/subnet.py | 10 |
6 files changed, 51 insertions, 17 deletions
diff --git a/openstackclient/network/common.py b/openstackclient/network/common.py index 16cc7379..f62840fc 100644 --- a/openstackclient/network/common.py +++ b/openstackclient/network/common.py @@ -12,6 +12,7 @@ # import abc +import logging from osc_lib.command import command from osc_lib import exceptions @@ -20,6 +21,9 @@ import six from openstackclient.i18n import _ +LOG = logging.getLogger(__name__) + + @six.add_metaclass(abc.ABCMeta) class NetworkAndComputeCommand(command.Command): """Network and Compute Command @@ -39,10 +43,10 @@ class NetworkAndComputeCommand(command.Command): parsed_args) def get_parser(self, prog_name): - self.log.debug('get_parser(%s)', prog_name) + LOG.debug('get_parser(%s)', prog_name) parser = super(NetworkAndComputeCommand, self).get_parser(prog_name) parser = self.update_parser_common(parser) - self.log.debug('common parser: %s', parser) + LOG.debug('common parser: %s', parser) if self.app.client_manager.is_network_endpoint_enabled(): return self.update_parser_network(parser) else: @@ -102,7 +106,7 @@ class NetworkAndComputeDelete(NetworkAndComputeCommand): "name_or_id": r, "e": e, } - self.app.log.error(msg) + LOG.error(msg) ret += 1 if ret: @@ -134,10 +138,10 @@ class NetworkAndComputeLister(command.Lister): parsed_args) def get_parser(self, prog_name): - self.log.debug('get_parser(%s)', prog_name) + LOG.debug('get_parser(%s)', prog_name) parser = super(NetworkAndComputeLister, self).get_parser(prog_name) parser = self.update_parser_common(parser) - self.log.debug('common parser: %s', parser) + LOG.debug('common parser: %s', parser) if self.app.client_manager.is_network_endpoint_enabled(): return self.update_parser_network(parser) else: @@ -185,10 +189,10 @@ class NetworkAndComputeShowOne(command.ShowOne): parsed_args) def get_parser(self, prog_name): - self.log.debug('get_parser(%s)', prog_name) + LOG.debug('get_parser(%s)', prog_name) parser = super(NetworkAndComputeShowOne, self).get_parser(prog_name) parser = self.update_parser_common(parser) - self.log.debug('common parser: %s', parser) + LOG.debug('common parser: %s', parser) if self.app.client_manager.is_network_endpoint_enabled(): return self.update_parser_network(parser) else: diff --git a/openstackclient/network/v2/address_scope.py b/openstackclient/network/v2/address_scope.py index bc1a96c3..6cd13f8c 100644 --- a/openstackclient/network/v2/address_scope.py +++ b/openstackclient/network/v2/address_scope.py @@ -13,6 +13,8 @@ """Address scope action implementations""" +import logging + from osc_lib.command import command from osc_lib import exceptions from osc_lib import utils @@ -21,6 +23,9 @@ from openstackclient.i18n import _ from openstackclient.identity import common as identity_common +LOG = logging.getLogger(__name__) + + def _get_columns(item): columns = list(item.keys()) if 'tenant_id' in columns: @@ -122,9 +127,9 @@ class DeleteAddressScope(command.Command): client.delete_address_scope(obj) except Exception as e: result += 1 - self.app.log.error(_("Failed to delete address scope with " - "name or ID '%(scope)s': %(e)s") - % {'scope': scope, 'e': e}) + LOG.error(_("Failed to delete address scope with " + "name or ID '%(scope)s': %(e)s"), + {'scope': scope, 'e': e}) if result > 0: total = len(parsed_args.address_scope) diff --git a/openstackclient/network/v2/port.py b/openstackclient/network/v2/port.py index a25bdf8d..5d1431b5 100644 --- a/openstackclient/network/v2/port.py +++ b/openstackclient/network/v2/port.py @@ -320,9 +320,9 @@ class DeletePort(command.Command): 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}) + 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) diff --git a/openstackclient/network/v2/router.py b/openstackclient/network/v2/router.py index 92ecf84d..6271a878 100644 --- a/openstackclient/network/v2/router.py +++ b/openstackclient/network/v2/router.py @@ -19,6 +19,7 @@ import logging from osc_lib.cli import parseractions from osc_lib.command import command +from osc_lib import exceptions from osc_lib import utils from openstackclient.i18n import _ @@ -222,9 +223,23 @@ class DeleteRouter(command.Command): def take_action(self, parsed_args): client = self.app.client_manager.network + result = 0 + for router in parsed_args.router: - obj = client.find_router(router) - client.delete_router(obj) + try: + obj = client.find_router(router, ignore_missing=False) + client.delete_router(obj) + except Exception as e: + result += 1 + LOG.error(_("Failed to delete router with " + "name or ID '%(router)s': %(e)s") + % {'router': router, 'e': e}) + + if result > 0: + total = len(parsed_args.router) + msg = (_("%(result)s of %(total)s routers failed " + "to delete.") % {'result': result, 'total': total}) + raise exceptions.CommandError(msg) class ListRouter(command.Lister): diff --git a/openstackclient/network/v2/security_group_rule.py b/openstackclient/network/v2/security_group_rule.py index 18863223..e3be44ec 100644 --- a/openstackclient/network/v2/security_group_rule.py +++ b/openstackclient/network/v2/security_group_rule.py @@ -526,8 +526,8 @@ class ShowSecurityGroupRule(common.NetworkAndComputeShowOne): break if obj is None: - msg = _("Could not find security group rule with ID ") + \ - parsed_args.rule + msg = _("Could not find security group rule " + "with ID '%s'") % parsed_args.rule raise exceptions.CommandError(msg) # NOTE(rtheis): Format security group rule diff --git a/openstackclient/network/v2/subnet.py b/openstackclient/network/v2/subnet.py index a2e32622..752923f7 100644 --- a/openstackclient/network/v2/subnet.py +++ b/openstackclient/network/v2/subnet.py @@ -142,6 +142,9 @@ def _get_attrs(client_manager, parsed_args, is_create=True): attrs['ipv6_ra_mode'] = parsed_args.ipv6_ra_mode if parsed_args.ipv6_address_mode is not None: attrs['ipv6_address_mode'] = parsed_args.ipv6_address_mode + if 'network_segment' in parsed_args: + attrs['segment_id'] = client.find_segment( + parsed_args.network_segment, ignore_missing=False).id if 'gateway' in parsed_args and parsed_args.gateway is not None: gateway = parsed_args.gateway.lower() @@ -255,6 +258,13 @@ class CreateSubnet(command.ShowOne): help=_("IPv6 address mode, " "valid modes: [dhcpv6-stateful, dhcpv6-stateless, slaac]") ) + if self.app.options.os_beta_command: + parser.add_argument( + '--network-segment', + metavar='<network-segment>', + help=_("Network segment to associate with this subnet " + "(ID only)") + ) parser.add_argument( '--network', required=True, |
