summaryrefslogtreecommitdiff
path: root/openstackclient/network
diff options
context:
space:
mode:
authorHongbin Lu <hongbin.lu@huawei.com>2017-09-18 01:41:32 +0000
committerDean Troyer <dtroyer@gmail.com>2017-09-29 18:49:22 +0000
commitde23ab8d75fe89c164b3b084c53f01c25b9040ca (patch)
tree08d3b1412a66d1be07b002178cf2bc09de84de22 /openstackclient/network
parenta452c9d82566db6c09419ce2e5c855d51e2631e1 (diff)
downloadpython-openstackclient-de23ab8d75fe89c164b3b084c53f01c25b9040ca.tar.gz
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
Diffstat (limited to 'openstackclient/network')
-rw-r--r--openstackclient/network/v2/port.py10
1 files changed, 9 insertions, 1 deletions
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=<subnet>,ip-address=<ip-address>',
action=parseractions.MultiKeyValueAction,
@@ -311,6 +312,11 @@ class CreatePort(command.ShowOne):
"subnet=<subnet>,ip-address=<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='<binding-profile>',
@@ -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(