Merge "Avoid reconfiguring SR-IOV devices during stack update"

This commit is contained in:
Zuul 2022-12-05 22:46:42 +00:00 committed by Gerrit Code Review
commit 23105926e8
2 changed files with 15 additions and 0 deletions

View File

@ -313,6 +313,9 @@ def configure_sriov_pf(execution_from_cli=False, restart_openvswitch=False):
for item in sriov_map:
if item['device_type'] == 'pf':
if pf_configure_status(item):
logger.debug(f"PF {item['name']} is already configured")
continue
_pf_interface_up(item)
if item.get('link_mode') == "legacy":
# Add a udev rule to configure the VF's when PF's are
@ -626,6 +629,10 @@ def _pf_interface_up(pf_device):
run_ip_config_cmd('ip', 'link', 'set', 'dev', pf_device['name'], 'up')
def pf_configure_status(pf_device):
return pf_device['numvfs'] == get_numvfs(pf_device['name'])
def run_ip_config_cmd_safe(raise_error, *cmd, **kwargs):
try:
run_ip_config_cmd(*cmd)

View File

@ -330,11 +330,13 @@ class TestSriovConfig(base.TestCase):
exp_actions = [
'udev_monitor_setup',
'udev_monitor_start',
'get_numvfs',
'reload_udev_rules',
'set_numvfs',
'get_numvfs',
'_wait_for_vf_creation',
'get_numvfs',
'get_numvfs',
'reload_udev_rules',
'set_numvfs',
'get_numvfs',
@ -373,10 +375,12 @@ class TestSriovConfig(base.TestCase):
exp_actions = [
'udev_monitor_setup',
'udev_monitor_start',
'get_numvfs',
'set_numvfs',
'get_numvfs',
'_wait_for_vf_creation',
'get_numvfs',
'get_numvfs',
'reload_udev_rules',
'set_numvfs',
'get_numvfs',
@ -419,11 +423,13 @@ class TestSriovConfig(base.TestCase):
exp_actions = [
'udev_monitor_setup',
'udev_monitor_start',
'get_numvfs',
'reload_udev_rules',
'set_numvfs',
'get_numvfs',
'_wait_for_vf_creation',
'get_numvfs',
'get_numvfs',
'reload_udev_rules',
'set_numvfs',
'get_numvfs',
@ -464,6 +470,7 @@ class TestSriovConfig(base.TestCase):
'udev_monitor_setup',
'udev_monitor_start',
'get_vdpa_vhost_devices',
'get_numvfs',
'configure_switchdev',
'set_numvfs',
'get_numvfs',
@ -473,6 +480,7 @@ class TestSriovConfig(base.TestCase):
'reload_udev_rules',
'reload_udev_rules',
'reload_udev_rules',
'get_numvfs',
'configure_switchdev',
'set_numvfs',
'get_numvfs',