Always log via Flask application

Prior to this patch, sushy-emulator used two ways of logging: via
Flask app object and via Python logging module. This arrangement
seems to be leading to missing log messages in the CI.

This patch makes sushy-emulator consistently logging via Flask
app object.

Change-Id: I9fdb038cc16147f9f7b248c48aa78a237cdba087
This commit is contained in:
Ilya Etingof 2019-11-10 23:31:03 +01:00
parent 907c3ad6d5
commit 663559c7e8
22 changed files with 123 additions and 103 deletions

View File

@ -63,7 +63,7 @@ class Resources(object):
sys.exit(1)
cls.SYSTEMS = novadriver.OpenStackDriver.initialize(
app.config, os_cloud)
app.config, app.logger, os_cloud)
else:
if not libvirtdriver.is_loaded:
@ -73,56 +73,63 @@ class Resources(object):
libvirt_uri = app.config.get('SUSHY_EMULATOR_LIBVIRT_URI', '')
cls.SYSTEMS = libvirtdriver.LibvirtDriver.initialize(
app.config, libvirt_uri)
app.config, app.logger, libvirt_uri)
app.logger.debug(
'Initialized system resource backed by %s '
'driver', cls.SYSTEMS().driver)
if cls.MANAGERS is None:
cls.MANAGERS = mgrdriver.StaticDriver.initialize(app.config)
cls.MANAGERS = mgrdriver.StaticDriver.initialize(
app.config, app.logger)
app.logger.debug(
'Initialized manager resource backed by %s '
'driver', cls.MANAGERS().driver)
if cls.CHASSIS is None:
cls.CHASSIS = chsdriver.StaticDriver.initialize(app.config)
cls.CHASSIS = chsdriver.StaticDriver.initialize(
app.config, app.logger)
app.logger.debug(
'Initialized chassis resource backed by %s '
'driver', cls.CHASSIS().driver)
if cls.INDICATORS is None:
cls.INDICATORS = inddriver.StaticDriver.initialize(app.config)
cls.INDICATORS = inddriver.StaticDriver.initialize(
app.config, app.logger)
app.logger.debug(
'Initialized indicators resource backed by %s '
'driver', cls.INDICATORS().driver)
if cls.VMEDIA is None:
cls.VMEDIA = vmddriver.StaticDriver.initialize(app.config)
cls.VMEDIA = vmddriver.StaticDriver.initialize(
app.config, app.logger)
app.logger.debug(
'Initialized virtual media resource backed by %s '
'driver', cls.VMEDIA().driver)
if cls.STORAGE is None:
cls.STORAGE = stgdriver.StaticDriver.initialize(app.config)
cls.STORAGE = stgdriver.StaticDriver.initialize(
app.config, app.logger)
app.logger.debug(
'Initialized storage resource backed by %s '
'driver', cls.STORAGE().driver)
if cls.DRIVES is None:
cls.DRIVES = drvdriver.StaticDriver.initialize(app.config)
cls.DRIVES = drvdriver.StaticDriver.initialize(
app.config, app.logger)
app.logger.debug(
'Initialized drive resource backed by %s '
'driver', cls.DRIVES().driver)
if cls.VOLUMES is None:
cls.VOLUMES = voldriver.StaticDriver.initialize(app.config)
cls.VOLUMES = voldriver.StaticDriver.initialize(
app.config, app.logger)
app.logger.debug(
'Initialized volumes resource backed by %s '

View File

@ -18,7 +18,7 @@ class DriverBase(object):
"""Common base for emulated Redfish resource drivers"""
@classmethod
def initialize(cls, *args, **kwargs):
def initialize(cls, config, logger, *args, **kwargs):
"""Initialize class attributes
Since drivers may need to cache thing short-term. The emulator
@ -31,6 +31,8 @@ class DriverBase(object):
The `initialize` method is provided to set up the driver in a way
that would affect all the subsequent sessions.
:params config: system configuration dict
:params logger: system logger object
:params *args: driver-specific parameters
:params **kwargs: driver-specific parameters
:returns: initialized driver class

View File

@ -24,8 +24,9 @@ class AbstractChassisDriver(base.DriverBase):
"""Base class backing Redfish Chassis"""
@classmethod
def initialize(cls, config):
def initialize(cls, config, logger, *args, **kwargs):
cls._config = config
cls._logger = logger
return cls
@abc.abstractproperty

View File

@ -13,14 +13,11 @@
# License for the specific language governing permissions and limitations
# under the License.
import logging
import uuid
from sushy_tools.emulator.resources.chassis.base import AbstractChassisDriver
from sushy_tools import error
logger = logging.getLogger(__name__)
class StaticDriver(AbstractChassisDriver):
"""Redfish chassis backed by configuration file"""
@ -71,7 +68,7 @@ class StaticDriver(AbstractChassisDriver):
msg = ('Error finding chassis by UUID/Name/Id '
'"%(identity)s"' % {'identity': identity})
logger.debug(msg)
self._logger.debug(msg)
raise error.FishyError(msg)

View File

@ -13,22 +13,22 @@
# License for the specific language governing permissions and limitations
# under the License.
import logging
import uuid
from sushy_tools.emulator.resources.base import DriverBase
from sushy_tools import error
logger = logging.getLogger(__name__)
class StaticDriver(DriverBase):
"""Redfish storage drives backed by configuration file"""
@classmethod
def initialize(cls, config):
def initialize(cls, config, logger, *args, **kwargs):
cls._config = config
cls._logger = logger
cls._drives = cls._config.get('SUSHY_EMULATOR_DRIVES', {})
return cls
@property
@ -49,7 +49,7 @@ class StaticDriver(DriverBase):
msg = ('Error finding drive for System UUID "%s" and Storage ID '
'"%s"', identity, storage_id)
logger.debug(msg)
self._logger.debug(msg)
raise error.FishyError(msg)

View File

@ -13,14 +13,10 @@
# License for the specific language governing permissions and limitations
# under the License.
import logging
from sushy_tools.emulator import memoize
from sushy_tools.emulator.resources.base import DriverBase
from sushy_tools import error
logger = logging.getLogger(__name__)
class StaticDriver(DriverBase):
"""Redfish indicator LED simulator
@ -29,17 +25,18 @@ class StaticDriver(DriverBase):
anything.
"""
@classmethod
def initialize(cls, config):
def initialize(cls, config, logger, *args, **kwargs):
cls._config = config
cls._logger = logger
cls._indicators = memoize.PersistentDict()
if hasattr(cls._indicators, 'make_permanent'):
cls._indicators.make_permanent(
config.get('SUSHY_EMULATOR_STATE_DIR'), 'indicators')
cls._config.get('SUSHY_EMULATOR_STATE_DIR'), 'indicators')
cls._indicators.update(
config.get('SUSHY_EMULATOR_INDICATOR_LEDS', {}))
cls._config.get('SUSHY_EMULATOR_INDICATOR_LEDS', {}))
return cls

View File

@ -24,8 +24,9 @@ class AbstractManagersDriver(base.DriverBase):
"""Base class backing Redfish Managers"""
@classmethod
def initialize(cls, config):
def initialize(cls, config, logger, *args, **kwargs):
cls._config = config
cls._logger = logger
return cls
@abc.abstractproperty

View File

@ -13,16 +13,12 @@
# License for the specific language governing permissions and limitations
# under the License.
import logging
import uuid
from sushy_tools.emulator.resources.managers.base import AbstractManagersDriver
from sushy_tools import error
logger = logging.getLogger(__name__)
class StaticDriver(AbstractManagersDriver):
"""Redfish manager backed by configuration file"""
@ -75,7 +71,7 @@ class StaticDriver(AbstractManagersDriver):
msg = ('Error finding manager by UUID/Name/Id '
'"%(identity)s"' % {'identity': identity})
logger.debug(msg)
self._logger.debug(msg)
raise error.FishyError(msg)

View File

@ -13,22 +13,22 @@
# License for the specific language governing permissions and limitations
# under the License.
import logging
import uuid
from sushy_tools.emulator.resources.base import DriverBase
from sushy_tools import error
logger = logging.getLogger(__name__)
class StaticDriver(DriverBase):
"""Redfish storage backed by configuration file"""
@classmethod
def initialize(cls, config):
def initialize(cls, config, logger, *args, **kwargs):
cls._config = config
cls._logger = logger
cls._storage = cls._config.get('SUSHY_EMULATOR_STORAGE', {})
return cls
@property
@ -49,7 +49,7 @@ class StaticDriver(DriverBase):
msg = ('Error finding storage collection by UUID '
'"%(identity)s"' % {'identity': identity})
logger.debug(msg)
self._logger.debug(msg)
raise error.FishyError(msg)

View File

@ -15,7 +15,6 @@
from collections import defaultdict
from collections import namedtuple
import logging
import os
import uuid
import xml.etree.ElementTree as ET
@ -34,10 +33,6 @@ except ImportError:
is_loaded = bool(libvirt)
logger = logging.getLogger(__name__)
BiosProcessResult = namedtuple('BiosProcessResult',
['tree',
'attributes_written',
@ -167,9 +162,12 @@ class LibvirtDriver(AbstractSystemsDriver):
"""
@classmethod
def initialize(cls, config, uri=None):
def initialize(cls, config, logger, uri=None, *args, **kwargs):
cls._config = config
cls._logger = logger
cls._uri = uri or cls.LIBVIRT_URI
cls.BOOT_LOADER_MAP = cls._config.get(
'SUSHY_EMULATOR_BOOT_LOADER_MAP', cls.BOOT_LOADER_MAP)
cls.KNOWN_BOOT_LOADERS = set(y for x in cls.BOOT_LOADER_MAP.values()
@ -194,7 +192,7 @@ class LibvirtDriver(AbstractSystemsDriver):
{'identity': identity,
'uri': self._uri, 'err': ex})
logger.debug(msg)
self._logger.debug(msg)
raise error.FishyError(msg)
@ -519,10 +517,11 @@ class LibvirtDriver(AbstractSystemsDriver):
loader_path = self.BOOT_LOADER_MAP[boot_mode][os_arch]
except KeyError:
logger.warning('Boot loader binary is not configured for '
'boot mode %s and OS architecture %s. '
'Assuming default boot loader for the domain.',
boot_mode, os_arch)
self._logger.warning(
'Boot loader binary is not configured for '
'boot mode %s and OS architecture %s. '
'Assuming default boot loader for the domain.',
boot_mode, os_arch)
loader_path = None
loader_elements = os_element.findall('loader')
@ -1030,7 +1029,7 @@ class LibvirtDriver(AbstractSystemsDriver):
'%(err)s' %
{'path': vol_path, 'uri': self._uri,
'err': e})
logger.debug(msg)
self._logger.debug(msg)
return
disk_device = {
'Name': vol.name(),
@ -1052,7 +1051,7 @@ class LibvirtDriver(AbstractSystemsDriver):
msg = ('Error finding Storage Pool by name "%(name)s" at'
'libvirt URI "%(uri)s": %(err)s' %
{'name': pool_name, 'uri': self._uri, 'err': e})
logger.debug(msg)
self._logger.debug(msg)
return
try:
@ -1063,7 +1062,7 @@ class LibvirtDriver(AbstractSystemsDriver):
': %(err)s' %
{'name': vol_name, 'pName': pool_name,
'uri': self._uri, 'err': e})
logger.debug(msg)
self._logger.debug(msg)
return
disk_device = {
'Name': vol.name(),
@ -1128,7 +1127,7 @@ class LibvirtDriver(AbstractSystemsDriver):
msg = ('Error finding Storage Pool by name "%(name)s" at '
'libvirt URI "%(uri)s": %(err)s' %
{'name': poolName, 'uri': self._uri, 'err': ex})
logger.debug(msg)
self._logger.debug(msg)
return
try:
vol = pool.storageVolLookupByName(data['libvirtVolName'])
@ -1136,7 +1135,7 @@ class LibvirtDriver(AbstractSystemsDriver):
msg = ('Creating storage volume with name: "%s"',
data['libvirtVolName'])
logger.debug(msg)
self._logger.debug(msg)
pool_tree = ET.fromstring(pool.XMLDesc())
@ -1146,7 +1145,7 @@ class LibvirtDriver(AbstractSystemsDriver):
msg = ('Missing "target/path" tag in the libvirt '
'storage pool "%(pool)s"'
'' % {'pool': poolName})
logger.debug(msg)
self._logger.debug(msg)
return
vol_path = os.path.join(
@ -1161,6 +1160,6 @@ class LibvirtDriver(AbstractSystemsDriver):
if not vol:
msg = ('Error creating "%s" storage volume in "%s" pool',
data['libvirtVolName'], poolName)
logger.debug(msg)
self._logger.debug(msg)
return
return data['Id']

View File

@ -13,7 +13,6 @@
# License for the specific language governing permissions and limitations
# under the License.
import logging
import math
from sushy_tools.emulator import memoize
@ -29,8 +28,6 @@ except ImportError:
is_loaded = bool(openstack)
logger = logging.getLogger(__name__)
class OpenStackDriver(AbstractSystemsDriver):
"""OpenStack driver"""
@ -55,10 +52,13 @@ class OpenStackDriver(AbstractSystemsDriver):
PERMANENT_CACHE = {}
@classmethod
def initialize(cls, config, os_cloud, readonly=False):
cls._cc = openstack.connect(cloud=os_cloud)
cls._os_cloud = os_cloud
def initialize(cls, config, logger, os_cloud, *args, **kwargs):
cls._config = config
cls._logger = logger
cls._os_cloud = os_cloud
cls._cc = openstack.connect(cloud=os_cloud)
return cls
@memoize.memoize()
@ -74,7 +74,7 @@ class OpenStackDriver(AbstractSystemsDriver):
'cloud %(os_cloud)s"' % {'identity': identity,
'os_cloud': self._os_cloud})
logger.debug(msg)
self._logger.debug(msg)
raise error.FishyError(msg)
@ -339,7 +339,8 @@ class OpenStackDriver(AbstractSystemsDriver):
try:
macs.add(adr['OS-EXT-IPS-MAC:mac_addr'])
except KeyError:
logger.warning('Could not find MAC address in %s', adr)
self._logger.warning(
'Could not find MAC address in %s', adr)
return [{'id': mac, 'mac': mac}
for mac in macs]

View File

@ -13,7 +13,6 @@
# License for the specific language governing permissions and limitations
# under the License.
import logging
import os
import re
import tempfile
@ -25,8 +24,6 @@ from sushy_tools.emulator import memoize
from sushy_tools.emulator.resources.base import DriverBase
from sushy_tools import error
logger = logging.getLogger(__name__)
class StaticDriver(DriverBase):
"""Redfish virtual media simulator
@ -34,14 +31,15 @@ class StaticDriver(DriverBase):
"""
@classmethod
def initialize(cls, config):
def initialize(cls, config, logger, *args, **kwargs):
cls._config = config
cls._logger = logger
cls._devices = memoize.PersistentDict()
if hasattr(cls._devices, 'make_permanent'):
cls._devices.make_permanent(
config.get('SUSHY_EMULATOR_STATE_DIR'), 'vmedia')
cls._config.get('SUSHY_EMULATOR_STATE_DIR'), 'vmedia')
device_types = cls._config.get(
'SUSHY_EMULATOR_VMEDIA_DEVICES')
@ -188,10 +186,10 @@ class StaticDriver(DriverBase):
except Exception as ex:
msg = 'Failed fetching image from URL %s: %s' % (image_url, ex)
logger.error(msg)
self._logger.error(msg)
raise error.FishyError(msg)
logger.debug(
self._logger.debug(
'Fetched image %(file)s for %(identity)s' % {
'identity': identity, 'file': local_file})
@ -224,6 +222,6 @@ class StaticDriver(DriverBase):
if local_file:
os.unlink(local_file)
logger.debug(
self._logger.debug(
'Removed local file %(file)s for %(identity)s' % {
'identity': identity, 'file': local_file})

View File

@ -12,15 +12,10 @@
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
import logging
from sushy_tools.emulator import memoize
from sushy_tools.emulator.resources.base import DriverBase
import uuid
logger = logging.getLogger(__name__)
class StaticDriver(DriverBase):
"""Redfish Volumes emulated in libvirt backed by the config file
@ -28,17 +23,18 @@ class StaticDriver(DriverBase):
Maintains the libvirt volumes in memory.
"""
@classmethod
def initialize(cls, config):
def initialize(cls, config, logger, *args, **kwargs):
cls._config = config
cls._logger = logger
cls._volumes = memoize.PersistentDict()
if hasattr(cls._volumes, 'make_permanent'):
cls._volumes.make_permanent(
config.get('SUSHY_EMULATOR_STATE_DIR'), 'volumes')
cls._config.get('SUSHY_EMULATOR_STATE_DIR'), 'volumes')
cls._volumes.update(
config.get('SUSHY_EMULATOR_VOLUMES', {}))
cls._config.get('SUSHY_EMULATOR_VOLUMES', {}))
return cls
@ -59,7 +55,7 @@ class StaticDriver(DriverBase):
except (KeyError, ValueError):
msg = ('Error finding volume collection by System UUID %s '
'and Storage ID %s' % (uu_identity, storage_id))
logger.debug(msg)
self._logger.debug(msg)
def add_volume(self, uu_identity, storage_id, vol):
if not self._volumes[(uu_identity, storage_id)]:
@ -75,7 +71,7 @@ class StaticDriver(DriverBase):
except KeyError:
msg = ('Error finding volume collection by System UUID %s '
'and Storage ID %s' % (uu_identity, storage_id))
logger.debug(msg)
self._logger.debug(msg)
else:
vol_col.remove(vol)
self._volumes.update({(uu_identity, storage_id): vol_col})

