diff --git a/doc/source/cli/nova-cells.rst b/doc/source/cli/nova-cells.rst index 0b12d25cbbd2..2b5fc92fd995 100644 --- a/doc/source/cli/nova-cells.rst +++ b/doc/source/cli/nova-cells.rst @@ -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 diff --git a/doc/source/user/cells.rst b/doc/source/user/cells.rst index 1f63326a695a..c7cca0d96882 100644 --- a/doc/source/user/cells.rst +++ b/doc/source/user/cells.rst @@ -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. diff --git a/nova/cmd/cells.py b/nova/cmd/cells.py index 9af3937abde6..7303ed0889f4 100644 --- a/nova/cmd/cells.py +++ b/nova/cmd/cells.py @@ -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') diff --git a/nova/conf/cells.py b/nova/conf/cells.py index 5fd7e84c0bf6..0eac5b5f6d3f 100644 --- a/nova/conf/cells.py +++ b/nova/conf/cells.py @@ -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. diff --git a/releasenotes/notes/deprecate-cellsv1-592b3c3612a9dfa5.yaml b/releasenotes/notes/deprecate-cellsv1-592b3c3612a9dfa5.yaml new file mode 100644 index 000000000000..a811377fdd55 --- /dev/null +++ b/releasenotes/notes/deprecate-cellsv1-592b3c3612a9dfa5.yaml @@ -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