From 64603034446a8c5d73af111fbedc52e1c44232aa Mon Sep 17 00:00:00 2001 From: Maciej Szankin Date: Thu, 2 Jun 2016 14:47:41 -0500 Subject: [PATCH] conf: Deprecate all topic options There is no need to let users choose the RPC topic for all services. It's best to deprecate and remove these options as it's really easy to break nova by using these options, and there is little gain for deployers in changing this option. Change-Id: I3e6d3c29dd05e509e97646ff663209ae7201be58 Implements: blueprint centralize-config-options-ocata --- nova/conf/cells.py | 6 ++++++ nova/conf/compute.py | 7 +++++++ nova/conf/conductor.py | 11 +++++++---- nova/conf/console.py | 8 +++++++- nova/conf/consoleauth.py | 9 ++++++++- nova/conf/network.py | 7 +++++++ nova/conf/scheduler.py | 8 +++++++- .../deprecate-topic-opts-68b1a752dba1eb24.yaml | 13 +++++++++++++ 8 files changed, 62 insertions(+), 7 deletions(-) create mode 100644 releasenotes/notes/deprecate-topic-opts-68b1a752dba1eb24.yaml diff --git a/nova/conf/cells.py b/nova/conf/cells.py index 1602bf5e4712..001f4a38d139 100644 --- a/nova/conf/cells.py +++ b/nova/conf/cells.py @@ -48,6 +48,12 @@ Related options: """), cfg.StrOpt('topic', default='cells', + deprecated_for_removal=True, + deprecated_since='15.0.0', + deprecated_reason=""" +Configurable RPC topics provide little value and can result in a wide variety +of errors. They should not be used. +""", help=""" Topic diff --git a/nova/conf/compute.py b/nova/conf/compute.py index ef761224da91..777c385e5243 100644 --- a/nova/conf/compute.py +++ b/nova/conf/compute.py @@ -605,6 +605,13 @@ instance_cleaning_opts = [ rpcapi_opts = [ cfg.StrOpt("compute_topic", default="compute", + deprecated_for_removal=True, + deprecated_since="15.0.0", + deprecated_reason=""" +There is no need to let users choose the RPC topic for all services - there +is little gain from this. Furthermore, it makes it really easy to break Nova +by using this option. +""", help=""" This is the message queue topic that the compute service 'listens' on. It is used when the compute service is started up to configure the queue, and diff --git a/nova/conf/conductor.py b/nova/conf/conductor.py index 83d075cf6007..c1dcb20f892e 100644 --- a/nova/conf/conductor.py +++ b/nova/conf/conductor.py @@ -1,6 +1,3 @@ -# needs:check_deprecation_status - - # Copyright (c) 2010 OpenStack Foundation # All Rights Reserved. # @@ -41,10 +38,16 @@ It no longer represents a reasonable alternative for deployers. Removal may be as early as 14.0. """), - # TODO(macsz) deprecate this option cfg.StrOpt( 'topic', default='conductor', + deprecated_for_removal=True, + deprecated_since='15.0.0', + deprecated_reason=""" +There is no need to let users choose the RPC topic for all services - there +is little gain from this. Furthermore, it makes it really easy to break Nova +by using this option. +""", help=""" Topic exchange name on which conductor nodes listen. """), diff --git a/nova/conf/console.py b/nova/conf/console.py index cbc683a389f5..b4d5ded74507 100644 --- a/nova/conf/console.py +++ b/nova/conf/console.py @@ -33,9 +33,15 @@ Possible values * An empty list (default) or list of allowed origin hostnames. """), -# TODO(pumaranikar): We can deprecate this option. cfg.StrOpt('console_topic', default='console', + deprecated_for_removal=True, + deprecated_since='15.0.0', + deprecated_reason=""" +There is no need to let users choose the RPC topic for all services - there +is little gain from this. Furthermore, it makes it really easy to break Nova +by using this option. +""", help=""" Represents the message queue topic name used by nova-console service when communicating via the AMQP server. The Nova API uses a message diff --git a/nova/conf/consoleauth.py b/nova/conf/consoleauth.py index 2915f742b9e1..6abbe7417412 100644 --- a/nova/conf/consoleauth.py +++ b/nova/conf/consoleauth.py @@ -18,9 +18,16 @@ from oslo_config import cfg consoleauth_opts = [ - # TODO(aunnam): This option needs to be deprecated + cfg.StrOpt('consoleauth_topic', default='consoleauth', + deprecated_for_removal=True, + deprecated_since='15.0.0', + deprecated_reason=""" +There is no need to let users choose the RPC topic for all services - there +is little gain from this. Furthermore, it makes it really easy to break Nova +by using this option. +""", help=""" This option allows you to change the message topic used by nova-consoleauth service when communicating via the AMQP server. Nova Console Authentication diff --git a/nova/conf/network.py b/nova/conf/network.py index d77f9331881f..3bb4cd9cef83 100644 --- a/nova/conf/network.py +++ b/nova/conf/network.py @@ -752,6 +752,13 @@ driver_opts = [ rpcapi_opts = [ cfg.StrOpt('network_topic', default='network', + deprecated_for_removal=True, + deprecated_since='15.0.0', + deprecated_reason=""" +There is no need to let users choose the RPC topic for all services - there +is little gain from this. Furthermore, it makes it really easy to break Nova +by using this option. +""", help='The topic network nodes listen on'), cfg.BoolOpt('multi_host', default=False, diff --git a/nova/conf/scheduler.py b/nova/conf/scheduler.py index cb79c8d7b6a4..6da4bfe0acf7 100644 --- a/nova/conf/scheduler.py +++ b/nova/conf/scheduler.py @@ -18,9 +18,15 @@ from oslo_config import cfg scheduler_opts = [ - # TODO(sfinucan): Deprecate this option cfg.StrOpt("scheduler_topic", default="scheduler", + deprecated_for_removal=True, + deprecated_since="15.0.0", + deprecated_reason=""" +There is no need to let users choose the RPC topic for all services - there +is little gain from this. Furthermore, it makes it really easy to break Nova +by using this option. +""", help=""" Scheduler message queue topic. diff --git a/releasenotes/notes/deprecate-topic-opts-68b1a752dba1eb24.yaml b/releasenotes/notes/deprecate-topic-opts-68b1a752dba1eb24.yaml new file mode 100644 index 000000000000..ac81bfe6c15b --- /dev/null +++ b/releasenotes/notes/deprecate-topic-opts-68b1a752dba1eb24.yaml @@ -0,0 +1,13 @@ +--- +deprecations: + - | + The ``topic`` config options are now deprecated and will be removed + in the next release. The deprecated options are as below: + + * cells.topic + * compute_topic + * conductor.topic + * console_topic + * consoleauth_topic + * network_topic + * scheduler_topic