diff options
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 f51baed5..5e6c331a 100644 --- a/openstackclient/network/v2/floating_ip.py +++ b/openstackclient/network/v2/floating_ip.py @@ -82,6 +82,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 @@ -139,15 +145,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) @@ -314,12 +337,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 65d87377..d71121a7 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): |
