Modify test code to avoid CONF modification affection

Few unit tests change attribute of  CONF variable via Python
assignment. This changes attribute of CONF, which is instance
of XxxOpt class defined in oslo_config, to Python literal value.

This affects result of another unit test.

To avoid this, we should change attribute of CONF variable with
set_override method.

Change-Id: I4bd8b1b4ea974834f1149fcaa79de85d24f5f7d1
Story: 2010214
Task: 45956
(cherry picked from commit 3b28d0984d)
(cherry picked from commit 593a547a8d)
This commit is contained in:
Vanou Ishii 2022-08-05 16:58:32 +09:00 committed by Julia Kreger
parent 246ef58505
commit 3f624e5caa
7 changed files with 114 additions and 115 deletions

View File

@ -35,7 +35,7 @@ class TestAuditMiddleware(base.BaseApiTest):
@mock.patch.object(audit, 'AuditMiddleware', autospec=True)
def test_enable_audit_request(self, mock_audit):
CONF.audit.enabled = True
CONF.set_override('enabled', True, 'audit')
self._make_app()
mock_audit.assert_called_once_with(
mock.ANY,
@ -44,14 +44,13 @@ class TestAuditMiddleware(base.BaseApiTest):
@mock.patch.object(audit, 'AuditMiddleware', autospec=True)
def test_enable_audit_request_error(self, mock_audit):
CONF.audit.enabled = True
CONF.set_override('enabled', True, 'audit')
mock_audit.side_effect = IOError("file access error")
self.assertRaises(exception.InputFileError,
self._make_app)
@mock.patch.object(audit, 'AuditMiddleware', autospec=True)
def test_disable_audit_request(self, mock_audit):
CONF.audit.enabled = False
CONF.set_override('enabled', False, 'audit')
self._make_app()
self.assertFalse(mock_audit.called)

View File

@ -32,12 +32,12 @@ class TestOsprofilerWsgiMiddleware(base.BaseApiTest):
@mock.patch.object(web, 'WsgiMiddleware', autospec=True)
def test_enable_osp_wsgi_request(self, mock_ospmiddleware):
CONF.profiler.enabled = True
CONF.set_override('enabled', True, 'profiler')
self._make_app()
mock_ospmiddleware.assert_called_once_with(mock.ANY)
@mock.patch.object(web, 'WsgiMiddleware', autospec=True)
def test_disable_osp_wsgi_request(self, mock_ospmiddleware):
CONF.profiler.enabled = False
CONF.set_override('enabled', False, 'profiler')
self._make_app()
self.assertFalse(mock_ospmiddleware.called)

View File

@ -38,7 +38,7 @@ class ConfigurationMoldTestCase(db_base.DbTestCase):
mock_session = mock.Mock()
mock_session.get_token.return_value = 'token'
mock_swift.return_value = mock_session
cfg.CONF.molds.storage = 'swift'
cfg.CONF.set_override('storage', 'swift', 'molds')
url = 'https://example.com/file1'
data = {'key': 'value'}
@ -54,7 +54,7 @@ class ConfigurationMoldTestCase(db_base.DbTestCase):
mock_session = mock.Mock()
mock_session.get_token.return_value = None
mock_swift.return_value = mock_session
cfg.CONF.molds.storage = 'swift'
cfg.CONF.set_override('storage', 'swift', 'molds')
url = 'https://example.com/file1'
data = {'key': 'value'}
@ -66,9 +66,9 @@ class ConfigurationMoldTestCase(db_base.DbTestCase):
@mock.patch.object(requests, 'put', autospec=True)
def test_save_configuration_http(self, mock_put):
cfg.CONF.molds.storage = 'http'
cfg.CONF.molds.user = 'user'
cfg.CONF.molds.password = 'password'
cfg.CONF.set_override('storage', 'http', 'molds')
cfg.CONF.set_override('user', 'user', 'molds')
cfg.CONF.set_override('password', 'password', 'molds')
url = 'https://example.com/file1'
data = {'key': 'value'}
@ -81,9 +81,9 @@ class ConfigurationMoldTestCase(db_base.DbTestCase):
@mock.patch.object(requests, 'put', autospec=True)
def test_save_configuration_http_noauth(self, mock_put):
cfg.CONF.molds.storage = 'http'
cfg.CONF.molds.user = None
cfg.CONF.molds.password = None
cfg.CONF.set_override('storage', 'http', 'molds')
cfg.CONF.set_override('user', None, 'molds')
cfg.CONF.set_override('password', None, 'molds')
url = 'https://example.com/file1'
data = {'key': 'value'}
@ -95,9 +95,9 @@ class ConfigurationMoldTestCase(db_base.DbTestCase):
@mock.patch.object(requests, 'put', autospec=True)
def test_save_configuration_http_error(self, mock_put):
cfg.CONF.molds.storage = 'http'
cfg.CONF.molds.user = 'user'
cfg.CONF.molds.password = 'password'
cfg.CONF.set_override('storage', 'http', 'molds')
cfg.CONF.set_override('user', 'user', 'molds')
cfg.CONF.set_override('password', 'password', 'molds')
response = mock.MagicMock()
response.status_code = 404
response.raise_for_status.side_effect = requests.exceptions.HTTPError
@ -116,11 +116,11 @@ class ConfigurationMoldTestCase(db_base.DbTestCase):
@mock.patch.object(requests, 'put', autospec=True)
def test_save_configuration_connection_error(self, mock_put):
cfg.CONF.molds.storage = 'http'
cfg.CONF.molds.user = 'user'
cfg.CONF.molds.password = 'password'
cfg.CONF.molds.retry_interval = 0
cfg.CONF.molds.retry_attempts = 3
cfg.CONF.set_override('storage', 'http', 'molds')
cfg.CONF.set_override('user', 'user', 'molds')
cfg.CONF.set_override('password', 'password', 'molds')
cfg.CONF.set_override('retry_interval', 0, 'molds')
cfg.CONF.set_override('retry_attempts', 3, 'molds')
response = mock.MagicMock()
mock_put.side_effect = [
requests.exceptions.ConnectTimeout,
@ -137,11 +137,11 @@ class ConfigurationMoldTestCase(db_base.DbTestCase):
@mock.patch.object(requests, 'put', autospec=True)
def test_save_configuration_connection_error_exceeded(self, mock_put):
cfg.CONF.molds.storage = 'http'
cfg.CONF.molds.user = 'user'
cfg.CONF.molds.password = 'password'
cfg.CONF.molds.retry_interval = 0
cfg.CONF.molds.retry_attempts = 2
cfg.CONF.set_override('storage', 'http', 'molds')
cfg.CONF.set_override('user', 'user', 'molds')
cfg.CONF.set_override('password', 'password', 'molds')
cfg.CONF.set_override('retry_interval', 0, 'molds')
cfg.CONF.set_override('retry_attempts', 2, 'molds')
mock_put.side_effect = [
requests.exceptions.ConnectTimeout,
requests.exceptions.ConnectionError]
@ -164,7 +164,7 @@ class ConfigurationMoldTestCase(db_base.DbTestCase):
mock_session = mock.Mock()
mock_session.get_token.return_value = 'token'
mock_swift.return_value = mock_session
cfg.CONF.molds.storage = 'swift'
cfg.CONF.set_override('storage', 'swift', 'molds')
response = mock.MagicMock()
response.status_code = 200
response.content = "{'key': 'value'}"
@ -185,7 +185,7 @@ class ConfigurationMoldTestCase(db_base.DbTestCase):
mock_session = mock.Mock()
mock_session.get_token.return_value = None
mock_swift.return_value = mock_session
cfg.CONF.molds.storage = 'swift'
cfg.CONF.set_override('storage', 'swift', 'molds')
url = 'https://example.com/file1'
with task_manager.acquire(self.context, self.node.uuid) as task:
@ -196,9 +196,9 @@ class ConfigurationMoldTestCase(db_base.DbTestCase):
@mock.patch.object(requests, 'get', autospec=True)
def test_get_configuration_http(self, mock_get):
cfg.CONF.molds.storage = 'http'
cfg.CONF.molds.user = 'user'
cfg.CONF.molds.password = 'password'
cfg.CONF.set_override('storage', 'http', 'molds')
cfg.CONF.set_override('user', 'user', 'molds')
cfg.CONF.set_override('password', 'password', 'molds')
response = mock.MagicMock()
response.status_code = 200
response.content = "{'key': 'value'}"
@ -215,9 +215,9 @@ class ConfigurationMoldTestCase(db_base.DbTestCase):
@mock.patch.object(requests, 'get', autospec=True)
def test_get_configuration_http_noauth(self, mock_get):
cfg.CONF.molds.storage = 'http'
cfg.CONF.molds.user = None
cfg.CONF.molds.password = None
cfg.CONF.set_override('storage', 'http', 'molds')
cfg.CONF.set_override('user', None, 'molds')
cfg.CONF.set_override('password', None, 'molds')
response = mock.MagicMock()
response.status_code = 200
response.content = "{'key': 'value'}"
@ -233,9 +233,9 @@ class ConfigurationMoldTestCase(db_base.DbTestCase):
@mock.patch.object(requests, 'get', autospec=True)
def test_get_configuration_http_error(self, mock_get):
cfg.CONF.molds.storage = 'http'
cfg.CONF.molds.user = 'user'
cfg.CONF.molds.password = 'password'
cfg.CONF.set_override('storage', 'http', 'molds')
cfg.CONF.set_override('user', 'user', 'molds')
cfg.CONF.set_override('password', 'password', 'molds')
response = mock.MagicMock()
response.status_code = 404
response.raise_for_status.side_effect = requests.exceptions.HTTPError
@ -253,11 +253,11 @@ class ConfigurationMoldTestCase(db_base.DbTestCase):
@mock.patch.object(requests, 'get', autospec=True)
def test_get_configuration_connection_error(self, mock_get):
cfg.CONF.molds.storage = 'http'
cfg.CONF.molds.user = 'user'
cfg.CONF.molds.password = 'password'
cfg.CONF.molds.retry_interval = 0
cfg.CONF.molds.retry_attempts = 3
cfg.CONF.set_override('storage', 'http', 'molds')
cfg.CONF.set_override('user', 'user', 'molds')
cfg.CONF.set_override('password', 'password', 'molds')
cfg.CONF.set_override('retry_interval', 0, 'molds')
cfg.CONF.set_override('retry_attempts', 3, 'molds')
response = mock.MagicMock()
mock_get.side_effect = [
requests.exceptions.ConnectTimeout,
@ -274,11 +274,11 @@ class ConfigurationMoldTestCase(db_base.DbTestCase):
@mock.patch.object(requests, 'get', autospec=True)
def test_get_configuration_mold_connection_error_exceeded(self, mock_get):
cfg.CONF.molds.storage = 'http'
cfg.CONF.molds.user = 'user'
cfg.CONF.molds.password = 'password'
cfg.CONF.molds.retry_interval = 0
cfg.CONF.molds.retry_attempts = 2
cfg.CONF.set_override('storage', 'http', 'molds')
cfg.CONF.set_override('user', 'user', 'molds')
cfg.CONF.set_override('password', 'password', 'molds')
cfg.CONF.set_override('retry_interval', 0, 'molds')
cfg.CONF.set_override('retry_attempts', 2, 'molds')
mock_get.side_effect = [
requests.exceptions.ConnectTimeout,
requests.exceptions.ConnectionError]
@ -296,7 +296,7 @@ class ConfigurationMoldTestCase(db_base.DbTestCase):
@mock.patch.object(requests, 'get', autospec=True)
def test_get_configuration_empty(self, mock_get):
cfg.CONF.molds.storage = 'http'
cfg.CONF.set_override('storage', 'http', 'molds')
response = mock.MagicMock()
response.status_code = 200
response.content = ''
@ -309,7 +309,7 @@ class ConfigurationMoldTestCase(db_base.DbTestCase):
@mock.patch.object(requests, 'get', autospec=True)
def test_get_configuration_invalid_json(self, mock_get):
cfg.CONF.molds.storage = 'http'
cfg.CONF.set_override('storage', 'http', 'molds')
response = mock.MagicMock()
response.status_code = 200
response.content = 'not json'

View File

@ -116,9 +116,9 @@ class IloBootCommonMethodsTestCase(test_common.BaseIloTest):
self.assertEqual(expected_driver_info, actual_driver_info)
def test_parse_driver_info_deploy_config(self):
CONF.conductor.deploy_kernel = 'kernel'
CONF.conductor.deploy_ramdisk = 'ramdisk'
CONF.conductor.bootloader = 'bootloader'
CONF.set_override('deploy_kernel', 'kernel', 'conductor')
CONF.set_override('deploy_ramdisk', 'ramdisk', 'conductor')
CONF.set_override('bootloader', 'bootloader', 'conductor')
expected_driver_info = {'deploy_kernel': 'kernel',
'deploy_ramdisk': 'ramdisk',
'bootloader': 'bootloader',
@ -128,10 +128,9 @@ class IloBootCommonMethodsTestCase(test_common.BaseIloTest):
self.assertEqual(expected_driver_info, actual_driver_info)
def test_parse_driver_info_rescue_config(self):
CONF.conductor.rescue_kernel = 'kernel'
CONF.conductor.rescue_ramdisk = 'ramdisk'
CONF.conductor.bootloader = 'bootloader'
CONF.set_override('rescue_kernel', 'kernel', 'conductor')
CONF.set_override('rescue_ramdisk', 'ramdisk', 'conductor')
CONF.set_override('bootloader', 'bootloader', 'conductor')
expected_driver_info = {'rescue_kernel': 'kernel',
'rescue_ramdisk': 'ramdisk',
'bootloader': 'bootloader',
@ -141,9 +140,8 @@ class IloBootCommonMethodsTestCase(test_common.BaseIloTest):
self.assertEqual(expected_driver_info, actual_driver_info)
def test_parse_driver_info_bootloader_none(self):
CONF.conductor.deploy_kernel = 'kernel'
CONF.conductor.deploy_ramdisk = 'ramdisk'
CONF.set_override('deploy_kernel', 'kernel', 'conductor')
CONF.set_override('deploy_ramdisk', 'ramdisk', 'conductor')
self.assertRaisesRegex(exception.MissingParameterValue, 'bootloader',
ilo_boot.parse_driver_info, self.node)

View File

@ -432,8 +432,8 @@ class IloCommonMethodsTestCase(BaseIloTest):
tempfile_mock.return_value = mock_image_file_handle
self.config(use_web_server_for_images=True, group='ilo')
deploy_args = {'arg1': 'val1', 'arg2': 'val2'}
CONF.deploy.http_url = "http://abc.com/httpboot"
CONF.deploy.http_root = "/httpboot"
CONF.set_override('http_url', 'http://abc.com/httpboot', 'deploy')
CONF.set_override('http_root', '/httpboot', 'deploy')
with task_manager.acquire(self.context, self.node.uuid,
shared=False) as task:
@ -674,8 +674,8 @@ class IloCommonMethodsTestCase(BaseIloTest):
swift_obj_mock = swift_api_mock.return_value
boot_iso = 'swift:object-name'
swift_obj_mock.get_temp_url.return_value = 'image_url'
CONF.ilo.swift_ilo_container = 'ilo_cont'
CONF.ilo.swift_object_expiry_timeout = 1
CONF.set_override('swift_ilo_container', 'ilo_cont', 'ilo')
CONF.set_override('swift_object_expiry_timeout', 1, 'ilo')
with task_manager.acquire(self.context, self.node.uuid,
shared=False) as task:
ilo_common.setup_vmedia_for_boot(task, boot_iso)
@ -702,7 +702,7 @@ class IloCommonMethodsTestCase(BaseIloTest):
def test_cleanup_vmedia_boot(self, get_name_mock, swift_api_mock,
eject_mock):
swift_obj_mock = swift_api_mock.return_value
CONF.ilo.swift_ilo_container = 'ilo_cont'
CONF.set_override('swift_ilo_container', 'ilo_cont', 'ilo')
get_name_mock.return_value = 'image-node-uuid'
@ -725,7 +725,7 @@ class IloCommonMethodsTestCase(BaseIloTest):
exc = exception.SwiftOperationError('error')
swift_obj_mock = swift_api_mock.return_value
swift_obj_mock.delete_object.side_effect = exc
CONF.ilo.swift_ilo_container = 'ilo_cont'
CONF.set_override('swift_ilo_container', 'ilo_cont', 'ilo')
get_name_mock.return_value = 'image-node-uuid'
@ -750,7 +750,7 @@ class IloCommonMethodsTestCase(BaseIloTest):
exc = exception.SwiftObjectNotFoundError('error')
swift_obj_mock = swift_api_mock.return_value
swift_obj_mock.delete_object.side_effect = exc
CONF.ilo.swift_ilo_container = 'ilo_cont'
CONF.set_override('swift_ilo_container', 'ilo_cont', 'ilo')
get_name_mock.return_value = 'image-node-uuid'
@ -769,7 +769,7 @@ class IloCommonMethodsTestCase(BaseIloTest):
def test_cleanup_vmedia_boot_for_webserver(self,
destroy_image_mock,
eject_mock):
CONF.ilo.use_web_server_for_images = True
CONF.set_override('use_web_server_for_images', True, 'ilo')
with task_manager.acquire(self.context, self.node.uuid,
shared=False) as task:
@ -930,8 +930,8 @@ class IloCommonMethodsTestCase(BaseIloTest):
autospec=True)
def test_copy_image_to_web_server(self, copy_mock,
chmod_mock):
CONF.deploy.http_url = "http://x.y.z.a/webserver/"
CONF.deploy.http_root = "/webserver"
CONF.set_override('http_url', 'http://x.y.z.a/webserver/', 'deploy')
CONF.set_override('http_root', '/webserver', 'deploy')
expected_url = "http://x.y.z.a/webserver/image-UUID"
source = 'tmp_image_file'
destination = "image-UUID"
@ -947,8 +947,8 @@ class IloCommonMethodsTestCase(BaseIloTest):
autospec=True)
def test_copy_image_to_web_server_fails(self, copy_mock,
chmod_mock):
CONF.deploy.http_url = "http://x.y.z.a/webserver/"
CONF.deploy.http_root = "/webserver"
CONF.set_override('http_url', 'http://x.y.z.a/webserver/', 'deploy')
CONF.set_override('http_root', '/webserver', 'deploy')
source = 'tmp_image_file'
destination = "image-UUID"
image_path = "/webserver/image-UUID"
@ -963,8 +963,8 @@ class IloCommonMethodsTestCase(BaseIloTest):
@mock.patch.object(ilo_common, 'ironic_utils', autospec=True)
def test_remove_image_from_web_server(self, utils_mock):
# | GIVEN |
CONF.deploy.http_url = "http://x.y.z.a/webserver/"
CONF.deploy.http_root = "/webserver"
CONF.set_override('http_url', 'http://x.y.z.a/webserver/', 'deploy')
CONF.set_override('http_root', '/webserver', 'deploy')
object_name = 'tmp_image_file'
# | WHEN |
ilo_common.remove_image_from_web_server(object_name)
@ -1074,7 +1074,7 @@ class IloCommonMethodsTestCase(BaseIloTest):
def test_destroy_floppy_image_from_web_server(self, get_floppy_name_mock,
utils_mock):
get_floppy_name_mock.return_value = 'image-uuid'
CONF.deploy.http_root = "/webserver/"
CONF.set_override('http_root', '/webserver/', 'deploy')
with task_manager.acquire(self.context, self.node.uuid,
shared=False) as task:
ilo_common.destroy_floppy_image_from_web_server(task.node)
@ -1218,7 +1218,7 @@ class IloCommonMethodsTestCase(BaseIloTest):
autospec=True)
def test__get_certificate_file_list_none(self, path_exists_mock):
cl = None
CONF.webserver_verify_ca = '/file/path'
CONF.set_override('webserver_verify_ca', '/file/path')
path_exists_mock.return_value = True
expected = ['/file/path']
actual = ilo_common._get_certificate_file_list(cl)
@ -1228,7 +1228,7 @@ class IloCommonMethodsTestCase(BaseIloTest):
autospec=True)
def test__get_certificate_file_list_empty(self, path_exists_mock):
cl = []
CONF.webserver_verify_ca = '/file/path'
CONF.set_override('webserver_verify_ca', '/file/path')
path_exists_mock.return_value = True
expected = ['/file/path']
actual = ilo_common._get_certificate_file_list(cl)
@ -1238,7 +1238,7 @@ class IloCommonMethodsTestCase(BaseIloTest):
autospec=True)
def test__get_certificate_file_list_empty_no_path(self, path_exists_mock):
cl = []
CONF.webserver_verify_ca = '/file/path'
CONF.set_override('webserver_verify_ca', '/file/path')
path_exists_mock.return_value = False
expected = []
actual = ilo_common._get_certificate_file_list(cl)
@ -1246,14 +1246,14 @@ class IloCommonMethodsTestCase(BaseIloTest):
def test__get_certificate_file_list(self):
cl = ['file/path/a', 'file/path/b']
CONF.webserver_verify_ca = '/file/path/c'
CONF.set_override('webserver_verify_ca', '/file/path/c')
expected = cl
actual = ilo_common._get_certificate_file_list(cl)
self.assertEqual(expected, actual)
def test__get_certificate_file_list_string_type(self):
cl = 'file/path/a'
CONF.webserver_verify_ca = '/file/path/c'
CONF.set_override('webserver_verify_ca', '/file/path/c')
self.assertRaisesRegex(exception.InvalidParameterValue,
"List of files is .* \"<class 'str'>\" .*",
ilo_common._get_certificate_file_list, cl)
@ -1353,7 +1353,7 @@ class IloCommonMethodsTestCase(BaseIloTest):
autospec=True)
def test_add_certificates_raises_ilo_error(self, get_ilo_object_mock,
get_cl_mock):
CONF.webserver_verify_ca = False
CONF.set_override('webserver_verify_ca', False)
ilo_mock_object = get_ilo_object_mock.return_value
c_l = ['/file/path/a', '/file/path/b']
get_cl_mock.return_value = c_l

