diff options
| author | Devananda van der Veen <devananda.vdv@gmail.com> | 2012-12-21 11:09:48 -0800 |
|---|---|---|
| committer | Devananda van der Veen <devananda.vdv@gmail.com> | 2012-12-28 14:53:55 -0800 |
| commit | 9ac65bde3a3d39389e356dbb79be1404c81cbd2e (patch) | |
| tree | e5f20fe46d1ae833ac5ed2c558cfe4598849de2c /nova/virt | |
| parent | 32eb83be79ff19e06b5057dce32052b98368ce40 (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.py | 7 | ||||
| -rw-r--r-- | nova/virt/baremetal/db/sqlalchemy/session.py | 11 | ||||
| -rw-r--r-- | nova/virt/baremetal/driver.py | 30 | ||||
| -rw-r--r-- | nova/virt/baremetal/volume_driver.py | 16 |
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') |
