From ff31fe18ec028e6d187de2c3fda539d28caf0a27 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. Closes-Bug: #1845487 Depends-On: Ic95dbf1867fb5397f1b6d8f23466910a97051cb6 Change-Id: Iafe3156ca0678f3ab3c5e688e712a9fb6b408e7b --- ...on-inspector-dnsmasq-7c2f9d7d358ace07.yaml | 8 +++ .../tests/v1/undercloud/test_config.py | 63 ++++++++++++------- tripleoclient/v1/undercloud_config.py | 1 + 3 files changed, 51 insertions(+), 21 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 df8fee1b4..dd2708bb5 100644 --- a/tripleoclient/tests/v1/undercloud/test_config.py +++ b/tripleoclient/tests/v1/undercloud/test_config.py @@ -165,7 +165,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': { @@ -207,7 +208,8 @@ class TestNetworkSettings(base.TestCase): 'host_routes': [], 'ip_range': 'fd12:3456:789a:1::30,fd12:3456:789a:1::40', 'netmask': 'ffff:ffff:ffff:ffff::', - 'tag': 'ctlplane-subnet'}], + 'tag': 'ctlplane-subnet', + 'mtu': 1500}], 'MasqueradeNetworks': {}, 'UndercloudCtlplaneSubnets': { 'ctlplane-subnet': { @@ -281,7 +283,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': { @@ -308,7 +311,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': { @@ -337,7 +341,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': { @@ -365,7 +370,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': { @@ -391,7 +397,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': { @@ -418,7 +425,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': { @@ -470,17 +478,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', @@ -552,17 +563,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': { @@ -613,12 +627,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': { @@ -662,12 +678,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': { @@ -732,19 +750,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 0ca42c9e8..c7a005a0f 100644 --- a/tripleoclient/v1/undercloud_config.py +++ b/tripleoclient/v1/undercloud_config.py @@ -222,6 +222,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