From e4087b6d27f1a080e88b41880b24482b2a6f5c57 Mon Sep 17 00:00:00 2001 From: Sayali Naval Date: Fri, 21 Aug 2020 18:27:40 -0400 Subject: [PATCH] Fix DNS Domain Name in endpoint file. When the DNS server receives the dns domain name it includes a period in the end -- i.e. "example.com." This causes the client to think that the DNS is "bad" which is what it puts in /etc/resolv.conf file. We need to remove the period in the end of dns_domain name before the server sends the information to the client. Change-Id: Id56da2b3972fb1ce045577565b2eb7597dc7e257 --- gbpservice/neutron/plugins/ml2plus/drivers/apic_aim/rpc.py | 1 + gbpservice/neutron/tests/unit/plugins/ml2plus/test_apic_aim.py | 3 ++- .../tests/unit/services/grouppolicy/test_aim_mapping_driver.py | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/gbpservice/neutron/plugins/ml2plus/drivers/apic_aim/rpc.py b/gbpservice/neutron/plugins/ml2plus/drivers/apic_aim/rpc.py index 013bb7040..a735ece46 100644 --- a/gbpservice/neutron/plugins/ml2plus/drivers/apic_aim/rpc.py +++ b/gbpservice/neutron/plugins/ml2plus/drivers/apic_aim/rpc.py @@ -900,6 +900,7 @@ class ApicRpcHandlerMixin(object): if self.apic_optimized_dhcp_lease_time > 0: details['dhcp_lease_time'] = self.apic_optimized_dhcp_lease_time details['dns_domain'] = port_info.net_dns_domain or '' + details['dns_domain'] = details['dns_domain'].rstrip('.') details['enable_dhcp_optimization'] = self.enable_dhcp_opt details['enable_metadata_optimization'] = self.enable_metadata_opt if port_info.svi: diff --git a/gbpservice/neutron/tests/unit/plugins/ml2plus/test_apic_aim.py b/gbpservice/neutron/tests/unit/plugins/ml2plus/test_apic_aim.py index e086d9e38..ffc1b930c 100644 --- a/gbpservice/neutron/tests/unit/plugins/ml2plus/test_apic_aim.py +++ b/gbpservice/neutron/tests/unit/plugins/ml2plus/test_apic_aim.py @@ -10706,7 +10706,8 @@ class TestOpflexRpc(ApicAimTestCase): gbp_details['dhcp_lease_time']) else: self.assertNotIn('dhcp_lease_time', gbp_details) - self.assertEqual(net['dns_domain'], gbp_details['dns_domain']) + self.assertEqual(net['dns_domain'].rstrip('.'), + gbp_details['dns_domain']) self.assertEqual(self.driver.enable_dhcp_opt, gbp_details['enable_dhcp_optimization']) self.assertEqual(self.driver.enable_metadata_opt, diff --git a/gbpservice/neutron/tests/unit/services/grouppolicy/test_aim_mapping_driver.py b/gbpservice/neutron/tests/unit/services/grouppolicy/test_aim_mapping_driver.py index df9c98bea..607f13327 100644 --- a/gbpservice/neutron/tests/unit/services/grouppolicy/test_aim_mapping_driver.py +++ b/gbpservice/neutron/tests/unit/services/grouppolicy/test_aim_mapping_driver.py @@ -3512,7 +3512,7 @@ class TestPolicyTarget(AIMBaseTestCase, mapping = self.mech_driver.get_gbp_details( self._neutron_admin_context, device='tap%s' % port_id, host='h1') - self.assertEqual('mydomain.', mapping['dns_domain']) + self.assertEqual('mydomain', mapping['dns_domain']) req_mapping = self.mech_driver.request_endpoint_details( nctx.get_admin_context(), request={'device': 'tap%s' % port_id,