View File

@ -74,13 +74,14 @@ class IRMCDeployPrivateMethodsTestCase(test_common.BaseIRMCTest):
def setUp(self):
super(IRMCDeployPrivateMethodsTestCase, self).setUp()
CONF.irmc.remote_image_share_root = '/remote_image_share_root'
CONF.irmc.remote_image_server = '10.20.30.40'
CONF.irmc.remote_image_share_type = 'NFS'
CONF.irmc.remote_image_share_name = 'share'
CONF.irmc.remote_image_user_name = 'admin'
CONF.irmc.remote_image_user_password = 'admin0'
CONF.irmc.remote_image_user_domain = 'local'
CONF.set_override('remote_image_share_root',
'/remote_image_share_root', 'irmc')
CONF.set_override('remote_image_server', '10.20.30.40', 'irmc')
CONF.set_override('remote_image_share_type', 'NFS', 'irmc')
CONF.set_override('remote_image_share_name', 'share', 'irmc')
CONF.set_override('remote_image_user_name', 'admin', 'irmc')
CONF.set_override('remote_image_user_password', 'admin0', 'irmc')
CONF.set_override('remote_image_user_domain', 'local', 'irmc')
@mock.patch.object(os.path, 'isdir', spec_set=True, autospec=True)
def test__parse_config_option(self, isdir_mock,
@ -95,7 +96,8 @@ class IRMCDeployPrivateMethodsTestCase(test_common.BaseIRMCTest):
@mock.patch.object(os.path, 'isdir', spec_set=True, autospec=True)
def test__parse_config_option_non_existed_root(
self, isdir_mock, check_share_fs_mounted_mock):
CONF.irmc.remote_image_share_root = '/non_existed_root'
CONF.set_override('remote_image_share_root', '/non_existed_root',
'irmc')
isdir_mock.return_value = False
self.assertRaises(exception.InvalidParameterValue,
@ -248,7 +250,7 @@ class IRMCDeployPrivateMethodsTestCase(test_common.BaseIRMCTest):
def test__parse_instance_info_with_boot_iso_file_name_ok(
self, check_share_fs_mounted_mock):
"""With optional 'boot_iso' file name."""
CONF.irmc.remote_image_share_root = '/etc'
CONF.set_override('remote_image_share_root', '/etc', 'irmc')
self.node.instance_info['boot_iso'] = 'hosts'
instance_info_expected = {'boot_iso': 'hosts'}
instance_info_actual = irmc_boot._parse_instance_info(self.node)
@ -258,7 +260,7 @@ class IRMCDeployPrivateMethodsTestCase(test_common.BaseIRMCTest):
def test__parse_instance_info_with_boot_iso_deprecated(
self, check_share_fs_mounted_mock):
"""With optional 'irmc_boot_iso' file name."""
CONF.irmc.remote_image_share_root = '/etc'
CONF.set_override('remote_image_share_root', '/etc', 'irmc')
self.node.instance_info['irmc_boot_iso'] = 'hosts'
instance_info_expected = {'boot_iso': 'hosts'}
instance_info_actual = irmc_boot._parse_instance_info(self.node)
@ -268,7 +270,7 @@ class IRMCDeployPrivateMethodsTestCase(test_common.BaseIRMCTest):
def test__parse_instance_info_without_boot_iso_ok(
self, check_share_fs_mounted_mock):
"""With optional no 'boot_iso' file name."""
CONF.irmc.remote_image_share_root = '/etc'
CONF.set_override('remote_image_share_root', '/etc', 'irmc')
self.node.instance_info['boot_iso'] = None
instance_info_expected = {}
@ -335,7 +337,7 @@ class IRMCDeployPrivateMethodsTestCase(test_common.BaseIRMCTest):
@mock.patch.object(os.path, 'isfile', spec_set=True, autospec=True)
def test__parse_instance_info_with_boot_iso_invalid(
self, isfile_mock, check_share_fs_mounted_mock):
CONF.irmc.remote_image_share_root = '/etc'
CONF.set_override('remote_image_share_root', '/etc', 'irmc')
isfile_mock.return_value = False
with task_manager.acquire(self.context, self.node.uuid) as task:
@ -357,7 +359,7 @@ class IRMCDeployPrivateMethodsTestCase(test_common.BaseIRMCTest):
def test_parse_deploy_info_ok(self, mock_isfile,
get_image_instance_info_mock,
check_share_fs_mounted_mock):
CONF.irmc.remote_image_share_root = '/etc'
CONF.set_override('remote_image_share_root', '/etc', 'irmc')
get_image_instance_info_mock.return_value = {'a': 'b'}
driver_info_expected = {
'a': 'b',
@ -443,7 +445,7 @@ class IRMCDeployPrivateMethodsTestCase(test_common.BaseIRMCTest):
setup_vmedia_mock,
set_boot_device_mock,
check_share_fs_mounted_mock):
CONF.irmc.remote_image_share_root = '/'
CONF.set_override('remote_image_share_root', '/', 'irmc')
with task_manager.acquire(self.context, self.node.uuid,
shared=False) as task:
@ -476,7 +478,7 @@ class IRMCDeployPrivateMethodsTestCase(test_common.BaseIRMCTest):
setup_vmedia_mock,
set_boot_device_mock,
check_share_fs_mounted_mock):
CONF.irmc.remote_image_share_root = '/'
CONF.set_override('remote_image_share_root', '/', 'irmc')
with task_manager.acquire(self.context, self.node.uuid,
shared=False) as task:
@ -550,7 +552,7 @@ class IRMCDeployPrivateMethodsTestCase(test_common.BaseIRMCTest):
boot_mode_mock,
create_boot_iso_mock,
check_share_fs_mounted_mock):
CONF.irmc.remote_image_share_root = '/'
CONF.set_override('remote_image_share_root', '/', 'irmc')
image = '733d1c44-a2ea-414b-aca7-69decf20d810'
is_image_href_ordinary_file_name_mock.return_value = False
deploy_info_mock.return_value = {'boot_iso': image}
@ -828,7 +830,7 @@ class IRMCDeployPrivateMethodsTestCase(test_common.BaseIRMCTest):
autospec=True)
def test__remove_share_file(self, unlink_without_raise_mock,
check_share_fs_mounted_mock):
CONF.irmc.remote_image_share_root = '/share'
CONF.set_override('remote_image_share_root', '/share', 'irmc')
irmc_boot._remove_share_file("boot.iso")
@ -844,12 +846,12 @@ class IRMCDeployPrivateMethodsTestCase(test_common.BaseIRMCTest):
cd_set_params = (irmc_boot.scci
.get_virtual_cd_set_params_cmd.return_value)
CONF.irmc.remote_image_server = '10.20.30.40'
CONF.irmc.remote_image_user_domain = 'local'
CONF.irmc.remote_image_share_type = 'NFS'
CONF.irmc.remote_image_share_name = 'share'
CONF.irmc.remote_image_user_name = 'admin'
CONF.irmc.remote_image_user_password = 'admin0'
CONF.set_override('remote_image_server', '10.20.30.40', 'irmc')
CONF.set_override('remote_image_share_type', 'NFS', 'irmc')
CONF.set_override('remote_image_share_name', 'share', 'irmc')
CONF.set_override('remote_image_user_name', 'admin', 'irmc')
CONF.set_override('remote_image_user_password', 'admin0', 'irmc')
CONF.set_override('remote_image_user_domain', 'local', 'irmc')
irmc_boot.scci.get_share_type.return_value = 0
@ -926,12 +928,12 @@ class IRMCDeployPrivateMethodsTestCase(test_common.BaseIRMCTest):
fd_set_params = (irmc_boot.scci
.get_virtual_fd_set_params_cmd.return_value)
CONF.irmc.remote_image_server = '10.20.30.40'
CONF.irmc.remote_image_user_domain = 'local'
CONF.irmc.remote_image_share_type = 'NFS'
CONF.irmc.remote_image_share_name = 'share'
CONF.irmc.remote_image_user_name = 'admin'
CONF.irmc.remote_image_user_password = 'admin0'
CONF.set_override('remote_image_server', '10.20.30.40', 'irmc')
CONF.set_override('remote_image_share_type', 'NFS', 'irmc')
CONF.set_override('remote_image_share_name', 'share', 'irmc')
CONF.set_override('remote_image_user_name', 'admin', 'irmc')
CONF.set_override('remote_image_user_password', 'admin0', 'irmc')
CONF.set_override('remote_image_user_domain', 'local', 'irmc')
irmc_boot.scci.get_share_type.return_value = 0
@ -1009,8 +1011,8 @@ class IRMCDeployPrivateMethodsTestCase(test_common.BaseIRMCTest):
# irmc_boot.check_share_fs_mounted is mocked in
# third_party_driver_mocks.py.
# irmc_boot.check_share_fs_mounted_orig is the real function.
CONF.irmc.remote_image_share_root = '/'
CONF.irmc.remote_image_share_type = 'nfs'
CONF.set_override('remote_image_share_root', '/', 'irmc')
CONF.set_override('remote_image_share_type', 'nfs', 'irmc')
result = irmc_boot.check_share_fs_mounted_orig()
parse_conf_mock.assert_called_once_with()
@ -1026,8 +1028,8 @@ class IRMCDeployPrivateMethodsTestCase(test_common.BaseIRMCTest):
# irmc_boot.check_share_fs_mounted is mocked in
# third_party_driver_mocks.py.
# irmc_boot.check_share_fs_mounted_orig is the real function.
CONF.irmc.remote_image_share_root = '/etc'
CONF.irmc.remote_image_share_type = 'cifs'
CONF.set_override('remote_image_share_root', '/etc', 'irmc')
CONF.set_override('remote_image_share_type', 'cifs', 'irmc')
self.assertRaises(exception.IRMCSharedFileSystemNotMounted,
irmc_boot.check_share_fs_mounted_orig)

View File

@ -869,7 +869,7 @@ class SNMPDeviceDriverTestCase(db_base.DbTestCase):
def test_power_off_timeout(self, mock_sleep, mock_get_client):
# Ensure that a power off consistency poll timeout causes an error
mock_client = mock_get_client.return_value
CONF.snmp.power_timeout = 5
CONF.set_override('power_timeout', 5, 'snmp')
driver = snmp._get_driver(self.node)
mock_client.get.return_value = driver.value_power_on
pstate = driver.power_off()