From dd62de780990846e3ce82ff674443f057f87f91d Mon Sep 17 00:00:00 2001 From: Fabian Fulga Date: Fri, 25 Sep 2026 12:27:32 +0300 Subject: [PATCH] Fix bug with name of nics_set_dhcp --- coriolis/osmorphing/base.py | 6 +++++- coriolis/osmorphing/debian.py | 2 ++ coriolis/osmorphing/manager.py | 6 ++++-- coriolis/osmorphing/redhat.py | 2 ++ coriolis/osmorphing/windows.py | 2 ++ coriolis/tests/osmorphing/test_base.py | 16 +++++++++++----- 6 files changed, 26 insertions(+), 8 deletions(-) diff --git a/coriolis/osmorphing/base.py b/coriolis/osmorphing/base.py index de2b8b90f..c7cee7d28 100644 --- a/coriolis/osmorphing/base.py +++ b/coriolis/osmorphing/base.py @@ -141,6 +141,7 @@ def __init__( detected_os_info, osmorphing_parameters, operation_timeout, + nics_set_dhcp=True, ): self.check_detected_os_info_parameters(detected_os_info) @@ -155,6 +156,7 @@ def __init__( self._detected_os_info = detected_os_info self._environment = {} self._osmorphing_parameters = osmorphing_parameters + self._nics_set_dhcp = nics_set_dhcp self._osmorphing_operation_timeout = operation_timeout @classmethod @@ -293,6 +295,7 @@ def __init__( detected_os_info, osmorphing_parameters, operation_timeout=None, + nics_set_dhcp=True, ): super(BaseLinuxOSMorphingTools, self).__init__( conn, @@ -303,6 +306,7 @@ def __init__( detected_os_info, osmorphing_parameters, operation_timeout, + nics_set_dhcp, ) self._ssh = conn self._grub2_update_scheduled = False @@ -813,7 +817,7 @@ def _configure_cloud_init(self): else: self._create_cloudinit_user() - if not self._osmorphing_parameters.get('set_dhcp', True): + if not self._nics_set_dhcp: disabled_network_config = {"network": {"config": "disabled"}} cloud_cfg_mods.update(disabled_network_config) modules = self._get_cloud_init_modules() diff --git a/coriolis/osmorphing/debian.py b/coriolis/osmorphing/debian.py index 5d8595d40..d01d2dbcb 100644 --- a/coriolis/osmorphing/debian.py +++ b/coriolis/osmorphing/debian.py @@ -40,6 +40,7 @@ def __init__( detected_os_info, osmorphing_parameters, operation_timeout=None, + nics_set_dhcp=True, ): super(BaseDebianMorphingTools, self).__init__( conn, @@ -50,6 +51,7 @@ def __init__( detected_os_info, osmorphing_parameters, operation_timeout, + nics_set_dhcp, ) # NOTE: every dpkg invocation may run maintainer scripts which prompt diff --git a/coriolis/osmorphing/manager.py b/coriolis/osmorphing/manager.py index 69be32cfe..211fae3ae 100644 --- a/coriolis/osmorphing/manager.py +++ b/coriolis/osmorphing/manager.py @@ -259,6 +259,7 @@ def _morph_image( # - automatically detect the target hypervisor type from the worker VM hypervisor_type = osmorphing_info.get('hypervisor_type', None) osmorphing_parameters = osmorphing_info.get('osmorphing_parameters', {}) + nics_set_dhcp = osmorphing_info.get('nics_set_dhcp', True) export_os_morphing_tools = None try: @@ -280,6 +281,7 @@ def _morph_image( detected_os_info, osmorphing_parameters, CONF.default_osmorphing_operation_timeout, + nics_set_dhcp, ) export_os_morphing_tools.set_environment(environment) else: @@ -313,6 +315,7 @@ def _morph_image( detected_os_info, osmorphing_parameters, CONF.default_osmorphing_operation_timeout, + nics_set_dhcp, ) import_os_morphing_tools.set_environment(environment) @@ -362,8 +365,7 @@ def _morph_image( import_os_morphing_tools.pre_packages_install(packages_add) nics_info = osmorphing_info.get('nics_info') - set_dhcp = osmorphing_info.get('nics_set_dhcp', True) - import_os_morphing_tools.set_net_config(nics_info, dhcp=set_dhcp) + import_os_morphing_tools.set_net_config(nics_info, dhcp=nics_set_dhcp) LOG.info("Pre packages") if packages_add: diff --git a/coriolis/osmorphing/redhat.py b/coriolis/osmorphing/redhat.py index 08be720e2..c785c3548 100644 --- a/coriolis/osmorphing/redhat.py +++ b/coriolis/osmorphing/redhat.py @@ -43,6 +43,7 @@ def __init__( detected_os_info, osmorphing_parameters, operation_timeout=None, + nics_set_dhcp=True, ): super(BaseRedHatMorphingTools, self).__init__( conn, @@ -53,6 +54,7 @@ def __init__( detected_os_info, osmorphing_parameters, operation_timeout, + nics_set_dhcp, ) def disable_predictable_nic_names(self): diff --git a/coriolis/osmorphing/windows.py b/coriolis/osmorphing/windows.py index 1bafd766b..bd34fc277 100644 --- a/coriolis/osmorphing/windows.py +++ b/coriolis/osmorphing/windows.py @@ -218,6 +218,7 @@ def __init__( detected_os_info, osmorphing_parameters, operation_timeout=None, + nics_set_dhcp=True, ): super(BaseWindowsMorphingTools, self).__init__( conn, @@ -228,6 +229,7 @@ def __init__( detected_os_info, osmorphing_parameters, operation_timeout, + nics_set_dhcp, ) self._version_number = detected_os_info['version_number'] diff --git a/coriolis/tests/osmorphing/test_base.py b/coriolis/tests/osmorphing/test_base.py index 4358a9ecc..b6bea70a9 100644 --- a/coriolis/tests/osmorphing/test_base.py +++ b/coriolis/tests/osmorphing/test_base.py @@ -1129,11 +1129,12 @@ def test__create_cloudinit_user_already_exists( mock__exec_cmd_chroot.assert_not_called() @ddt.data( - (None, ["vim"], {}, False, [], None, False), + (None, ["vim"], {}, True, False, [], None, False), ( ["Oracle"], ["cloud-init"], - {"retain_user_credentials": True, "set_dhcp": False}, + {"retain_user_credentials": True}, + False, False, ["set_hostname"], { @@ -1148,7 +1149,8 @@ def test__create_cloudinit_user_already_exists( ( [], ["cloud-init", "vim"], - {"retain_user_credentials": False, "set_dhcp": True}, + {"retain_user_credentials": False}, + True, True, [], {}, @@ -1157,7 +1159,8 @@ def test__create_cloudinit_user_already_exists( ( [], ["cloud-init", "vim"], - {"retain_user_credentials": False, "set_dhcp": False}, + {"retain_user_credentials": False}, + False, True, ["update_etc_hosts", "set_hostname", "write_files"], { @@ -1169,7 +1172,8 @@ def test__create_cloudinit_user_already_exists( ( ["ConfigDrive", "OpenStack"], ["cloud-init", "vim"], - {"retain_user_credentials": False, "set_dhcp": True}, + {"retain_user_credentials": False}, + True, True, [], {"datasource_list": ["ConfigDrive", "OpenStack"]}, @@ -1194,6 +1198,7 @@ def test__configure_cloud_init( datasource_list, returned_packages, osmorphing_params, + nics_set_dhcp, creates_cloudinit_user, cloud_init_modules, expected_result, @@ -1213,6 +1218,7 @@ def test__configure_cloud_init( mock_datasource_list.return_value = datasource_list mock_get_packages.return_value = returned_packages self.os_morphing_tools._osmorphing_parameters = osmorphing_params + self.os_morphing_tools._nics_set_dhcp = nics_set_dhcp mock__has_systemd_chroot.return_value = has_systemd_chroot mock__get_cloud_init_modules.return_value = cloud_init_modules