Merge "Add description field port create & port set"

This commit is contained in:
Jenkins 2016-11-10 18:10:26 +00:00 committed by Gerrit Code Review
commit 85f2afdad0
5 changed files with 72 additions and 40 deletions

View File

@ -18,6 +18,7 @@ Create new port
os port create
--network <network>
[--description <description>]
[--fixed-ip subnet=<subnet>,ip-address=<ip-address>]
[--device <device-id>]
[--device-owner <device-owner>]
@ -34,6 +35,10 @@ Create new port
Network this port belongs to (name or ID)
.. option:: --description <description>
Description of this port
.. option:: --fixed-ip subnet=<subnet>,ip-address=<ip-address>
Desired IP and/or subnet (name or ID) for this port:
@ -164,6 +169,7 @@ Set port properties
.. code:: bash
os port set
[--description <description>]
[--fixed-ip subnet=<subnet>,ip-address=<ip-address>]
[--no-fixed-ip]
[--device <device-id>]
@ -178,6 +184,10 @@ Set port properties
[--no-security-group]
<port>
.. option:: --description <description>
Description of this port
.. option:: --fixed-ip subnet=<subnet>,ip-address=<ip-address>
Desired IP and/or subnet (name or ID) for this port:

View File

@ -109,6 +109,8 @@ def _get_attrs(client_manager, parsed_args):
'The --host-id option is deprecated, '
'please use --host instead.'
))
if parsed_args.description is not None:
attrs['description'] = parsed_args.description
if parsed_args.fixed_ip is not None:
attrs['fixed_ips'] = parsed_args.fixed_ip
if parsed_args.device:
@ -180,46 +182,51 @@ def _prepare_fixed_ips(client_manager, parsed_args):
def _add_updatable_args(parser):
# 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()
device_group.add_argument(
'--device',
metavar='<device-id>',
help=_("Port device ID")
)
device_group.add_argument(
'--device-id',
metavar='<device-id>',
help=argparse.SUPPRESS,
)
parser.add_argument(
'--device-owner',
metavar='<device-owner>',
help=_("Device owner of this port. This is the entity that uses "
"the port (for example, network:dhcp).")
)
parser.add_argument(
'--vnic-type',
metavar='<vnic-type>',
choices=['direct', 'direct-physical', 'macvtap',
'normal', 'baremetal'],
help=_("VNIC type for this port (direct | direct-physical | "
"macvtap | normal | baremetal, default: normal)")
)
# 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()
host_group.add_argument(
'--host',
metavar='<host-id>',
help=_("Allocate port on host <host-id> (ID only)")
)
host_group.add_argument(
'--host-id',
metavar='<host-id>',
help=argparse.SUPPRESS,
)
parser.add_argument(
'--description',
metavar='<description>',
help=_("Description of this port")
)
# 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()
device_group.add_argument(
'--device',
metavar='<device-id>',
help=_("Port device ID")
)
device_group.add_argument(
'--device-id',
metavar='<device-id>',
help=argparse.SUPPRESS,
)
parser.add_argument(
'--device-owner',
metavar='<device-owner>',
help=_("Device owner of this port. This is the entity that uses "
"the port (for example, network:dhcp).")
)
parser.add_argument(
'--vnic-type',
metavar='<vnic-type>',
choices=['direct', 'direct-physical', 'macvtap',
'normal', 'baremetal'],
help=_("VNIC type for this port (direct | direct-physical | "
"macvtap | normal | baremetal, default: normal)")
)
# 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()
host_group.add_argument(
'--host',
metavar='<host-id>',
help=_("Allocate port on host <host-id> (ID only)")
)
host_group.add_argument(
'--host-id',
metavar='<host-id>',
help=argparse.SUPPRESS,
)
class CreatePort(command.ShowOne):

View File

@ -430,6 +430,7 @@ class FakePort(object):
'binding:vif_details': {},
'binding:vif_type': 'ovs',
'binding:vnic_type': 'normal',
'description': 'description-' + uuid.uuid4().hex,
'device_id': 'device-id-' + uuid.uuid4().hex,
'device_owner': 'compute:nova',
'dns_assignment': [{}],

View File

@ -41,6 +41,7 @@ class TestPort(network_fakes.TestNetworkV2):
'binding_vif_details',
'binding_vif_type',
'binding_vnic_type',
'description',
'device_id',
'device_owner',
'dns_assignment',
@ -65,6 +66,7 @@ class TestPort(network_fakes.TestNetworkV2):
utils.format_dict(fake_port.binding_vif_details),
fake_port.binding_vif_type,
fake_port.binding_vnic_type,
fake_port.description,
fake_port.device_id,
fake_port.device_owner,
utils.format_list_of_dicts(fake_port.dns_assignment),
@ -130,6 +132,7 @@ class TestCreatePort(TestPort):
'--mac-address', 'aa:aa:aa:aa:aa:aa',
'--fixed-ip', 'subnet=%s,ip-address=10.0.0.2'
% self.fake_subnet.id,
'--description', self._port.description,
'--device', 'deviceid',
'--device-owner', 'fakeowner',
'--disable',
@ -146,6 +149,7 @@ class TestCreatePort(TestPort):
'fixed_ip',
[{'subnet': self.fake_subnet.id, 'ip-address': '10.0.0.2'}]
),
('description', self._port.description),
('device', 'deviceid'),
('device_owner', 'fakeowner'),
('disable', True),
@ -163,6 +167,7 @@ class TestCreatePort(TestPort):
'mac_address': 'aa:aa:aa:aa:aa:aa',
'fixed_ips': [{'subnet_id': self.fake_subnet.id,
'ip_address': '10.0.0.2'}],
'description': self._port.description,
'device_id': 'deviceid',
'device_owner': 'fakeowner',
'admin_state_up': False,
@ -715,6 +720,7 @@ class TestSetPort(TestPort):
def test_set_that(self):
arglist = [
'--description', 'newDescription',
'--enable',
'--vnic-type', 'macvtap',
'--binding-profile', 'foo=bar',
@ -723,6 +729,7 @@ class TestSetPort(TestPort):
self._port.name,
]
verifylist = [
('description', 'newDescription'),
('enable', True),
('vnic_type', 'macvtap'),
('binding_profile', {'foo': 'bar'}),
@ -739,6 +746,7 @@ class TestSetPort(TestPort):
'binding:vnic_type': 'macvtap',
'binding:profile': {'foo': 'bar'},
'binding:host_id': 'binding-host-id-xxxx',
'description': 'newDescription',
'name': 'newName',
}
self.network.update_port.assert_called_once_with(self._port, **attrs)

View File

@ -0,0 +1,6 @@
---
features:
- |
Add ``--description`` option to ``port set`` and
``port create`` commands.
[Blueprint :oscbp:`neutron-client-descriptions`]