From de23ab8d75fe89c164b3b084c53f01c25b9040ca Mon Sep 17 00:00:00 2001 From: Hongbin Lu Date: Mon, 18 Sep 2017 01:41:32 +0000 Subject: Support creating unaddress neutron port Introduce an option '--no-fixed-ip' on port create command. If this option is specified and '--fixed-ip' is unspecified, OSC will send a request to neutron with 'fixed_ips' as an empty list, which will create an unaddress neutron port. Note: The use cases of unaddress port was outlined in: https://specs.openstack.org/openstack/neutron-specs/specs/liberty/unaddressed-port.html (dtroyer: add Depends-On for Zuul v3 test) Depends-On: I39e8e49243ab0bda631600715c971c55a34e2fd9 Change-Id: Ibe38598acbbcd0d353c952fc2a6fa67780762151 Closes-Bug: #1717829 --- openstackclient/network/v2/port.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'openstackclient/network') diff --git a/openstackclient/network/v2/port.py b/openstackclient/network/v2/port.py index 9536fe86..4b23b339 100644 --- a/openstackclient/network/v2/port.py +++ b/openstackclient/network/v2/port.py @@ -302,7 +302,8 @@ class CreatePort(command.ShowOne): help=_("Network this port belongs to (name or ID)") ) _add_updatable_args(parser) - parser.add_argument( + fixed_ip = parser.add_mutually_exclusive_group() + fixed_ip.add_argument( '--fixed-ip', metavar='subnet=,ip-address=', action=parseractions.MultiKeyValueAction, @@ -311,6 +312,11 @@ class CreatePort(command.ShowOne): "subnet=,ip-address= " "(repeat option to set multiple fixed IP addresses)") ) + fixed_ip.add_argument( + '--no-fixed-ip', + action='store_true', + help=_("No IP or subnet for this port.") + ) parser.add_argument( '--binding-profile', metavar='', @@ -402,6 +408,8 @@ class CreatePort(command.ShowOne): if parsed_args.fixed_ip: attrs['fixed_ips'] = parsed_args.fixed_ip + elif parsed_args.no_fixed_ip: + attrs['fixed_ips'] = [] if parsed_args.security_group: attrs['security_group_ids'] = [client.find_security_group( -- cgit v1.2.1