diff options
Diffstat (limited to 'openstackclient/network')
| -rw-r--r-- | openstackclient/network/v2/port.py | 67 | ||||
| -rw-r--r-- | openstackclient/network/v2/subnet.py | 2 |
2 files changed, 51 insertions, 18 deletions
diff --git a/openstackclient/network/v2/port.py b/openstackclient/network/v2/port.py index 45ad1c72..a9e80428 100644 --- a/openstackclient/network/v2/port.py +++ b/openstackclient/network/v2/port.py @@ -97,10 +97,11 @@ def _get_attrs(client_manager, parsed_args): if parsed_args.host: attrs['binding:host_id'] = parsed_args.host + # It is possible that name is not updated during 'port set' + if parsed_args.name is not None: + attrs['name'] = str(parsed_args.name) # The remaining options do not support 'port set' command, so they require # additional check - if 'name' in parsed_args and parsed_args.name is not None: - attrs['name'] = str(parsed_args.name) if 'mac_address' in parsed_args and parsed_args.mac_address is not None: attrs['mac_address'] = parsed_args.mac_address if 'network' in parsed_args and parsed_args.network is not None: @@ -150,14 +151,6 @@ def _prepare_fixed_ips(client_manager, parsed_args): def _add_updatable_args(parser): - parser.add_argument( - '--fixed-ip', - metavar='subnet=<subnet>,ip-address=<ip-address>', - action=parseractions.MultiKeyValueAction, - optional_keys=['subnet', 'ip-address'], - help='Desired IP and/or subnet (name or ID) for this port: ' - 'subnet=<subnet>,ip-address=<ip-address> ' - '(this option can be repeated)') # NOTE(dtroyer): --device-id is deprecated in Mar 2016. Do not # remove before 3.x release or Mar 2017. device_group = parser.add_mutually_exclusive_group() @@ -183,12 +176,6 @@ def _add_updatable_args(parser): help="VNIC type for this port (direct | direct-physical |" " macvtap | normal | baremetal). If unspecified during" " port creation, default value will be 'normal'.") - parser.add_argument( - '--binding-profile', - metavar='<binding-profile>', - action=parseractions.KeyValueAction, - help='Custom data to be passed as binding:profile: <key>=<value> ' - '(this option can be repeated)') # NOTE(dtroyer): --host-id is deprecated in Mar 2016. Do not # remove before 3.x release or Mar 2017. host_group = parser.add_mutually_exclusive_group() @@ -216,6 +203,20 @@ class CreatePort(command.ShowOne): required=True, help='Network this port belongs to (name or ID)') _add_updatable_args(parser) + parser.add_argument( + '--fixed-ip', + metavar='subnet=<subnet>,ip-address=<ip-address>', + action=parseractions.MultiKeyValueAction, + optional_keys=['subnet', 'ip-address'], + help='Desired IP and/or subnet (name or ID) for this port: ' + 'subnet=<subnet>,ip-address=<ip-address> ' + '(this option can be repeated)') + parser.add_argument( + '--binding-profile', + metavar='<binding-profile>', + action=parseractions.KeyValueAction, + help='Custom data to be passed as binding:profile: <key>=<value> ' + '(this option can be repeated)') admin_group = parser.add_mutually_exclusive_group() admin_group.add_argument( '--enable', @@ -343,11 +344,38 @@ class SetPort(command.Command): help='Disable port', ) parser.add_argument( + '--name', + metavar="<name>", + help=('Set port name')) + parser.add_argument( 'port', metavar="<port>", help=("Port to modify (name or ID)") ) - + fixed_ip = parser.add_mutually_exclusive_group() + fixed_ip.add_argument( + '--fixed-ip', + metavar='subnet=<subnet>,ip-address=<ip-address>', + action=parseractions.MultiKeyValueAction, + optional_keys=['subnet', 'ip-address'], + help='Desired IP and/or subnet (name or ID) for this port: ' + 'subnet=<subnet>,ip-address=<ip-address> ' + '(this option can be repeated)') + fixed_ip.add_argument( + '--no-fixed-ip', + action='store_true', + help='Clear existing information of fixed-ips') + binding_profile = parser.add_mutually_exclusive_group() + binding_profile.add_argument( + '--binding-profile', + metavar='<binding-profile>', + action=parseractions.KeyValueAction, + help='Custom data to be passed as binding:profile: <key>=<value> ' + '(this option can be repeated)') + binding_profile.add_argument( + '--no-binding-profile', + action='store_true', + help='Clear existing information of binding:profile') return parser def take_action(self, parsed_args): @@ -356,6 +384,11 @@ class SetPort(command.Command): _prepare_fixed_ips(self.app.client_manager, parsed_args) attrs = _get_attrs(self.app.client_manager, parsed_args) + if parsed_args.no_fixed_ip: + attrs['fixed_ips'] = [] + if parsed_args.no_binding_profile: + attrs['binding:profile'] = {} + if attrs == {}: msg = "Nothing specified to be set" raise exceptions.CommandError(msg) diff --git a/openstackclient/network/v2/subnet.py b/openstackclient/network/v2/subnet.py index da4f6536..10e5859a 100644 --- a/openstackclient/network/v2/subnet.py +++ b/openstackclient/network/v2/subnet.py @@ -95,7 +95,7 @@ def convert_entries_to_nexthop(entries): def convert_entries_to_gateway(entries): - # Change 'nexhop' entry to 'gateway' + # Change 'nexthop' entry to 'gateway' changed_entries = copy.deepcopy(entries) for entry in changed_entries: entry['gateway'] = entry['nexthop'] |
