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