Split out LXDContainerDirectories
Split out LXDContianerDirectories and LXDContainerUtils Signed-off-by: Chuck Short <chuck.short@canonical.com>
This commit is contained in:
parent
b563eba14a
commit
662b2d8a62
|
@ -33,6 +33,7 @@ import six
|
|||
from nova_lxd.nova.virt.lxd import container_client
|
||||
from nova_lxd.nova.virt.lxd import container_image
|
||||
from nova_lxd.nova.virt.lxd import container_utils
|
||||
from nova_lxd.nova.virt.lxd import utils as container_dir
|
||||
from nova_lxd.nova.virt.lxd import vif
|
||||
|
||||
_ = i18n._
|
||||
|
@ -47,7 +48,7 @@ LOG = logging.getLogger(__name__)
|
|||
class LXDContainerConfig(object):
|
||||
|
||||
def __init__(self):
|
||||
self.container_dir = container_utils.LXDContainerDirectories()
|
||||
self.container_dir = container_dir.LXDContainerDirectories()
|
||||
self.container_client = container_client.LXDContainerClient()
|
||||
self.container_image = container_image.LXDContainerImage()
|
||||
self.container_utils = container_utils.LXDContainerUtils()
|
||||
|
|
|
@ -31,7 +31,7 @@ from oslo_log import log as logging
|
|||
from oslo_utils import excutils
|
||||
from oslo_utils import fileutils
|
||||
|
||||
from nova_lxd.nova.virt.lxd import container_utils
|
||||
from nova_lxd.nova.virt.lxd import utils as container_dir
|
||||
|
||||
_ = i18n._
|
||||
_LE = i18n._LE
|
||||
|
@ -45,7 +45,7 @@ class LXDContainerImage(object):
|
|||
|
||||
def __init__(self):
|
||||
self.connection = api.API()
|
||||
self.container_dir = container_utils.LXDContainerDirectories()
|
||||
self.container_dir = container_dir.LXDContainerDirectories()
|
||||
self.lock_path = str(os.path.join(CONF.instances_path, 'locks'))
|
||||
|
||||
def setup_image(self, context, instance, image_meta):
|
||||
|
|
|
@ -35,6 +35,7 @@ from nova_lxd.nova.virt.lxd import container_config
|
|||
from nova_lxd.nova.virt.lxd import container_firewall
|
||||
from nova_lxd.nova.virt.lxd import container_image
|
||||
from nova_lxd.nova.virt.lxd import container_utils
|
||||
from nova_lxd.nova.virt.lxd import utils as container_dir
|
||||
from nova_lxd.nova.virt.lxd import vif
|
||||
|
||||
_ = i18n._
|
||||
|
@ -57,7 +58,7 @@ class LXDContainerOperations(object):
|
|||
|
||||
self.container_config = container_config.LXDContainerConfig()
|
||||
self.container_client = container_client.LXDContainerClient()
|
||||
self.container_dir = container_utils.LXDContainerDirectories()
|
||||
self.container_dir = container_dir.LXDContainerDirectories()
|
||||
self.container_utils = container_utils.LXDContainerUtils()
|
||||
self.container_image = container_image.LXDContainerImage()
|
||||
self.firewall_driver = container_firewall.LXDContainerFirewall()
|
||||
|
|
|
@ -17,7 +17,6 @@
|
|||
from nova import exception
|
||||
from nova import i18n
|
||||
from nova import utils
|
||||
import os
|
||||
|
||||
import container_client
|
||||
from oslo_concurrency import processutils
|
||||
|
@ -266,77 +265,3 @@ class LXDContainerUtils(object):
|
|||
except processutils.ProcessExecutionError as e:
|
||||
err = six.text_type(e)
|
||||
return err
|
||||
|
||||
|
||||
class LXDContainerDirectories(object):
|
||||
|
||||
def __init__(self):
|
||||
self.base_dir = os.path.join(CONF.instances_path,
|
||||
CONF.image_cache_subdirectory_name)
|
||||
|
||||
def get_base_dir(self):
|
||||
return self.base_dir
|
||||
|
||||
def get_instance_dir(self, instance):
|
||||
return os.path.join(CONF.instances_path,
|
||||
instance)
|
||||
|
||||
def get_container_rootfs_image(self, image_meta):
|
||||
return os.path.join(self.base_dir,
|
||||
'%s-rootfs.tar.gz' % image_meta.get('id'))
|
||||
|
||||
def get_container_manifest_image(self, image_meta):
|
||||
return os.path.join(self.base_dir,
|
||||
'%s-manifest.tar' % image_meta.get('id'))
|
||||
|
||||
def get_container_metadata(self, image_meta):
|
||||
return os.path.join(self.base_dir,
|
||||
'%s-lxd.tar.xz' % image_meta.get('id'))
|
||||
|
||||
def get_container_rootfsImg(self, image_meta):
|
||||
return os.path.join(self.base_dir,
|
||||
'%s-root.tar.gz' % image_meta.get('id'))
|
||||
|
||||
def get_container_configdrive(self, instance):
|
||||
return os.path.join(CONF.instances_path,
|
||||
instance,
|
||||
'config-drive')
|
||||
|
||||
def get_console_path(self, instance):
|
||||
return os.path.join(CONF.lxd.root_dir,
|
||||
'containers',
|
||||
instance,
|
||||
'console.log')
|
||||
|
||||
def get_container_dir(self, instance):
|
||||
return os.path.join(CONF.lxd.root_dir,
|
||||
'containers')
|
||||
|
||||
def get_container_rootfs(self, instance):
|
||||
return os.path.join(CONF.lxd.root_dir,
|
||||
'containers',
|
||||
instance,
|
||||
'rootfs')
|
||||
|
||||
def get_container_rescue(self, instance):
|
||||
if self.is_lvm(instance):
|
||||
return os.path.join(CONF.lxd.root_dir,
|
||||
'containers',
|
||||
instance)
|
||||
else:
|
||||
return os.path.join(CONF.lxd.root_dir,
|
||||
'containers',
|
||||
instance,
|
||||
'rootfs')
|
||||
|
||||
def get_container_lvm(self, instance):
|
||||
return '%s/%s.lv' % (self.get_container_dir(instance),
|
||||
instance)
|
||||
|
||||
def is_lvm(self, instance):
|
||||
try:
|
||||
if os.path.exists(os.readlink(
|
||||
self.get_container_lvm(instance))):
|
||||
return True
|
||||
except Exception:
|
||||
return False
|
||||
|
|
|
@ -0,0 +1,94 @@
|
|||
# Copyright 2015 Canonical Ltd
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
# not use this file except in compliance with the License. You may obtain
|
||||
# a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# 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 os
|
||||
|
||||
from oslo_config import cfg
|
||||
|
||||
CONF = cfg.CONF
|
||||
|
||||
|
||||
class LXDContainerDirectories(object):
|
||||
|
||||
def __init__(self):
|
||||
self.base_dir = os.path.join(CONF.instances_path,
|
||||
CONF.image_cache_subdirectory_name)
|
||||
|
||||
def get_base_dir(self):
|
||||
return self.base_dir
|
||||
|
||||
def get_instance_dir(self, instance):
|
||||
return os.path.join(CONF.instances_path,
|
||||
instance)
|
||||
|
||||
def get_container_rootfs_image(self, image_meta):
|
||||
return os.path.join(self.base_dir,
|
||||
'%s-rootfs.tar.gz' % image_meta.get('id'))
|
||||
|
||||
def get_container_manifest_image(self, image_meta):
|
||||
return os.path.join(self.base_dir,
|
||||
'%s-manifest.tar' % image_meta.get('id'))
|
||||
|
||||
def get_container_metadata(self, image_meta):
|
||||
return os.path.join(self.base_dir,
|
||||
'%s-lxd.tar.xz' % image_meta.get('id'))
|
||||
|
||||
def get_container_rootfsImg(self, image_meta):
|
||||
return os.path.join(self.base_dir,
|
||||
'%s-root.tar.gz' % image_meta.get('id'))
|
||||
|
||||
def get_container_configdrive(self, instance):
|
||||
return os.path.join(CONF.instances_path,
|
||||
instance,
|
||||
'config-drive')
|
||||
|
||||
def get_console_path(self, instance):
|
||||
return os.path.join(CONF.lxd.root_dir,
|
||||
'containers',
|
||||
instance,
|
||||
'console.log')
|
||||
|
||||
def get_container_dir(self, instance):
|
||||
return os.path.join(CONF.lxd.root_dir,
|
||||
'containers')
|
||||
|
||||
def get_container_rootfs(self, instance):
|
||||
return os.path.join(CONF.lxd.root_dir,
|
||||
'containers',
|
||||
instance,
|
||||
'rootfs')
|
||||
|
||||
def get_container_rescue(self, instance):
|
||||
if self.is_lvm(instance):
|
||||
return os.path.join(CONF.lxd.root_dir,
|
||||
'containers',
|
||||
instance)
|
||||
else:
|
||||
return os.path.join(CONF.lxd.root_dir,
|
||||
'containers',
|
||||
instance,
|
||||
'rootfs')
|
||||
|
||||
def get_container_lvm(self, instance):
|
||||
return '%s/%s.lv' % (self.get_container_dir(instance),
|
||||
instance)
|
||||
|
||||
def is_lvm(self, instance):
|
||||
try:
|
||||
if os.path.exists(os.readlink(
|
||||
self.get_container_lvm(instance))):
|
||||
return True
|
||||
except Exception:
|
||||
return False
|
|
@ -20,13 +20,13 @@ from nova import exception
|
|||
from nova import test
|
||||
|
||||
from nova_lxd.nova.virt.lxd import container_config
|
||||
from nova_lxd.nova.virt.lxd import container_utils
|
||||
from nova_lxd.nova.virt.lxd import utils as container_dir
|
||||
from nova_lxd.tests import stubs
|
||||
|
||||
|
||||
@ddt.ddt
|
||||
@mock.patch.object(container_config, 'CONF', stubs.MockConf())
|
||||
@mock.patch.object(container_utils, 'CONF', stubs.MockConf())
|
||||
@mock.patch.object(container_dir, 'CONF', stubs.MockConf())
|
||||
class LXDTestContainerConfig(test.NoDBTestCase):
|
||||
|
||||
def setUp(self):
|
||||
|
|
|
@ -39,6 +39,7 @@ from nova_lxd.nova.virt.lxd import container_snapshot
|
|||
from nova_lxd.nova.virt.lxd import container_utils
|
||||
from nova_lxd.nova.virt.lxd import driver
|
||||
from nova_lxd.nova.virt.lxd import host
|
||||
from nova_lxd.nova.virt.lxd import utils as container_dir
|
||||
from nova_lxd.tests import stubs
|
||||
|
||||
|
||||
|
@ -54,7 +55,7 @@ class LXDTestConfig(test.NoDBTestCase):
|
|||
|
||||
@ddt.ddt
|
||||
@mock.patch.object(container_ops, 'CONF', stubs.MockConf())
|
||||
@mock.patch.object(container_utils, 'CONF', stubs.MockConf())
|
||||
@mock.patch.object(container_dir, 'CONF', stubs.MockConf())
|
||||
@mock.patch.object(driver, 'CONF', stubs.MockConf())
|
||||
@mock.patch.object(host, 'CONF', stubs.MockConf())
|
||||
class LXDTestDriver(test.NoDBTestCase):
|
||||
|
|
Loading…
Reference in New Issue