Merge "rbd: Move rbd_utils out of libvirt driver under nova.storage"
This commit is contained in:
commit
8337ad2958
|
@ -34,13 +34,14 @@ from oslo_utils import excutils
|
|||
import nova.conf
|
||||
from nova import exception
|
||||
from nova.i18n import _
|
||||
from nova.virt.libvirt import utils as libvirt_utils
|
||||
|
||||
|
||||
CONF = nova.conf.CONF
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
RESIZE_SNAPSHOT_NAME = 'nova-resize'
|
||||
|
||||
|
||||
class RbdProxy(object):
|
||||
"""A wrapper around rbd.RBD class instance to avoid blocking of process.
|
||||
|
@ -342,7 +343,7 @@ class RBDDriver(object):
|
|||
RbdProxy().remove(ioctx, volume)
|
||||
raise loopingcall.LoopingCallDone(retvalue=False)
|
||||
except rbd.ImageHasSnapshots:
|
||||
self.remove_snap(volume, libvirt_utils.RESIZE_SNAPSHOT_NAME,
|
||||
self.remove_snap(volume, RESIZE_SNAPSHOT_NAME,
|
||||
ignore_errors=True)
|
||||
except (rbd.ImageBusy, rbd.ImageHasSnapshots):
|
||||
LOG.warning('rbd remove %(volume)s in pool %(pool)s failed',
|
|
@ -220,7 +220,7 @@ class _RbdTest(object):
|
|||
|
||||
# We never want to actually touch rbd
|
||||
self.mock_rbd_driver = self.useFixture(fixtures.MockPatch(
|
||||
'nova.virt.libvirt.storage.rbd_utils.RBDDriver')).mock.return_value
|
||||
'nova.storage.rbd_utils.RBDDriver')).mock.return_value
|
||||
self.mock_rbd_driver.get_mon_addrs.return_value = ([], [])
|
||||
self.mock_rbd_driver.size.return_value = 10 * units.Gi
|
||||
self.mock_rbd_driver.rbd_user = 'rbd'
|
||||
|
|
|
@ -19,9 +19,8 @@ from oslo_utils.fixture import uuidsentinel as uuids
|
|||
from nova.compute import task_states
|
||||
from nova import exception
|
||||
from nova import objects
|
||||
from nova.storage import rbd_utils
|
||||
from nova import test
|
||||
from nova.virt.libvirt.storage import rbd_utils
|
||||
from nova.virt.libvirt import utils as libvirt_utils
|
||||
|
||||
|
||||
CEPH_MON_DUMP = r"""dumped monmap epoch 1
|
||||
|
@ -466,7 +465,7 @@ class RbdTestCase(test.NoDBTestCase):
|
|||
proxy = mock_proxy.return_value
|
||||
proxy.__enter__.return_value = proxy
|
||||
proxy.list_snaps.return_value = [
|
||||
{'name': libvirt_utils.RESIZE_SNAPSHOT_NAME}]
|
||||
{'name': rbd_utils.RESIZE_SNAPSHOT_NAME}]
|
||||
client = mock_client.return_value
|
||||
self.driver.cleanup_volumes(filter_fn)
|
||||
|
||||
|
@ -474,7 +473,7 @@ class RbdTestCase(test.NoDBTestCase):
|
|||
'%s_test' % uuids.instance)
|
||||
rbd.remove.assert_has_calls([remove_call, remove_call])
|
||||
proxy.remove_snap.assert_called_once_with(
|
||||
libvirt_utils.RESIZE_SNAPSHOT_NAME)
|
||||
rbd_utils.RESIZE_SNAPSHOT_NAME)
|
||||
client.__enter__.assert_called_once_with()
|
||||
client.__exit__.assert_called_once_with(None, None, None)
|
||||
|
|
@ -84,6 +84,7 @@ from nova.pci import manager as pci_manager
|
|||
from nova.pci import utils as pci_utils
|
||||
import nova.privsep.fs
|
||||
import nova.privsep.libvirt
|
||||
from nova.storage import rbd_utils
|
||||
from nova import test
|
||||
from nova.tests import fixtures as nova_fixtures
|
||||
from nova.tests.unit import fake_block_device
|
||||
|
@ -118,7 +119,6 @@ from nova.virt.libvirt import imagecache
|
|||
from nova.virt.libvirt import migration as libvirt_migrate
|
||||
from nova.virt.libvirt.storage import dmcrypt
|
||||
from nova.virt.libvirt.storage import lvm
|
||||
from nova.virt.libvirt.storage import rbd_utils
|
||||
from nova.virt.libvirt import utils as libvirt_utils
|
||||
from nova.virt.libvirt import vif as libvirt_vif
|
||||
from nova.virt.libvirt.volume import fs as fs_drivers
|
||||
|
@ -23148,7 +23148,7 @@ class LibvirtDriverTestCase(test.NoDBTestCase, TraitsComparisonMixin):
|
|||
self.assertFalse(mock_inject.called)
|
||||
|
||||
@mock.patch('nova.virt.libvirt.utils.fetch_image')
|
||||
@mock.patch('nova.virt.libvirt.storage.rbd_utils.RBDDriver')
|
||||
@mock.patch('nova.storage.rbd_utils.RBDDriver')
|
||||
@mock.patch.object(imagebackend, 'IMAGE_API')
|
||||
def test_create_fetch_image_ceph_workaround(self, mock_image, mock_rbd,
|
||||
mock_fetch):
|
||||
|
|
|
@ -35,6 +35,7 @@ import nova.conf
|
|||
from nova import context
|
||||
from nova import exception
|
||||
from nova import objects
|
||||
from nova.storage import rbd_utils
|
||||
from nova import test
|
||||
from nova.tests.unit import fake_processutils
|
||||
from nova import utils
|
||||
|
@ -42,7 +43,6 @@ from nova.virt.image import model as imgmodel
|
|||
from nova.virt import images
|
||||
from nova.virt.libvirt import config as vconfig
|
||||
from nova.virt.libvirt import imagebackend
|
||||
from nova.virt.libvirt.storage import rbd_utils
|
||||
from nova.virt.libvirt import utils as libvirt_utils
|
||||
|
||||
CONF = nova.conf.CONF
|
||||
|
@ -1894,7 +1894,7 @@ class RbdTestCase(_ImageTestCase, test.NoDBTestCase):
|
|||
mock_imgapi.copy_image_to_store.assert_called_once_with(
|
||||
self.CONTEXT, 'foo', 'store')
|
||||
|
||||
@mock.patch('nova.virt.libvirt.storage.rbd_utils.RBDDriver')
|
||||
@mock.patch('nova.storage.rbd_utils.RBDDriver')
|
||||
@mock.patch('nova.virt.libvirt.imagebackend.IMAGE_API')
|
||||
def test_clone_copy_to_store(self, mock_imgapi, mock_driver_):
|
||||
# Call image.clone() in a way that will cause it to fall through
|
||||
|
@ -1921,7 +1921,7 @@ class RbdTestCase(_ImageTestCase, test.NoDBTestCase):
|
|||
# recursed after the copy-to-store operation
|
||||
mock.call('fake', fake_image)])
|
||||
|
||||
@mock.patch('nova.virt.libvirt.storage.rbd_utils.RBDDriver')
|
||||
@mock.patch('nova.storage.rbd_utils.RBDDriver')
|
||||
@mock.patch('nova.virt.libvirt.imagebackend.IMAGE_API')
|
||||
def test_clone_copy_to_store_failed(self, mock_imgapi, mock_driver_):
|
||||
# Call image.clone() in a way that will cause it to fall through
|
||||
|
@ -1950,7 +1950,7 @@ class RbdTestCase(_ImageTestCase, test.NoDBTestCase):
|
|||
# recursed after the copy-to-store operation
|
||||
mock.call('fake', fake_image)])
|
||||
|
||||
@mock.patch('nova.virt.libvirt.storage.rbd_utils.RBDDriver')
|
||||
@mock.patch('nova.storage.rbd_utils.RBDDriver')
|
||||
@mock.patch('nova.virt.libvirt.imagebackend.IMAGE_API')
|
||||
def test_clone_without_needed_copy(self, mock_imgapi, mock_driver_):
|
||||
# Call image.clone() in a way that will cause it to pass the locations
|
||||
|
@ -1971,7 +1971,7 @@ class RbdTestCase(_ImageTestCase, test.NoDBTestCase):
|
|||
mock_copy.assert_not_called()
|
||||
mock_driver.is_cloneable.assert_called_once_with('fake', fake_image)
|
||||
|
||||
@mock.patch('nova.virt.libvirt.storage.rbd_utils.RBDDriver')
|
||||
@mock.patch('nova.storage.rbd_utils.RBDDriver')
|
||||
@mock.patch('nova.virt.libvirt.imagebackend.IMAGE_API')
|
||||
def test_clone_copy_not_configured(self, mock_imgapi, mock_driver_):
|
||||
# Call image.clone() in a way that will cause it to fail the locations
|
||||
|
|
|
@ -100,6 +100,7 @@ from nova.pci import utils as pci_utils
|
|||
import nova.privsep.libvirt
|
||||
import nova.privsep.path
|
||||
import nova.privsep.utils
|
||||
from nova.storage import rbd_utils
|
||||
from nova import utils
|
||||
from nova import version
|
||||
from nova.virt import arch
|
||||
|
@ -122,7 +123,6 @@ from nova.virt.libvirt import instancejobtracker
|
|||
from nova.virt.libvirt import migration as libvirt_migrate
|
||||
from nova.virt.libvirt.storage import dmcrypt
|
||||
from nova.virt.libvirt.storage import lvm
|
||||
from nova.virt.libvirt.storage import rbd_utils
|
||||
from nova.virt.libvirt import utils as libvirt_utils
|
||||
from nova.virt.libvirt import vif as libvirt_vif
|
||||
from nova.virt.libvirt.volume import fs
|
||||
|
|
|
@ -38,6 +38,7 @@ from nova.i18n import _
|
|||
from nova.image import glance
|
||||
import nova.privsep.libvirt
|
||||
import nova.privsep.path
|
||||
from nova.storage import rbd_utils
|
||||
from nova import utils
|
||||
from nova.virt.disk import api as disk
|
||||
from nova.virt.image import model as imgmodel
|
||||
|
@ -45,7 +46,6 @@ from nova.virt import images
|
|||
from nova.virt.libvirt import config as vconfig
|
||||
from nova.virt.libvirt.storage import dmcrypt
|
||||
from nova.virt.libvirt.storage import lvm
|
||||
from nova.virt.libvirt.storage import rbd_utils
|
||||
from nova.virt.libvirt import utils as libvirt_utils
|
||||
|
||||
CONF = nova.conf.CONF
|
||||
|
|
Loading…
Reference in New Issue