Deprecate cells v1

With multi-cell support in Pike, we should deprecate cells v1
so we can at least start the deprecation signaling in the
docs and release notes. We may not end up removing cells v1
code in Queens, but this at least gives us the option.

Note that we also want to do this because nova-network cannot
be removed until we remove cells v1.

Change-Id: I1a173f7ce0715e684850e030c358e8175fa8724c
This commit is contained in:
Matt Riedemann 2017-08-01 10:58:42 -04:00
parent f9e353a585
commit 3414ab14ca
5 changed files with 85 additions and 16 deletions

@ -27,7 +27,8 @@ The nova-cells service handles communication between cells and selects cells
for new instances.
.. warning:: Everything in this document is referring to Cells v1, which is
not recommended for new deployments. For information about commands to use
not recommended for new deployments and is deprecated in favor of Cells v2
as of the 16.0.0 Pike release. For information about commands to use
with Cells v2, see the man page for :ref:`man-page-cells-v2`.
OPTIONS

@ -38,6 +38,9 @@ See `Comparison with Cells V1`_ for more detail.
Status
~~~~~~
.. warning:: Cells v1 is deprecated in favor of Cells v2 as of the
16.0.0 Pike release.
Cells v1 is considered experimental and receives much less testing than the
rest of Nova. For example, there is no job for testing cells v1 with Neutron.

@ -29,6 +29,7 @@ from nova import utils
from nova import version
CONF = nova.conf.CONF
LOG = logging.getLogger('nova.cells')
def main():
@ -39,6 +40,8 @@ def main():
gmr.TextGuruMeditation.setup_autorun(version)
LOG.warning('Cells v1 is deprecated in favor of Cells v2 and will be '
'removed in the future.')
server = service.Service.create(binary='nova-cells',
topic=cells.TOPIC,
manager='nova.cells.manager.CellsManager')

