From 01a7cbbad0a7ddd3ec3be296d7d89987d6dd5fc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Harald=20Jens=C3=A5s?= Date: Thu, 26 Sep 2019 14:50:07 +0200 Subject: [PATCH] Set option:mtu in inspector dnsmasq Set the mtu for all subnets in inspector dnsmasq config to value of 'local_mtu' in undercloud.conf. Conflicts: tripleoclient/tests/v1/undercloud/test_config.py Closes-Bug: #1845487 Depends-On: Ic95dbf1867fb5397f1b6d8f23466910a97051cb6 Change-Id: Iafe3156ca0678f3ab3c5e688e712a9fb6b408e7b (cherry picked from commit ff31fe18ec028e6d187de2c3fda539d28caf0a27) --- ...on-inspector-dnsmasq-7c2f9d7d358ace07.yaml | 8 +++ .../tests/v1/undercloud/test_config.py | 60 ++++++++++++------- tripleoclient/v1/undercloud_config.py | 1 + 3 files changed, 49 insertions(+), 20 deletions(-) create mode 100644 releasenotes/notes/fix-pass-mtu-option-inspector-dnsmasq-7c2f9d7d358ace07.yaml diff --git a/releasenotes/notes/fix-pass-mtu-option-inspector-dnsmasq-7c2f9d7d358ace07.yaml b/releasenotes/notes/fix-pass-mtu-option-inspector-dnsmasq-7c2f9d7d358ace07.yaml new file mode 100644 index 000000000..5150348eb --- /dev/null +++ b/releasenotes/notes/fix-pass-mtu-option-inspector-dnsmasq-7c2f9d7d358ace07.yaml @@ -0,0 +1,8 @@ +--- +fixes: + - | + The MTU setting was not configured for Ironic Inspector DHCP (dnsmasq) + service. This caused inspection to fail when operating on a network with + < 1500 bytes MTU. See bug: `1845487 + `_. + diff --git a/tripleoclient/tests/v1/undercloud/test_config.py b/tripleoclient/tests/v1/undercloud/test_config.py index 8f994db1c..d866cd25a 100644 --- a/tripleoclient/tests/v1/undercloud/test_config.py +++ b/tripleoclient/tests/v1/undercloud/test_config.py @@ -169,7 +169,8 @@ class TestNetworkSettings(base.TestCase): 'host_routes': [], 'ip_range': '192.168.24.100,192.168.24.120', 'netmask': '255.255.255.0', - 'tag': 'ctlplane-subnet'}], + 'tag': 'ctlplane-subnet', + 'mtu': 1500}], 'MasqueradeNetworks': {}, 'UndercloudCtlplaneSubnets': { 'ctlplane-subnet': { @@ -241,7 +242,8 @@ class TestNetworkSettings(base.TestCase): 'host_routes': [], 'ip_range': '192.168.24.100,192.168.24.120', 'netmask': '255.255.255.0', - 'tag': 'ctlplane-subnet'}], + 'tag': 'ctlplane-subnet', + 'mtu': 1500}], 'MasqueradeNetworks': {}, 'UndercloudCtlplaneSubnets': { 'ctlplane-subnet': { @@ -268,7 +270,8 @@ class TestNetworkSettings(base.TestCase): 'host_routes': [], 'ip_range': '192.168.10.100,192.168.10.120', 'netmask': '255.255.255.0', - 'tag': 'ctlplane-subnet'}], + 'tag': 'ctlplane-subnet', + 'mtu': 1500}], 'MasqueradeNetworks': {}, 'UndercloudCtlplaneSubnets': { 'ctlplane-subnet': { @@ -297,7 +300,8 @@ class TestNetworkSettings(base.TestCase): 'host_routes': [], 'ip_range': '192.168.10.100,192.168.10.120', 'netmask': '255.255.255.0', - 'tag': 'ctlplane-subnet'}], + 'tag': 'ctlplane-subnet', + 'mtu': 1500}], 'MasqueradeNetworks': {}, 'UndercloudCtlplaneSubnets': { 'ctlplane-subnet': { @@ -325,7 +329,8 @@ class TestNetworkSettings(base.TestCase): 'host_routes': [], 'ip_range': '192.168.24.100,192.168.24.120', 'netmask': '255.255.255.0', - 'tag': 'ctlplane-subnet'}], + 'tag': 'ctlplane-subnet', + 'mtu': 1500}], 'MasqueradeNetworks': {}, 'UndercloudCtlplaneSubnets': { 'ctlplane-subnet': { @@ -351,7 +356,8 @@ class TestNetworkSettings(base.TestCase): 'host_routes': [], 'ip_range': '192.168.24.100,192.168.24.120', 'netmask': '255.255.255.0', - 'tag': 'ctlplane-subnet'}], + 'tag': 'ctlplane-subnet', + 'mtu': 1500}], 'MasqueradeNetworks': {}, 'UndercloudCtlplaneSubnets': { 'ctlplane-subnet': { @@ -378,7 +384,8 @@ class TestNetworkSettings(base.TestCase): 'host_routes': [], 'ip_range': '192.168.24.100,192.168.24.120', 'netmask': '255.255.255.0', - 'tag': 'ctlplane-subnet'}], + 'tag': 'ctlplane-subnet', + 'mtu': 1500}], 'MasqueradeNetworks': {}, 'UndercloudCtlplaneSubnets': { 'ctlplane-subnet': { @@ -427,17 +434,20 @@ class TestNetworkSettings(base.TestCase): 'host_routes': [], 'ip_range': '192.168.24.100,192.168.24.120', 'netmask': '255.255.255.0', - 'tag': 'ctlplane-subnet'}, + 'tag': 'ctlplane-subnet', + 'mtu': 1500}, {'gateway': '192.168.10.254', 'host_routes': [], 'ip_range': '192.168.10.100,192.168.10.189', 'netmask': '255.255.255.0', - 'tag': 'subnet1'}, + 'tag': 'subnet1', + 'mtu': 1500}, {'gateway': '192.168.20.254', 'host_routes': [], 'ip_range': '192.168.20.100,192.168.20.189', 'netmask': '255.255.255.0', - 'tag': 'subnet2'} + 'tag': 'subnet2', + 'mtu': 1500} ], 'MasqueradeNetworks': { '192.168.10.0/24': ['192.168.24.0/24', @@ -505,17 +515,20 @@ class TestNetworkSettings(base.TestCase): 'host_routes': [], 'ip_range': '192.168.24.100,192.168.24.120', 'netmask': '255.255.255.0', - 'tag': 'ctlplane-subnet'}, + 'tag': 'ctlplane-subnet', + 'mtu': 1500}, {'gateway': '192.168.10.254', 'host_routes': [], 'ip_range': '192.168.10.100,192.168.10.189', 'netmask': '255.255.255.0', - 'tag': 'subnet1'}, + 'tag': 'subnet1', + 'mtu': 1500}, {'gateway': '192.168.20.254', 'host_routes': [], 'ip_range': '192.168.20.100,192.168.20.189', 'netmask': '255.255.255.0', - 'tag': 'subnet2'} + 'tag': 'subnet2', + 'mtu': 1500} ], 'MasqueradeNetworks': {}, 'UndercloudCtlplaneSubnets': { @@ -563,12 +576,14 @@ class TestNetworkSettings(base.TestCase): 'host_routes': [], 'ip_range': '192.168.24.100,192.168.24.120', 'netmask': '255.255.255.0', - 'tag': 'ctlplane-subnet'}, + 'tag': 'ctlplane-subnet', + 'mtu': 1500}, {'gateway': '192.168.10.254', 'host_routes': [], 'ip_range': '192.168.10.200,192.168.10.254', 'netmask': '255.255.255.0', - 'tag': 'subnet1'}, + 'tag': 'subnet1', + 'mtu': 1500}, ], 'MasqueradeNetworks': {}, 'UndercloudCtlplaneSubnets': { @@ -610,12 +625,14 @@ class TestNetworkSettings(base.TestCase): 'host_routes': [], 'ip_range': '192.168.24.100,192.168.24.120', 'netmask': '255.255.255.0', - 'tag': 'ctlplane-subnet'}, + 'tag': 'ctlplane-subnet', + 'mtu': 1500}, {'gateway': '192.168.10.222', 'host_routes': [], 'ip_range': '192.168.10.100,192.168.10.199', 'netmask': '255.255.255.0', - 'tag': 'subnet1'}, + 'tag': 'subnet1', + 'mtu': 1500}, ], 'MasqueradeNetworks': {}, 'UndercloudCtlplaneSubnets': { @@ -677,19 +694,22 @@ class TestNetworkSettings(base.TestCase): 'nexthop': '192.168.24.1'}], 'ip_range': '192.168.24.100,192.168.24.120', 'netmask': '255.255.255.0', - 'tag': 'ctlplane-subnet'}, + 'tag': 'ctlplane-subnet', + 'mtu': 1500}, {'gateway': '192.168.10.254', 'host_routes': [{'destination': '10.10.10.254/32', 'nexthop': '192.168.10.254'}], 'ip_range': '192.168.10.100,192.168.10.189', 'netmask': '255.255.255.0', - 'tag': 'subnet1'}, + 'tag': 'subnet1', + 'mtu': 1500}, {'gateway': '192.168.20.254', 'host_routes': [{'destination': '10.10.10.254/32', 'nexthop': '192.168.20.254'}], 'ip_range': '192.168.20.100,192.168.20.189', 'netmask': '255.255.255.0', - 'tag': 'subnet2'} + 'tag': 'subnet2', + 'mtu': 1500} ], 'MasqueradeNetworks': {}, 'UndercloudCtlplaneSubnets': { diff --git a/tripleoclient/v1/undercloud_config.py b/tripleoclient/v1/undercloud_config.py index fc413c067..1138eb54b 100644 --- a/tripleoclient/v1/undercloud_config.py +++ b/tripleoclient/v1/undercloud_config.py @@ -227,6 +227,7 @@ def _generate_inspection_subnets(): env_dict['netmask'] = str(netaddr.IPNetwork(s.cidr).netmask) env_dict['gateway'] = s.gateway env_dict['host_routes'] = s.host_routes + env_dict['mtu'] = CONF.local_mtu env_list.append(env_dict) return env_list