View File

@ -45,7 +45,8 @@ class StaticDriverTestCase(base.BaseTestCase):
self.mgr_uuid = self.uuid.replace('8', '2')
test_driver = StaticDriver.initialize(
{'SUSHY_EMULATOR_CHASSIS': self.chassis})
{'SUSHY_EMULATOR_CHASSIS': self.chassis},
mock.MagicMock())
self.test_driver = test_driver()

View File

@ -15,6 +15,7 @@
from sushy_tools.emulator.resources.drives.staticdriver import StaticDriver
from oslotest import base
from six.moves import mock
class StaticDriverTestCase(base.BaseTestCase):
@ -42,12 +43,14 @@ class StaticDriverTestCase(base.BaseTestCase):
}
def test_get_drives(self):
test_driver = StaticDriver.initialize(self.CONFIG)()
test_driver = StaticDriver.initialize(
self.CONFIG, mock.MagicMock())()
drv_col = test_driver.get_drives(self.SYSTEM_UUID, self.STORAGE_ID)
self.assertEqual(self.DRIVE_COL, drv_col)
def test_get_all_drives(self):
test_driver = StaticDriver.initialize(self.CONFIG)()
test_driver = StaticDriver.initialize(
self.CONFIG, mock.MagicMock())()
drives = test_driver.get_all_drives()
self.assertEqual({('da69abcc-dae0-4913-9a7b-d344043097c0', '1',
'32ADF365C6C1B7BD'),

View File

@ -33,23 +33,27 @@ class StaticDriverTestCase(base.BaseTestCase):
}
def test_indicators(self):
test_driver = StaticDriver.initialize(self.CONFIG)()
test_driver = StaticDriver.initialize(
self.CONFIG, mock.MagicMock())()
indicators = test_driver.indicators
self.assertEqual([self.UUID], indicators)
def test_get_indicator_state(self):
test_driver = StaticDriver.initialize(self.CONFIG)()
test_driver = StaticDriver.initialize(
self.CONFIG, mock.MagicMock())()
state = test_driver.get_indicator_state(self.UUID)
self.assertEqual('Off', state)
def test_set_indicator_state_ok(self):
test_driver = StaticDriver.initialize(self.CONFIG)()
test_driver = StaticDriver.initialize(
self.CONFIG, mock.MagicMock())()
test_driver.set_indicator_state(self.UUID, 'Lit')
state = test_driver.get_indicator_state(self.UUID)
self.assertEqual('Lit', state)
def test_set_indicator_state_fail(self):
test_driver = StaticDriver.initialize(self.CONFIG)()
test_driver = StaticDriver.initialize(
self.CONFIG, mock.MagicMock())()
self.assertRaises(
error.FishyError,

View File

@ -15,6 +15,7 @@
import uuid
from oslotest import base
from six.moves import mock
from sushy_tools.emulator.resources.managers.staticdriver import StaticDriver
from sushy_tools import error
@ -37,7 +38,9 @@ class StaticDriverTestCase(base.BaseTestCase):
self.name = self.managers[0]['Name']
test_driver = StaticDriver.initialize(
{'SUSHY_EMULATOR_MANAGERS': self.managers})
{'SUSHY_EMULATOR_MANAGERS': self.managers},
mock.MagicMock())
self.test_driver = test_driver()
super(StaticDriverTestCase, self).setUp()

View File

@ -15,6 +15,7 @@
from sushy_tools.emulator.resources.storage.staticdriver import StaticDriver
from oslotest import base
from six.moves import mock
class StaticDriverTestCase(base.BaseTestCase):
@ -40,11 +41,13 @@ class StaticDriverTestCase(base.BaseTestCase):
}
def test_get_storage_col(self):
test_driver = StaticDriver.initialize(self.CONFIG)()
test_driver = StaticDriver.initialize(
self.CONFIG, mock.MagicMock())()
stg_col = test_driver.get_storage_col(self.UUID)
self.assertEqual(self.STORAGE_COL, stg_col)
def test_get_all_storage(self):
test_driver = StaticDriver.initialize(self.CONFIG)()
test_driver = StaticDriver.initialize(
self.CONFIG, mock.MagicMock())()
stg = test_driver.get_all_storage()
self.assertEqual([(self.UUID, '1')], stg)