@ -18,8 +18,8 @@ from oslo_config import cfg
cells_group = cfg.OptGroup('cells',
title='Cells Options',
help="""
Cells options allow you to use cells functionality in openstack
deployment.
DEPRECATED: Cells options allow you to use cells v1 functionality in an
OpenStack deployment.
Note that the options in this group are only for cells v1 functionality, which
is considered experimental and not recommended for new deployments. Cells v1
@ -31,6 +31,9 @@ required and all Nova deployments will be at least a cells v2 cell of one.
cells_opts = [
cfg.BoolOpt('enable',
default=False,
deprecated_for_removal=True,
deprecated_since='16.0.0',
deprecated_reason='Cells v1 is being replaced with Cells v2.',
help="""
Enable cell v1 functionality.
@ -58,6 +61,9 @@ Related options:
"""),
cfg.StrOpt('name',
default='nova',
deprecated_for_removal=True,
deprecated_since='16.0.0',
deprecated_reason='Cells v1 is being replaced with Cells v2.',
help="""
Name of the current cell.
@ -72,6 +78,9 @@ Related options:
"""),
cfg.ListOpt('capabilities',
default=['hypervisor=xenserver;kvm', 'os=linux;windows'],
deprecated_for_removal=True,
deprecated_since='16.0.0',
deprecated_reason='Cells v1 is being replaced with Cells v2.',
help="""
Cell capabilities.
@ -86,6 +95,9 @@ Possible values:
"""),
cfg.IntOpt('call_timeout',
default=60,
deprecated_for_removal=True,
deprecated_since='16.0.0',
deprecated_reason='Cells v1 is being replaced with Cells v2.',
min=0,
help="""
Call timeout.
@ -98,9 +110,11 @@ Possible values:
* An integer, corresponding to the interval time in seconds.
"""),
# TODO(sfinucan): Add min parameter
cfg.FloatOpt('reserve_percent',
default=10.0,
deprecated_for_removal=True,
deprecated_since='16.0.0',
deprecated_reason='Cells v1 is being replaced with Cells v2.',
help="""
Reserve percentage
@ -124,6 +138,9 @@ Possible values:
cfg.StrOpt('cell_type',
default='compute',
choices=('api', 'compute'),
deprecated_for_removal=True,
deprecated_since='16.0.0',
deprecated_reason='Cells v1 is being replaced with Cells v2.',
help="""
Type of cell.
@ -137,9 +154,11 @@ Related option:
* quota_driver: Disable quota checking for the child cells.
(nova.quota.NoopQuotaDriver)
"""),
# TODO(sfinucan): Add min parameter
cfg.IntOpt('mute_child_interval',
default=300,
deprecated_for_removal=True,
deprecated_since='16.0.0',
deprecated_reason='Cells v1 is being replaced with Cells v2.',
help="""
Mute child interval.
@ -151,9 +170,11 @@ Possible values:
* An integer, corresponding to the interval time in seconds.
"""),
# TODO(sfinucan): Add min parameter
cfg.IntOpt('bandwidth_update_interval',
default=600,
deprecated_for_removal=True,
deprecated_since='16.0.0',
deprecated_reason='Cells v1 is being replaced with Cells v2.',
help="""
Bandwidth update interval.
@ -163,9 +184,11 @@ Possible values:
* An integer, corresponding to the interval time in seconds.
"""),
# TODO(sfinucan): Add min parameter
cfg.IntOpt('instance_update_sync_database_limit',
default=100,
deprecated_for_removal=True,
deprecated_since='16.0.0',
deprecated_reason='Cells v1 is being replaced with Cells v2.',
help="""
Instance update sync database limit.
@ -180,9 +203,11 @@ Possible values:
]
mute_weigher_opts = [
# TODO(sfinucan): Add max parameter
cfg.FloatOpt('mute_weight_multiplier',
default=-10000.0,
deprecated_for_removal=True,
deprecated_since='16.0.0',
deprecated_reason='Cells v1 is being replaced with Cells v2.',
help="""
Mute weight multiplier.
@ -197,9 +222,11 @@ Possible values:
]
ram_weigher_opts = [
# TODO(sfinucan): Add min parameter
cfg.FloatOpt('ram_weight_multiplier',
default=10.0,
deprecated_for_removal=True,
deprecated_since='16.0.0',
deprecated_reason='Cells v1 is being replaced with Cells v2.',
help="""
Ram weight multiplier.
@ -214,9 +241,11 @@ Possible values:
]
weigher_opts = [
# TODO(sfinucan): Add min parameter
cfg.FloatOpt('offset_weight_multiplier',
default=1.0,
deprecated_for_removal=True,
deprecated_since='16.0.0',
deprecated_reason='Cells v1 is being replaced with Cells v2.',
help="""
Offset weight multiplier
@ -233,9 +262,11 @@ Possible values:
]
cell_manager_opts = [
# TODO(sfinucan): Add min parameter
cfg.IntOpt('instance_updated_at_threshold',
default=3600,
deprecated_for_removal=True,
deprecated_since='16.0.0',
deprecated_reason='Cells v1 is being replaced with Cells v2.',
help="""
Instance updated at threshold
@ -254,9 +285,11 @@ Related options:
* This value is used with the ``instance_update_num_instances``
value in a periodic task run.
"""),
# TODO(sfinucan): Add min parameter
cfg.IntOpt("instance_update_num_instances",
default=1,
deprecated_for_removal=True,
deprecated_since='16.0.0',
deprecated_reason='Cells v1 is being replaced with Cells v2.',
help="""
Instance update num instances
@ -278,9 +311,11 @@ Related options:
]
cell_messaging_opts = [
# TODO(sfinucan): Add min parameter
cfg.IntOpt('max_hop_count',
default=10,
deprecated_for_removal=True,
deprecated_since='16.0.0',
deprecated_reason='Cells v1 is being replaced with Cells v2.',
help="""
Maximum hop count
@ -295,6 +330,9 @@ Possible values:
"""),
cfg.StrOpt('scheduler',
default='nova.cells.scheduler.CellsScheduler',
deprecated_for_removal=True,
deprecated_since='16.0.0',
deprecated_reason='Cells v1 is being replaced with Cells v2.',
help="""
Cells scheduler.
@ -307,6 +345,9 @@ in this option, the CellsScheduler is used.
cell_rpc_driver_opts = [
cfg.StrOpt('rpc_driver_queue_base',
default='cells.intercell',
deprecated_for_removal=True,
deprecated_since='16.0.0',
deprecated_reason='Cells v1 is being replaced with Cells v2.',
help="""
RPC driver queue base.
@ -324,6 +365,9 @@ Possible values:
cell_scheduler_opts = [
cfg.ListOpt('scheduler_filter_classes',
default=['nova.cells.filters.all_filters'],
deprecated_for_removal=True,
deprecated_since='16.0.0',
deprecated_reason='Cells v1 is being replaced with Cells v2.',
help="""
Scheduler filter classes.
@ -355,6 +399,9 @@ to a particular cell.
"""),
cfg.ListOpt('scheduler_weight_classes',
default=['nova.cells.weights.all_weighers'],
deprecated_for_removal=True,
deprecated_since='16.0.0',
deprecated_reason='Cells v1 is being replaced with Cells v2.',
help="""
Scheduler weight classes.
@ -385,9 +432,11 @@ have a lower weight, like if they're full. And when the weight_offset
is set to a very high value (for example, '999999999999999'), it is
likely to be picked if another cell do not have a higher weight.
"""),
# TODO(sfinucan): Add min parameter
cfg.IntOpt('scheduler_retries',
default=10,
deprecated_for_removal=True,
deprecated_since='16.0.0',
deprecated_reason='Cells v1 is being replaced with Cells v2.',
help="""
Scheduler retries.
@ -404,9 +453,11 @@ Related options:
* This value is used with the ``scheduler_retry_delay`` value
while retrying to find a suitable cell.
"""),
# TODO(sfinucan): Add min parameter
cfg.IntOpt('scheduler_retry_delay',
default=2,
deprecated_for_removal=True,
deprecated_since='16.0.0',
deprecated_reason='Cells v1 is being replaced with Cells v2.',
help="""
Scheduler retry delay.
@ -428,9 +479,11 @@ Related options:
]
cell_state_manager_opts = [
# TODO(sfinucan): Add min parameter
cfg.IntOpt('db_check_interval',
default=60,
deprecated_for_removal=True,
deprecated_since='16.0.0',
deprecated_reason='Cells v1 is being replaced with Cells v2.',
help="""
DB check interval.
@ -445,6 +498,9 @@ Possible values:
"""),
cfg.StrOpt('cells_config',
deprecated_for_removal=True,
deprecated_since='16.0.0',
deprecated_reason='Cells v1 is being replaced with Cells v2.',
help="""
Optional cells configuration.

@ -0,0 +1,6 @@
---
deprecations:
- |
Cells v1, which includes the ``[cells]`` configuration options and
``nova-cells`` service, is deprecated in favor of Cells v2. For information
on Cells v2, see: https://docs.openstack.org/nova/latest/user/cells.html