85
85
proliantutils = importutils.try_import('proliantutils')
86
86
if not proliantutils:
87
mock_proliant_utils = mock.MagicMock()
88
sys.modules['proliantutils'] = mock_proliant_utils
90
if 'ironic.drivers.ilo' in sys.modules:
91
reload(sys.modules['ironic.drivers.ilo'])
87
proliantutils = mock.MagicMock()
88
sys.modules['proliantutils'] = proliantutils
89
sys.modules['proliantutils.ilo'] = proliantutils.ilo
90
sys.modules['proliantutils.ilo.client'] = proliantutils.ilo.client
91
sys.modules['proliantutils.exception'] = proliantutils.exception
92
proliantutils.exception.IloError = type('IloError', (Exception,), {})
93
command_exception = type('IloCommandNotSupportedError', (Exception,), {})
94
proliantutils.exception.IloCommandNotSupportedError = command_exception
95
if 'ironic.drivers.ilo' in sys.modules:
96
reload(sys.modules['ironic.drivers.ilo'])
94
99
# attempt to load the external 'pywsman' library, which is required by
95
# the optional drivers.modules.drac module
100
# the optional drivers.modules.drac and drivers.modules.amt module
96
101
pywsman = importutils.try_import('pywsman')
98
103
pywsman = mock.Mock()
99
104
sys.modules['pywsman'] = pywsman
101
# if anything has loaded the drac driver yet, reload it now that the
102
# external library has been mocked
103
if 'ironic.drivers.modules.drac' in sys.modules:
104
reload(sys.modules['ironic.drivers.modules.drac'])
105
# Now that the external library has been mocked, if anything had already
106
# loaded any of the drivers, reload them.
107
if 'ironic.drivers.modules.drac' in sys.modules:
108
reload(sys.modules['ironic.drivers.modules.drac'])
109
if 'ironic.drivers.modules.amt' in sys.modules:
110
reload(sys.modules['ironic.drivers.modules.amt'])
107
113
# attempt to load the external 'iboot' library, which is required by
161
167
# external library has been mocked
162
168
if 'ironic.drivers.modules.irmc' in sys.modules:
163
169
reload(sys.modules['ironic.drivers.modules.irmc'])
171
pyremotevbox = importutils.try_import('pyremotevbox')
173
pyremotevbox = mock.MagicMock()
174
pyremotevbox.exception = mock.MagicMock()
175
pyremotevbox.exception.PyRemoteVBoxException = Exception
176
pyremotevbox.exception.VmInWrongPowerState = Exception
177
sys.modules['pyremotevbox'] = pyremotevbox
178
if 'ironic.drivers.modules.virtualbox' in sys.modules:
179
reload(sys.modules['ironic.drivers.modules.virtualbox'])
182
ironic_discoverd = importutils.try_import('ironic_discoverd')
183
if not ironic_discoverd:
184
ironic_discoverd = mock.MagicMock()
185
ironic_discoverd.__version_info__ = (1, 0, 0)
186
ironic_discoverd.__version__ = "1.0.0"
187
sys.modules['ironic_discoverd'] = ironic_discoverd
188
sys.modules['ironic_discoverd.client'] = ironic_discoverd.client
189
if 'ironic.drivers.modules.discoverd' in sys.modules:
190
reload(sys.modules['ironic.drivers.modules.discoverd'])