Add "dns-name" option to "os port create" and "os port set"
This patch added a "dns-name" option to "os port create" and "os port set" command. Change-Id: I360e2c9a1970e64fe17e4561d7618f860b937373 Co-Authored-By: Ha Van Tu <tuhv@vn.fujitsu.com> Partial-Bug: #1612136 Partially-Implements: blueprint network-commands-options
This commit is contained in:
parent
c0dd8086e5
commit
df5f12b135
@ -28,6 +28,7 @@ Create new port
|
|||||||
[--enable | --disable]
|
[--enable | --disable]
|
||||||
[--mac-address <mac-address>]
|
[--mac-address <mac-address>]
|
||||||
[--security-group <security-group> | --no-security-group]
|
[--security-group <security-group> | --no-security-group]
|
||||||
|
[--dns-name <dns-name>]
|
||||||
[--project <project> [--project-domain <project-domain>]]
|
[--project <project> [--project-domain <project-domain>]]
|
||||||
[--enable-port-security | --disable-port-security]
|
[--enable-port-security | --disable-port-security]
|
||||||
<name>
|
<name>
|
||||||
@ -91,6 +92,11 @@ Create new port
|
|||||||
|
|
||||||
Associate no security groups with this port
|
Associate no security groups with this port
|
||||||
|
|
||||||
|
.. option:: --dns-name <dns-name>
|
||||||
|
|
||||||
|
Set DNS name to this port
|
||||||
|
(requires DNS integration extension)
|
||||||
|
|
||||||
.. option:: --project <project>
|
.. option:: --project <project>
|
||||||
|
|
||||||
Owner's project (name or ID)
|
Owner's project (name or ID)
|
||||||
@ -192,6 +198,7 @@ Set port properties
|
|||||||
[--security-group <security-group>]
|
[--security-group <security-group>]
|
||||||
[--no-security-group]
|
[--no-security-group]
|
||||||
[--enable-port-security | --disable-port-security]
|
[--enable-port-security | --disable-port-security]
|
||||||
|
[--dns-name <dns-name>]
|
||||||
<port>
|
<port>
|
||||||
|
|
||||||
.. option:: --description <description>
|
.. option:: --description <description>
|
||||||
@ -269,6 +276,11 @@ Set port properties
|
|||||||
|
|
||||||
Disable port security for this port
|
Disable port security for this port
|
||||||
|
|
||||||
|
.. option:: --dns-name <dns-name>
|
||||||
|
|
||||||
|
Set DNS name to this port
|
||||||
|
(requires DNS integration extension)
|
||||||
|
|
||||||
.. _port_set-port:
|
.. _port_set-port:
|
||||||
.. describe:: <port>
|
.. describe:: <port>
|
||||||
|
|
||||||
|
@ -128,6 +128,8 @@ def _get_attrs(client_manager, parsed_args):
|
|||||||
if parsed_args.host:
|
if parsed_args.host:
|
||||||
attrs['binding:host_id'] = parsed_args.host
|
attrs['binding:host_id'] = parsed_args.host
|
||||||
|
|
||||||
|
if parsed_args.dns_name is not None:
|
||||||
|
attrs['dns_name'] = parsed_args.dns_name
|
||||||
# It is possible that name is not updated during 'port set'
|
# It is possible that name is not updated during 'port set'
|
||||||
if parsed_args.name is not None:
|
if parsed_args.name is not None:
|
||||||
attrs['name'] = str(parsed_args.name)
|
attrs['name'] = str(parsed_args.name)
|
||||||
@ -233,6 +235,12 @@ def _add_updatable_args(parser):
|
|||||||
metavar='<host-id>',
|
metavar='<host-id>',
|
||||||
help=argparse.SUPPRESS,
|
help=argparse.SUPPRESS,
|
||||||
)
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
'--dns-name',
|
||||||
|
metavar='dns-name',
|
||||||
|
help=_("Set DNS name to this port "
|
||||||
|
"(requires DNS integration extension)")
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class CreatePort(command.ShowOne):
|
class CreatePort(command.ShowOne):
|
||||||
|
@ -140,6 +140,7 @@ class TestCreatePort(TestPort):
|
|||||||
'--binding-profile', 'foo=bar',
|
'--binding-profile', 'foo=bar',
|
||||||
'--binding-profile', 'foo2=bar2',
|
'--binding-profile', 'foo2=bar2',
|
||||||
'--network', self._port.network_id,
|
'--network', self._port.network_id,
|
||||||
|
'--dns-name', '8.8.8.8',
|
||||||
'test-port',
|
'test-port',
|
||||||
|
|
||||||
]
|
]
|
||||||
@ -156,6 +157,7 @@ class TestCreatePort(TestPort):
|
|||||||
('vnic_type', 'macvtap'),
|
('vnic_type', 'macvtap'),
|
||||||
('binding_profile', {'foo': 'bar', 'foo2': 'bar2'}),
|
('binding_profile', {'foo': 'bar', 'foo2': 'bar2'}),
|
||||||
('network', self._port.network_id),
|
('network', self._port.network_id),
|
||||||
|
('dns_name', '8.8.8.8'),
|
||||||
('name', 'test-port'),
|
('name', 'test-port'),
|
||||||
|
|
||||||
]
|
]
|
||||||
@ -174,6 +176,7 @@ class TestCreatePort(TestPort):
|
|||||||
'binding:vnic_type': 'macvtap',
|
'binding:vnic_type': 'macvtap',
|
||||||
'binding:profile': {'foo': 'bar', 'foo2': 'bar2'},
|
'binding:profile': {'foo': 'bar', 'foo2': 'bar2'},
|
||||||
'network_id': self._port.network_id,
|
'network_id': self._port.network_id,
|
||||||
|
'dns_name': '8.8.8.8',
|
||||||
'name': 'test-port',
|
'name': 'test-port',
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -241,6 +244,7 @@ class TestCreatePort(TestPort):
|
|||||||
'--security-group', secgroup.id,
|
'--security-group', secgroup.id,
|
||||||
'test-port',
|
'test-port',
|
||||||
]
|
]
|
||||||
|
|
||||||
verifylist = [
|
verifylist = [
|
||||||
('network', self._port.network_id,),
|
('network', self._port.network_id,),
|
||||||
('enable', True),
|
('enable', True),
|
||||||
@ -262,6 +266,33 @@ class TestCreatePort(TestPort):
|
|||||||
self.assertEqual(ref_columns, columns)
|
self.assertEqual(ref_columns, columns)
|
||||||
self.assertEqual(ref_data, data)
|
self.assertEqual(ref_data, data)
|
||||||
|
|
||||||
|
def test_create_port_with_dns_name(self):
|
||||||
|
arglist = [
|
||||||
|
'--network', self._port.network_id,
|
||||||
|
'--dns-name', '8.8.8.8',
|
||||||
|
'test-port',
|
||||||
|
]
|
||||||
|
verifylist = [
|
||||||
|
('network', self._port.network_id,),
|
||||||
|
('enable', True),
|
||||||
|
('dns_name', '8.8.8.8'),
|
||||||
|
('name', 'test-port'),
|
||||||
|
]
|
||||||
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||||
|
|
||||||
|
columns, data = (self.cmd.take_action(parsed_args))
|
||||||
|
|
||||||
|
self.network.create_port.assert_called_once_with(**{
|
||||||
|
'admin_state_up': True,
|
||||||
|
'network_id': self._port.network_id,
|
||||||
|
'dns_name': '8.8.8.8',
|
||||||
|
'name': 'test-port',
|
||||||
|
})
|
||||||
|
|
||||||
|
ref_columns, ref_data = self._get_common_cols_data(self._port)
|
||||||
|
self.assertEqual(ref_columns, columns)
|
||||||
|
self.assertEqual(ref_data, data)
|
||||||
|
|
||||||
def test_create_with_security_groups(self):
|
def test_create_with_security_groups(self):
|
||||||
sg_1 = network_fakes.FakeSecurityGroup.create_one_security_group()
|
sg_1 = network_fakes.FakeSecurityGroup.create_one_security_group()
|
||||||
sg_2 = network_fakes.FakeSecurityGroup.create_one_security_group()
|
sg_2 = network_fakes.FakeSecurityGroup.create_one_security_group()
|
||||||
@ -676,6 +707,25 @@ class TestSetPort(TestPort):
|
|||||||
self.network.update_port.assert_called_once_with(self._port, **attrs)
|
self.network.update_port.assert_called_once_with(self._port, **attrs)
|
||||||
self.assertIsNone(result)
|
self.assertIsNone(result)
|
||||||
|
|
||||||
|
def test_set_dns_name(self):
|
||||||
|
arglist = [
|
||||||
|
'--dns-name', '8.8.8.8',
|
||||||
|
self._port.name,
|
||||||
|
]
|
||||||
|
verifylist = [
|
||||||
|
('dns_name', '8.8.8.8'),
|
||||||
|
('port', self._port.name),
|
||||||
|
]
|
||||||
|
|
||||||
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||||
|
result = self.cmd.take_action(parsed_args)
|
||||||
|
|
||||||
|
attrs = {
|
||||||
|
'dns_name': '8.8.8.8',
|
||||||
|
}
|
||||||
|
self.network.update_port.assert_called_once_with(self._port, **attrs)
|
||||||
|
self.assertIsNone(result)
|
||||||
|
|
||||||
def test_append_fixed_ip(self):
|
def test_append_fixed_ip(self):
|
||||||
_testport = network_fakes.FakePort.create_one_port(
|
_testport = network_fakes.FakePort.create_one_port(
|
||||||
{'fixed_ips': [{'ip_address': '0.0.0.1'}]})
|
{'fixed_ips': [{'ip_address': '0.0.0.1'}]})
|
||||||
|
5
releasenotes/notes/bug-1612136-63aac6377209db38.yaml
Normal file
5
releasenotes/notes/bug-1612136-63aac6377209db38.yaml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- |
|
||||||
|
Add ``--dns-name`` option to ``os port create`` and ``os port set`` commands.
|
||||||
|
[Bug `1612136 <https://bugs.launchpad.net/python-openstackclient/+bug/1612136>`_]
|
Loading…
Reference in New Issue
Block a user