Move driver_dict_from_config to libvirt driver

The driver_dict_from_config helper method is only used by the
libvirt driver and is very specific to how the libvirt driver
parses the libvirt_volume_drivers list of values, so this change
moves it to the libvirt driver so that we can expand it in a
following change to add specific error handling for the libvirt
driver.

Change-Id: I2b41d9e4e72b120f70371fff1201600acaa53708
This commit is contained in:
Matt Riedemann
2016-11-08 09:59:00 -05:00
parent 61b50feade
commit 03d8e51172
4 changed files with 53 additions and 53 deletions

View File

@@ -18370,3 +18370,44 @@ class LVMSnapshotTests(_BaseSnapshotTests):
def test_qcow2(self):
self.flags(snapshot_image_format='qcow2', group='libvirt')
self._test_lvm_snapshot('qcow2')
class FakeDriver(object):
def __init__(self, *args, **kwargs):
self.args = args
self.kwargs = kwargs
class FakeDriver2(FakeDriver):
pass
class ToDriverRegistryTestCase(test.NoDBTestCase):
def assertDriverInstance(self, inst, class_, *args, **kwargs):
self.assertEqual(class_, inst.__class__)
self.assertEqual(args, inst.args)
self.assertEqual(kwargs, inst.kwargs)
def test_driver_dict_from_config(self):
drvs = libvirt_driver.driver_dict_from_config(
[
'key1=nova.tests.unit.virt.libvirt.test_driver.FakeDriver',
'key2=nova.tests.unit.virt.libvirt.test_driver.FakeDriver2',
], 'arg1', 'arg2', param1='value1', param2='value2'
)
self.assertEqual(
sorted(['key1', 'key2']),
sorted(drvs.keys())
)
self.assertDriverInstance(
drvs['key1'],
FakeDriver, 'arg1', 'arg2', param1='value1',
param2='value2')
self.assertDriverInstance(
drvs['key2'],
FakeDriver2, 'arg1', 'arg2', param1='value1',
param2='value2')

View File

@@ -19,47 +19,6 @@ from nova import test
from nova.virt import driver
class FakeDriver(object):
def __init__(self, *args, **kwargs):
self.args = args
self.kwargs = kwargs
class FakeDriver2(FakeDriver):
pass
class ToDriverRegistryTestCase(test.NoDBTestCase):
def assertDriverInstance(self, inst, class_, *args, **kwargs):
self.assertEqual(class_, inst.__class__)
self.assertEqual(args, inst.args)
self.assertEqual(kwargs, inst.kwargs)
def test_driver_dict_from_config(self):
drvs = driver.driver_dict_from_config(
[
'key1=nova.tests.unit.virt.test_driver.FakeDriver',
'key2=nova.tests.unit.virt.test_driver.FakeDriver2',
], 'arg1', 'arg2', param1='value1', param2='value2'
)
self.assertEqual(
sorted(['key1', 'key2']),
sorted(drvs.keys())
)
self.assertDriverInstance(
drvs['key1'],
FakeDriver, 'arg1', 'arg2', param1='value1',
param2='value2')
self.assertDriverInstance(
drvs['key2'],
FakeDriver2, 'arg1', 'arg2', param1='value1',
param2='value2')
class DriverMethodTestCase(test.NoDBTestCase):
def setUp(self):