summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/source/command-objects/port.rst5
-rw-r--r--openstackclient/network/v2/port.py9
-rw-r--r--openstackclient/tests/network/v2/test_port.py3
-rw-r--r--releasenotes/notes/add-name-to-port-set-eefa081225bf8b49.yaml4
4 files changed, 19 insertions, 2 deletions
diff --git a/doc/source/command-objects/port.rst b/doc/source/command-objects/port.rst
index 4d58745b..46bd6339 100644
--- a/doc/source/command-objects/port.rst
+++ b/doc/source/command-objects/port.rst
@@ -130,6 +130,7 @@ Set port properties
[--binding-profile <binding-profile>]
[--host-id <host-id>]
[--enable | --disable]
+ [--name <name>]
<port>
.. option:: --fixed-ip subnet=<subnet>,ip-address=<ip-address>
@@ -168,6 +169,10 @@ Set port properties
Disable port
+.. option:: --name
+
+ Set port name
+
.. _port_set-port:
.. describe:: <port>
diff --git a/openstackclient/network/v2/port.py b/openstackclient/network/v2/port.py
index 45ad1c72..d7866ccc 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:
@@ -343,6 +344,10 @@ 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)")
diff --git a/openstackclient/tests/network/v2/test_port.py b/openstackclient/tests/network/v2/test_port.py
index cb1af2b8..31454dba 100644
--- a/openstackclient/tests/network/v2/test_port.py
+++ b/openstackclient/tests/network/v2/test_port.py
@@ -319,6 +319,7 @@ class TestSetPort(TestPort):
'--vnic-type', 'macvtap',
'--binding-profile', 'foo=bar',
'--host', 'binding-host-id-xxxx',
+ '--name', 'newName',
self._port.name,
]
verifylist = [
@@ -326,6 +327,7 @@ class TestSetPort(TestPort):
('vnic_type', 'macvtap'),
('binding_profile', {'foo': 'bar'}),
('host', 'binding-host-id-xxxx'),
+ ('name', 'newName')
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -336,6 +338,7 @@ class TestSetPort(TestPort):
'binding:vnic_type': 'macvtap',
'binding:profile': {'foo': 'bar'},
'binding:host_id': 'binding-host-id-xxxx',
+ 'name': 'newName',
}
self.network.update_port.assert_called_once_with(self._port, **attrs)
self.assertIsNone(result)
diff --git a/releasenotes/notes/add-name-to-port-set-eefa081225bf8b49.yaml b/releasenotes/notes/add-name-to-port-set-eefa081225bf8b49.yaml
new file mode 100644
index 00000000..13ecad26
--- /dev/null
+++ b/releasenotes/notes/add-name-to-port-set-eefa081225bf8b49.yaml
@@ -0,0 +1,4 @@
+---
+features:
+ - |
+ Port name can now be updated using ``port set`` \ No newline at end of file