summaryrefslogtreecommitdiffstats
path: root/nova/virt
diff options
context:
space:
mode:
authorDevananda van der Veen <devananda.vdv@gmail.com>2012-12-21 11:09:48 -0800
committerDevananda van der Veen <devananda.vdv@gmail.com>2012-12-28 14:53:55 -0800
commit9ac65bde3a3d39389e356dbb79be1404c81cbd2e (patch)
treee5f20fe46d1ae833ac5ed2c558cfe4598849de2c /nova/virt
parent32eb83be79ff19e06b5057dce32052b98368ce40 (diff)
Move baremetal options to [BAREMETAL] OptGroup
Move all the baremetal options into a new [BAREMETAL] OptGroup, except for 'baremetal_db_backend', which breaks LazyPluggable if moved. blueprint general-bare-metal-provisioning-framework Change-Id: I06f53dcf10b9bbd3fd7cc0725cc6076af3d74d19
Diffstat (limited to 'nova/virt')
-rw-r--r--nova/virt/baremetal/db/api.py7
-rw-r--r--nova/virt/baremetal/db/sqlalchemy/session.py11
-rw-r--r--nova/virt/baremetal/driver.py30
-rw-r--r--nova/virt/baremetal/volume_driver.py16
4 files changed, 40 insertions, 24 deletions
diff --git a/nova/virt/baremetal/db/api.py b/nova/virt/baremetal/db/api.py
index 0b8cf781c..3ff533c6c 100644
--- a/nova/virt/baremetal/db/api.py
+++ b/nova/virt/baremetal/db/api.py
@@ -37,8 +37,8 @@ these objects be simple dictionaries.
:baremetal_db_backend: string to lookup in the list of LazyPluggable backends.
`sqlalchemy` is the only supported backend right now.
-:baremetal_sql_connection: string specifying the sqlalchemy connection to use,
- like: `sqlite:///var/lib/nova/nova.sqlite`.
+:[BAREMETAL] sql_connection: string specifying the sqlalchemy connection to
+ use, like: `sqlite:///var/lib/nova/nova.sqlite`.
"""
@@ -46,6 +46,9 @@ from nova.openstack.common import cfg
from nova import utils
+# NOTE(deva): we can't move baremetal_db_backend into an OptGroup yet
+# because utils.LazyPluggable doesn't support reading from
+# option groups. See bug #1093043.
db_opts = [
cfg.StrOpt('baremetal_db_backend',
default='sqlalchemy',
diff --git a/nova/virt/baremetal/db/sqlalchemy/session.py b/nova/virt/baremetal/db/sqlalchemy/session.py
index 3e562e32a..14013669d 100644
--- a/nova/virt/baremetal/db/sqlalchemy/session.py
+++ b/nova/virt/baremetal/db/sqlalchemy/session.py
@@ -23,14 +23,19 @@ from nova.db.sqlalchemy import session as nova_session
from nova.openstack.common import cfg
opts = [
- cfg.StrOpt('baremetal_sql_connection',
+ cfg.StrOpt('sql_connection',
default='sqlite:///$state_path/baremetal_$sqlite_db',
help='The SQLAlchemy connection string used to connect to the '
'bare-metal database'),
]
+baremetal_group = cfg.OptGroup(name='baremetal',
+ title='Baremetal Options')
+
CONF = cfg.CONF
-CONF.register_opts(opts)
+CONF.register_group(baremetal_group)
+CONF.register_opts(opts, baremetal_group)
+
CONF.import_opt('sqlite_db', 'nova.db.sqlalchemy.session')
CONF.import_opt('state_path', 'nova.config')
@@ -55,5 +60,5 @@ def get_engine():
"""Return a SQLAlchemy engine."""
global _ENGINE
if _ENGINE is None:
- _ENGINE = nova_session.create_engine(CONF.baremetal_sql_connection)
+ _ENGINE = nova_session.create_engine(CONF.baremetal.sql_connection)
return _ENGINE
diff --git a/nova/virt/baremetal/driver.py b/nova/virt/baremetal/driver.py
index e840c4e75..120a36c3c 100644
--- a/nova/virt/baremetal/driver.py
+++ b/nova/virt/baremetal/driver.py
@@ -34,16 +34,16 @@ from nova.virt import firewall
from nova.virt.libvirt import imagecache
opts = [
- cfg.BoolOpt('baremetal_inject_password',
+ cfg.BoolOpt('inject_password',
default=True,
help='Whether baremetal compute injects password or not'),
- cfg.StrOpt('baremetal_injected_network_template',
+ cfg.StrOpt('injected_network_template',
default='$pybasedir/nova/virt/baremetal/interfaces.template',
help='Template file for injected network'),
- cfg.StrOpt('baremetal_vif_driver',
+ cfg.StrOpt('vif_driver',
default='nova.virt.baremetal.vif_driver.BareMetalVIFDriver',
help='Baremetal VIF driver.'),
- cfg.StrOpt('baremetal_volume_driver',
+ cfg.StrOpt('volume_driver',
default='nova.virt.baremetal.volume_driver.LibvirtVolumeDriver',
help='Baremetal volume driver.'),
cfg.ListOpt('instance_type_extra_specs',
@@ -52,13 +52,13 @@ opts = [
'instance_type_extra_specs for this compute '
'host to advertise. Valid entries are name=value, pairs '
'For example, "key1:val1, key2:val2"'),
- cfg.StrOpt('baremetal_driver',
+ cfg.StrOpt('driver',
default='nova.virt.baremetal.pxe.PXE',
help='Baremetal driver back-end (pxe or tilera)'),
cfg.StrOpt('power_manager',
default='nova.virt.baremetal.ipmi.Ipmi',
help='Baremetal power management method'),
- cfg.StrOpt('baremetal_tftp_root',
+ cfg.StrOpt('tftp_root',
default='/tftpboot',
help='Baremetal compute node\'s tftp root path'),
]
@@ -66,8 +66,12 @@ opts = [
LOG = logging.getLogger(__name__)
+baremetal_group = cfg.OptGroup(name='baremetal',
+ title='Baremetal Options')
+
CONF = cfg.CONF
-CONF.register_opts(opts)
+CONF.register_group(baremetal_group)
+CONF.register_opts(opts, baremetal_group)
DEFAULT_FIREWALL_DRIVER = "%s.%s" % (
firewall.__name__,
@@ -100,7 +104,7 @@ def _update_baremetal_state(context, node, instance, state):
def get_power_manager(node, **kwargs):
- cls = importutils.import_class(CONF.power_manager)
+ cls = importutils.import_class(CONF.baremetal.power_manager)
return cls(node, **kwargs)
@@ -115,18 +119,18 @@ class BareMetalDriver(driver.ComputeDriver):
super(BareMetalDriver, self).__init__(virtapi)
self.baremetal_nodes = importutils.import_object(
- CONF.baremetal_driver)
+ CONF.baremetal.driver)
self._vif_driver = importutils.import_object(
- CONF.baremetal_vif_driver)
+ CONF.baremetal.vif_driver)
self._firewall_driver = firewall.load_driver(
default=DEFAULT_FIREWALL_DRIVER)
self._volume_driver = importutils.import_object(
- CONF.baremetal_volume_driver, virtapi)
+ CONF.baremetal.volume_driver, virtapi)
self._image_cache_manager = imagecache.ImageCacheManager()
extra_specs = {}
- extra_specs["baremetal_driver"] = CONF.baremetal_driver
- for pair in CONF.instance_type_extra_specs:
+ extra_specs["baremetal_driver"] = CONF.baremetal.driver
+ for pair in CONF.baremetal.instance_type_extra_specs:
keyval = pair.split(':', 1)
keyval[0] = keyval[0].strip()
keyval[1] = keyval[1].strip()
diff --git a/nova/virt/baremetal/volume_driver.py b/nova/virt/baremetal/volume_driver.py
index bf8e47a63..6708b33ab 100644
--- a/nova/virt/baremetal/volume_driver.py
+++ b/nova/virt/baremetal/volume_driver.py
@@ -29,18 +29,22 @@ from nova.virt import driver
from nova.virt.libvirt import utils as libvirt_utils
opts = [
- cfg.BoolOpt('baremetal_use_unsafe_iscsi',
+ cfg.BoolOpt('use_unsafe_iscsi',
default=False,
help='Do not set this out of dev/test environments. '
'If a node does not have an fixed PXE IP address, '
'volumes are exported with globally opened ACL'),
- cfg.StrOpt('baremetal_iscsi_iqn_prefix',
+ cfg.StrOpt('iscsi_iqn_prefix',
default='iqn.2010-10.org.openstack.baremetal',
help='iSCSI IQN prefix used in baremetal volume connections.'),
]
+baremetal_group = cfg.OptGroup(name='baremetal',
+ title='Baremetal Options')
+
CONF = cfg.CONF
-CONF.register_opts(opts)
+CONF.register_group(baremetal_group)
+CONF.register_opts(opts, baremetal_group)
CONF.import_opt('libvirt_volume_drivers', 'nova.virt.libvirt.driver')
@@ -172,7 +176,7 @@ def _find_tid(iqn):
def _get_iqn(instance_name, mountpoint):
mp = mountpoint.replace('/', '-').strip('-')
- iqn = '%s:%s-%s' % (CONF.baremetal_iscsi_iqn_prefix,
+ iqn = '%s:%s-%s' % (CONF.baremetal.iscsi_iqn_prefix,
instance_name,
mp)
return iqn
@@ -230,7 +234,7 @@ class LibvirtVolumeDriver(VolumeDriver):
ctx = nova_context.get_admin_context()
pxe_ip = bmdb.bm_pxe_ip_get_by_bm_node_id(ctx, node['id'])
if not pxe_ip:
- if not CONF.baremetal_use_unsafe_iscsi:
+ if not CONF.baremetal.use_unsafe_iscsi:
raise exception.NovaException(_(
'No fixed PXE IP is associated to %s') % instance_name)
@@ -250,7 +254,7 @@ class LibvirtVolumeDriver(VolumeDriver):
# instance's initiator ip, it allows any initiators
# to connect to the volume. This means other bare-metal
# instances that are not attached the volume can connect
- # to the volume. Do not set CONF.baremetal_use_unsafe_iscsi
+ # to the volume. Do not set CONF.baremetal.use_unsafe_iscsi
# out of dev/test environments.
# TODO(NTTdocomo): support CHAP
_allow_iscsi_tgtadm(tid, 'ALL')