Remove redundant 'availability_zone' config options.
There are two availability_zone related config options now: node_availability_zone and storage_availability_zone While volume API uses node_availability_zone, the scheduler uses the other, which causes failure in scheduler when these two options have different values. This patch removes 'node_availability_zone' so that end user can specify 'availability zone' when create volumes using Simple scheduler. Partially implement blueprint implement-availability-zones Change-Id: Ia2f0710908495ec64dacd2ee9bd10d7f8cd415df
This commit is contained in:
@@ -218,7 +218,7 @@ global_opts = [
|
|||||||
default=socket.gethostname(),
|
default=socket.gethostname(),
|
||||||
help='Name of this node. This can be an opaque identifier. '
|
help='Name of this node. This can be an opaque identifier. '
|
||||||
'It is not necessarily a hostname, FQDN, or IP address.'),
|
'It is not necessarily a hostname, FQDN, or IP address.'),
|
||||||
cfg.StrOpt('node_availability_zone',
|
cfg.StrOpt('storage_availability_zone',
|
||||||
default='cinder',
|
default='cinder',
|
||||||
help='availability zone of this node'),
|
help='availability zone of this node'),
|
||||||
cfg.StrOpt('notification_driver',
|
cfg.StrOpt('notification_driver',
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ FLAGS.register_opts(simple_scheduler_opts)
|
|||||||
class SimpleScheduler(chance.ChanceScheduler):
|
class SimpleScheduler(chance.ChanceScheduler):
|
||||||
"""Implements Naive Scheduler that tries to find least loaded host."""
|
"""Implements Naive Scheduler that tries to find least loaded host."""
|
||||||
|
|
||||||
def schedule_create_volume(self, context, volume_id, *_args, **_kwargs):
|
def schedule_create_volume(self, context, volume_id, **_kwargs):
|
||||||
"""Picks a host that is up and has the fewest volumes."""
|
"""Picks a host that is up and has the fewest volumes."""
|
||||||
elevated = context.elevated()
|
elevated = context.elevated()
|
||||||
|
|
||||||
|
|||||||
@@ -202,7 +202,7 @@ class Service(object):
|
|||||||
self.timers.append(periodic)
|
self.timers.append(periodic)
|
||||||
|
|
||||||
def _create_service_ref(self, context):
|
def _create_service_ref(self, context):
|
||||||
zone = FLAGS.node_availability_zone
|
zone = FLAGS.storage_availability_zone
|
||||||
service_ref = db.service_create(context,
|
service_ref = db.service_create(context,
|
||||||
{'host': self.host,
|
{'host': self.host,
|
||||||
'binary': self.binary,
|
'binary': self.binary,
|
||||||
@@ -289,7 +289,7 @@ class Service(object):
|
|||||||
def report_state(self):
|
def report_state(self):
|
||||||
"""Update the state of this service in the datastore."""
|
"""Update the state of this service in the datastore."""
|
||||||
ctxt = context.get_admin_context()
|
ctxt = context.get_admin_context()
|
||||||
zone = FLAGS.node_availability_zone
|
zone = FLAGS.storage_availability_zone
|
||||||
state_catalog = {}
|
state_catalog = {}
|
||||||
try:
|
try:
|
||||||
try:
|
try:
|
||||||
|
|||||||
@@ -41,7 +41,6 @@ volume_host_opt = cfg.BoolOpt('snapshot_same_host',
|
|||||||
|
|
||||||
FLAGS = flags.FLAGS
|
FLAGS = flags.FLAGS
|
||||||
FLAGS.register_opt(volume_host_opt)
|
FLAGS.register_opt(volume_host_opt)
|
||||||
flags.DECLARE('storage_availability_zone', 'cinder.volume.manager')
|
|
||||||
|
|
||||||
LOG = logging.getLogger(__name__)
|
LOG = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|||||||
@@ -29,7 +29,6 @@ intact.
|
|||||||
:volume_manager: The module name of a class derived from
|
:volume_manager: The module name of a class derived from
|
||||||
:class:`manager.Manager` (default:
|
:class:`manager.Manager` (default:
|
||||||
:class:`cinder.volume.manager.Manager`).
|
:class:`cinder.volume.manager.Manager`).
|
||||||
:storage_availability_zone: Defaults to `cinder`.
|
|
||||||
:volume_driver: Used by :class:`Manager`. Defaults to
|
:volume_driver: Used by :class:`Manager`. Defaults to
|
||||||
:class:`cinder.volume.driver.ISCSIDriver`.
|
:class:`cinder.volume.driver.ISCSIDriver`.
|
||||||
:volume_group: Name of the group that will contain exported volumes (default:
|
:volume_group: Name of the group that will contain exported volumes (default:
|
||||||
@@ -55,9 +54,6 @@ from cinder.volume import volume_types
|
|||||||
LOG = logging.getLogger(__name__)
|
LOG = logging.getLogger(__name__)
|
||||||
|
|
||||||
volume_manager_opts = [
|
volume_manager_opts = [
|
||||||
cfg.StrOpt('storage_availability_zone',
|
|
||||||
default='cinder',
|
|
||||||
help='availability zone of this service'),
|
|
||||||
cfg.StrOpt('volume_driver',
|
cfg.StrOpt('volume_driver',
|
||||||
default='cinder.volume.driver.ISCSIDriver',
|
default='cinder.volume.driver.ISCSIDriver',
|
||||||
help='Driver to use for volume creation'),
|
help='Driver to use for volume creation'),
|
||||||
|
|||||||
@@ -122,7 +122,7 @@
|
|||||||
###### (StrOpt) ip address of this host
|
###### (StrOpt) ip address of this host
|
||||||
# my_ip="10.0.0.1"
|
# my_ip="10.0.0.1"
|
||||||
###### (StrOpt) availability zone of this node
|
###### (StrOpt) availability zone of this node
|
||||||
# node_availability_zone="cinder"
|
# storage_availability_zone="cinder"
|
||||||
###### (StrOpt) Default driver for sending notifications
|
###### (StrOpt) Default driver for sending notifications
|
||||||
# notification_driver="cinder.notifier.no_op_notifier"
|
# notification_driver="cinder.notifier.no_op_notifier"
|
||||||
###### (StrOpt) kernel image that indicates not to use a kernel, but to use a raw disk image instead
|
###### (StrOpt) kernel image that indicates not to use a kernel, but to use a raw disk image instead
|
||||||
@@ -353,8 +353,6 @@
|
|||||||
# rpc_thread_pool_size=1024
|
# rpc_thread_pool_size=1024
|
||||||
###### (StrOpt) File name of clean sqlite db
|
###### (StrOpt) File name of clean sqlite db
|
||||||
# sqlite_clean_db="clean.sqlite"
|
# sqlite_clean_db="clean.sqlite"
|
||||||
###### (StrOpt) availability zone of this service
|
|
||||||
# storage_availability_zone="cinder"
|
|
||||||
###### (BoolOpt) if True, will not discover local volumes
|
###### (BoolOpt) if True, will not discover local volumes
|
||||||
# use_local_volumes=true
|
# use_local_volumes=true
|
||||||
###### (StrOpt) Driver to use for volume creation
|
###### (StrOpt) Driver to use for volume creation
|
||||||
|
|||||||
Reference in New Issue
Block a user