diff options
| author | Zuul <zuul@review.openstack.org> | 2018-08-08 20:15:07 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2018-08-08 20:15:07 +0000 |
| commit | a051bda1118158cef219cddf94a24483f6b1513b (patch) | |
| tree | 40f911aaa48e207e45de696a1f677c8566b54404 /openstackclient | |
| parent | c387f83af1c9d5891aaf84396c3868d2eaddfbc8 (diff) | |
| parent | ed09f28a9dd1cbc0f8c141a8e38587b7022d4166 (diff) | |
| download | python-openstackclient-a051bda1118158cef219cddf94a24483f6b1513b.tar.gz | |
Merge "Add DNS support to floating IP commands"
Diffstat (limited to 'openstackclient')
| -rw-r--r-- | openstackclient/network/v2/floating_ip.py | 29 | ||||
| -rw-r--r-- | openstackclient/tests/unit/network/v2/test_floating_ip_network.py | 12 |
2 files changed, 40 insertions, 1 deletions
diff --git a/openstackclient/network/v2/floating_ip.py b/openstackclient/network/v2/floating_ip.py index 958480a5..e1ec8274 100644 --- a/openstackclient/network/v2/floating_ip.py +++ b/openstackclient/network/v2/floating_ip.py @@ -85,6 +85,12 @@ def _get_attrs(client_manager, parsed_args): ).id attrs['tenant_id'] = project_id + if parsed_args.dns_domain: + attrs['dns_domain'] = parsed_args.dns_domain + + if parsed_args.dns_name: + attrs['dns_name'] = parsed_args.dns_name + return attrs @@ -142,15 +148,32 @@ class CreateFloatingIP(common.NetworkAndComputeShowOne): metavar='<project>', help=_("Owner's project (name or ID)") ) + parser.add_argument( + '--dns-domain', + metavar='<dns-domain>', + dest='dns_domain', + help=_("Set DNS domain for this floating IP") + ) + parser.add_argument( + '--dns-name', + metavar='<dns-name>', + dest='dns_name', + help=_("Set DNS name for this floating IP") + ) + identity_common.add_project_domain_option_to_parser(parser) _tag.add_tag_option_to_parser_for_create(parser, _('floating IP')) return parser def take_action_network(self, client, parsed_args): attrs = _get_attrs(self.app.client_manager, parsed_args) - obj = client.create_ip(**attrs) + with common.check_missing_extension_if_error( + self.app.client_manager.network, attrs): + obj = client.create_ip(**attrs) + # tags cannot be set when created, so tags need to be set later. _tag.update_tags_for_set(client, obj, parsed_args) + display_columns, columns = _get_network_columns(obj) data = utils.get_item_properties(obj, columns) return (display_columns, data) @@ -269,12 +292,16 @@ class ListFloatingIP(common.NetworkAndComputeLister): 'status', 'description', 'tags', + 'dns_name', + 'dns_domain', ) headers = headers + ( 'Router', 'Status', 'Description', 'Tags', + 'DNS Name', + 'DNS Domain', ) query = {} diff --git a/openstackclient/tests/unit/network/v2/test_floating_ip_network.py b/openstackclient/tests/unit/network/v2/test_floating_ip_network.py index 822d3ae8..209c01cf 100644 --- a/openstackclient/tests/unit/network/v2/test_floating_ip_network.py +++ b/openstackclient/tests/unit/network/v2/test_floating_ip_network.py @@ -49,6 +49,8 @@ class TestCreateFloatingIPNetwork(TestFloatingIPNetwork): attrs={ 'floating_network_id': floating_network.id, 'port_id': port.id, + 'dns_domain': 'example.org.', + 'dns_name': 'fip1', } ) @@ -129,6 +131,8 @@ class TestCreateFloatingIPNetwork(TestFloatingIPNetwork): '--floating-ip-address', self.floating_ip.floating_ip_address, '--fixed-ip-address', self.floating_ip.fixed_ip_address, '--description', self.floating_ip.description, + '--dns-domain', self.floating_ip.dns_domain, + '--dns-name', self.floating_ip.dns_name, self.floating_ip.floating_network_id, ] verifylist = [ @@ -137,6 +141,8 @@ class TestCreateFloatingIPNetwork(TestFloatingIPNetwork): ('fixed_ip_address', self.floating_ip.fixed_ip_address), ('network', self.floating_ip.floating_network_id), ('description', self.floating_ip.description), + ('dns_domain', self.floating_ip.dns_domain), + ('dns_name', self.floating_ip.dns_name), ('floating_ip_address', self.floating_ip.floating_ip_address), ] parsed_args = self.check_parser(self.cmd, arglist, verifylist) @@ -150,6 +156,8 @@ class TestCreateFloatingIPNetwork(TestFloatingIPNetwork): 'fixed_ip_address': self.floating_ip.fixed_ip_address, 'floating_network_id': self.floating_ip.floating_network_id, 'description': self.floating_ip.description, + 'dns_domain': self.floating_ip.dns_domain, + 'dns_name': self.floating_ip.dns_name, }) self.assertEqual(self.columns, columns) self.assertEqual(self.data, data) @@ -393,6 +401,8 @@ class TestListFloatingIPNetwork(TestFloatingIPNetwork): 'Status', 'Description', 'Tags', + 'DNS Name', + 'DNS Domain', ) data = [] @@ -417,6 +427,8 @@ class TestListFloatingIPNetwork(TestFloatingIPNetwork): ip.status, ip.description, ip.tags, + ip.dns_domain, + ip.dns_name, )) def setUp(self): |
