Centralize instance directory logic.
This is the first step to being able to change the name of the instance directories to something more unique than instance name. Sneaks up on bug 1023865. Change-Id: I1340a6b8644680325cba1e90a208e4be33ace6b4
This commit is contained in:
@@ -28,7 +28,7 @@ class Backend(object):
|
||||
def image(self, instance, name, image_type=''):
|
||||
class FakeImage(imagebackend.Image):
|
||||
def __init__(self, instance, name):
|
||||
self.path = os.path.join(instance, name)
|
||||
self.path = os.path.join(instance['name'], name)
|
||||
|
||||
def create_image(self, prepare_template, base,
|
||||
size, *args, **kwargs):
|
||||
|
@@ -17,6 +17,12 @@
|
||||
import os
|
||||
import StringIO
|
||||
|
||||
from nova.openstack.common import cfg
|
||||
|
||||
|
||||
CONF = cfg.CONF
|
||||
CONF.import_opt('instances_path', 'nova.compute.manager')
|
||||
|
||||
|
||||
files = {'console.log': True}
|
||||
disk_sizes = {}
|
||||
@@ -133,3 +139,8 @@ def get_fs_info(path):
|
||||
|
||||
def fetch_image(context, target, image_id, user_id, project_id):
|
||||
pass
|
||||
|
||||
|
||||
def get_instance_path(instance):
|
||||
# TODO(mikal): we should really just call the real one here
|
||||
return os.path.join(CONF.instances_path, instance['name'])
|
||||
|
@@ -22,6 +22,7 @@ from nova.openstack.common import cfg
|
||||
from nova import test
|
||||
from nova.tests import fake_libvirt_utils
|
||||
from nova.virt.libvirt import imagebackend
|
||||
from nova.virt.libvirt import utils as libvirt_utils
|
||||
|
||||
CONF = cfg.CONF
|
||||
|
||||
@@ -38,12 +39,12 @@ class _ImageTestCase(object):
|
||||
super(_ImageTestCase, self).setUp()
|
||||
self.flags(disable_process_locking=True,
|
||||
instances_path=self.INSTANCES_PATH)
|
||||
self.INSTANCE = 'instance'
|
||||
self.INSTANCE = {'name': 'instance'}
|
||||
self.NAME = 'fake.vm'
|
||||
self.TEMPLATE = 'template'
|
||||
|
||||
self.PATH = os.path.join(CONF.instances_path, self.INSTANCE,
|
||||
self.NAME)
|
||||
self.PATH = os.path.join(
|
||||
libvirt_utils.get_instance_path(self.INSTANCE), self.NAME)
|
||||
self.TEMPLATE_DIR = os.path.join(CONF.instances_path,
|
||||
'_base')
|
||||
self.TEMPLATE_PATH = os.path.join(self.TEMPLATE_DIR, 'template')
|
||||
@@ -215,7 +216,7 @@ class LvmTestCase(_ImageTestCase, test.TestCase):
|
||||
self.image_class = imagebackend.Lvm
|
||||
super(LvmTestCase, self).setUp()
|
||||
self.flags(libvirt_images_volume_group=self.VG)
|
||||
self.LV = '%s_%s' % (self.INSTANCE, self.NAME)
|
||||
self.LV = '%s_%s' % (self.INSTANCE['name'], self.NAME)
|
||||
self.PATH = os.path.join('/dev', self.VG, self.LV)
|
||||
|
||||
self.disk = imagebackend.disk
|
||||
@@ -342,7 +343,7 @@ class LvmTestCase(_ImageTestCase, test.TestCase):
|
||||
|
||||
|
||||
class BackendTestCase(test.TestCase):
|
||||
INSTANCE = 'fake-instance'
|
||||
INSTANCE = {'name': 'fake-instance'}
|
||||
NAME = 'fake-name.suffix'
|
||||
|
||||
def get_image(self, use_cow, image_type):
|
||||
|
@@ -478,7 +478,8 @@ class CacheConcurrencyTestCase(test.TestCase):
|
||||
wait1 = eventlet.event.Event()
|
||||
done1 = eventlet.event.Event()
|
||||
sig1 = eventlet.event.Event()
|
||||
thr1 = eventlet.spawn(backend.image('instance', 'name').cache,
|
||||
thr1 = eventlet.spawn(backend.image({'name': 'instance'},
|
||||
'name').cache,
|
||||
_concurrency, 'fname', None,
|
||||
signal=sig1, wait=wait1, done=done1)
|
||||
eventlet.sleep(0)
|
||||
@@ -488,7 +489,8 @@ class CacheConcurrencyTestCase(test.TestCase):
|
||||
wait2 = eventlet.event.Event()
|
||||
done2 = eventlet.event.Event()
|
||||
sig2 = eventlet.event.Event()
|
||||
thr2 = eventlet.spawn(backend.image('instance', 'name').cache,
|
||||
thr2 = eventlet.spawn(backend.image({'name': 'instance'},
|
||||
'name').cache,
|
||||
_concurrency, 'fname', None,
|
||||
signal=sig2, wait=wait2, done=done2)
|
||||
|
||||
@@ -512,7 +514,8 @@ class CacheConcurrencyTestCase(test.TestCase):
|
||||
wait1 = eventlet.event.Event()
|
||||
done1 = eventlet.event.Event()
|
||||
sig1 = eventlet.event.Event()
|
||||
thr1 = eventlet.spawn(backend.image('instance', 'name').cache,
|
||||
thr1 = eventlet.spawn(backend.image({'name': 'instance'},
|
||||
'name').cache,
|
||||
_concurrency, 'fname2', None,
|
||||
signal=sig1, wait=wait1, done=done1)
|
||||
eventlet.sleep(0)
|
||||
@@ -522,7 +525,8 @@ class CacheConcurrencyTestCase(test.TestCase):
|
||||
wait2 = eventlet.event.Event()
|
||||
done2 = eventlet.event.Event()
|
||||
sig2 = eventlet.event.Event()
|
||||
thr2 = eventlet.spawn(backend.image('instance', 'name').cache,
|
||||
thr2 = eventlet.spawn(backend.image({'name': 'instance'},
|
||||
'name').cache,
|
||||
_concurrency, 'fname1', None,
|
||||
signal=sig2, wait=wait2, done=done2)
|
||||
eventlet.sleep(0)
|
||||
@@ -4447,7 +4451,7 @@ class LibvirtDriverTestCase(test.TestCase):
|
||||
block_device_info=None):
|
||||
pass
|
||||
|
||||
def fake_create_domain(xml, inst_name=''):
|
||||
def fake_create_domain(xml, instance=None):
|
||||
return None
|
||||
|
||||
def fake_enable_hairpin(instance):
|
||||
@@ -4493,7 +4497,7 @@ class LibvirtDriverTestCase(test.TestCase):
|
||||
def fake_plug_vifs(instance, network_info):
|
||||
pass
|
||||
|
||||
def fake_create_domain(xml, inst_name=''):
|
||||
def fake_create_domain(xml, instance=None):
|
||||
return None
|
||||
|
||||
def fake_enable_hairpin(instance):
|
||||
|
Reference in New Issue
Block a user