Use current live value for bridge_mtu
This will ensure that upgrading without the bridge_mtu config key set will keep things as they are.
This commit is contained in:
parent
8f906c1f81
commit
fe73dfbdc9
|
@ -19,13 +19,17 @@
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
|
import daemon_lib.common as common
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import subprocess
|
import subprocess
|
||||||
import yaml
|
import yaml
|
||||||
|
|
||||||
from socket import gethostname
|
from socket import gethostname
|
||||||
from re import findall
|
from re import findall
|
||||||
from psutil import cpu_count
|
from psutil import cpu_count
|
||||||
from ipaddress import ip_address, ip_network
|
from ipaddress import ip_address, ip_network
|
||||||
|
from json import loads
|
||||||
|
|
||||||
|
|
||||||
class MalformedConfigurationError(Exception):
|
class MalformedConfigurationError(Exception):
|
||||||
|
@ -287,13 +291,20 @@ def get_configuration():
|
||||||
'upstream_mtu': o_sysnetwork_upstream.get('mtu', None),
|
'upstream_mtu': o_sysnetwork_upstream.get('mtu', None),
|
||||||
'upstream_dev_ip': o_sysnetwork_upstream.get('address', None),
|
'upstream_dev_ip': o_sysnetwork_upstream.get('address', None),
|
||||||
'bridge_dev': o_sysnetworks.get('bridge_device', None),
|
'bridge_dev': o_sysnetworks.get('bridge_device', None),
|
||||||
'bridge_mtu': o_sysnetworks.get('bridge_mtu', 1500),
|
'bridge_mtu': o_sysnetworks.get('bridge_mtu', None),
|
||||||
'enable_sriov': o_sysnetworks.get('sriov_enable', False),
|
'enable_sriov': o_sysnetworks.get('sriov_enable', False),
|
||||||
'sriov_device': o_sysnetworks.get('sriov_device', list())
|
'sriov_device': o_sysnetworks.get('sriov_device', list())
|
||||||
}
|
}
|
||||||
|
|
||||||
config = {**config, **config_networks}
|
config = {**config, **config_networks}
|
||||||
|
|
||||||
|
if config_networks['bridge_mtu'] is None:
|
||||||
|
# Read the current MTU of bridge_dev and set bridge_mtu to it; avoids weird resets
|
||||||
|
retcode, stdout, stderr = common.run_os_command(f"ip -json link show dev {config_networks['bridge_dev']}")
|
||||||
|
current_bridge_mtu = loads(stdout)[0]['mtu']
|
||||||
|
print(f"Config key bridge_mtu not explicitly set; using live MTU {current_bridge_mtu} from {config_networks['bridge_dev']}")
|
||||||
|
config_networks['bridge_mtu'] = current_bridge_mtu
|
||||||
|
|
||||||
for network_type in ['cluster', 'storage', 'upstream']:
|
for network_type in ['cluster', 'storage', 'upstream']:
|
||||||
result, msg = validate_floating_ip(config, network_type)
|
result, msg = validate_floating_ip(config, network_type)
|
||||||
if not result:
|
if not result:
|
||||||
|
|
Loading…
Reference in New Issue