View File

@ -26,7 +26,8 @@ class LibvirtDriverTestCase(base.BaseTestCase):
uuid = 'c7a5fdbd-cdaf-9455-926a-d65c16db1809'
def setUp(self):
test_driver_class = LibvirtDriver.initialize({})
test_driver_class = LibvirtDriver.initialize(
{}, mock.MagicMock())
self.test_driver = test_driver_class()
super(LibvirtDriverTestCase, self).setUp()

View File

@ -31,7 +31,8 @@ class NovaDriverTestCase(base.BaseTestCase):
self.nova_patcher = mock.patch('openstack.connect', autospec=True)
self.nova_mock = self.nova_patcher.start()
test_driver_class = OpenStackDriver.initialize({}, 'fake-cloud')
test_driver_class = OpenStackDriver.initialize(
{}, mock.MagicMock(), 'fake-cloud')
self.test_driver = test_driver_class()
super(NovaDriverTestCase, self).setUp()

View File

@ -43,27 +43,31 @@ class StaticDriverTestCase(base.BaseTestCase):
}
def test_devices(self):
test_driver = StaticDriver.initialize(self.CONFIG)()
test_driver = StaticDriver.initialize(
self.CONFIG, mock.MagicMock())()
devices = test_driver.devices
self.assertEqual(['Cd', 'Floppy'], sorted(devices))
def test_get_device_name(self):
test_driver = StaticDriver.initialize(self.CONFIG)()
test_driver = StaticDriver.initialize(
self.CONFIG, mock.MagicMock())()
device_name = test_driver.get_device_name(
self.UUID, 'Cd')
self.assertEqual('Virtual CD', device_name)
def test_get_device_media_types(self):
test_driver = StaticDriver.initialize(self.CONFIG)()
test_driver = StaticDriver.initialize(
self.CONFIG, mock.MagicMock())()
media_types = test_driver.get_device_media_types(
self.UUID, 'Cd')
self.assertEqual(['CD', 'DVD'], media_types)
def test_get_device_image_info(self):
test_driver = StaticDriver.initialize(self.CONFIG)()
test_driver = StaticDriver.initialize(
self.CONFIG, mock.MagicMock())()
dev_info = test_driver.get_device_image_info(
self.UUID, 'Cd')
@ -83,7 +87,8 @@ class StaticDriverTestCase(base.BaseTestCase):
'.staticdriver.requests', autospec=True)
def test_insert_image(self, mock_requests, mock_tempfile, mock_rename,
mock_open, mock_get_device):
test_driver = StaticDriver.initialize(self.CONFIG)()
test_driver = StaticDriver.initialize(
self.CONFIG, mock.MagicMock())()
device_info = {}
mock_get_device.return_value = device_info
@ -119,7 +124,8 @@ class StaticDriverTestCase(base.BaseTestCase):
@mock.patch('sushy_tools.emulator.resources.vmedia'
'.staticdriver.os.unlink', autospec=True)
def test_eject_image(self, mock_unlink, mock_get_device):
test_driver = StaticDriver.initialize(self.CONFIG)()
test_driver = StaticDriver.initialize(
self.CONFIG, mock.MagicMock())()
device_info = {
'_local_file': '/tmp/fish.iso'

View File

@ -50,13 +50,15 @@ class StaticDriverTestCase(base.BaseTestCase):
}
def test_get_volumes_col(self):
test_driver = StaticDriver.initialize(self.CONFIG)()
test_driver = StaticDriver.initialize(
self.CONFIG, mock.MagicMock())()
vol_col = test_driver.get_volumes_col(self.SYSTEM_UUID,
self.STORAGE_ID)
self.assertEqual(self.VOLUMES_COL, vol_col)
def test_add_volume(self):
test_driver = StaticDriver.initialize(self.CONFIG)()
test_driver = StaticDriver.initialize(
self.CONFIG, mock.MagicMock())()
vol = {
"libvirtPoolName": "sushyPool",
"libvirtVolName": "testVol2",
@ -71,7 +73,8 @@ class StaticDriverTestCase(base.BaseTestCase):
self.assertTrue(vol in vol_col)
def test_delete_volume(self):
test_driver = StaticDriver.initialize(self.CONFIG)()
test_driver = StaticDriver.initialize(
self.CONFIG, mock.MagicMock())()
vol = {
"libvirtPoolName": "sushyPool",
"libvirtVolName": "testVol",