From 0f5fbf7a508a0f68129e51213d6ce69cc87ead85 Mon Sep 17 00:00:00 2001 From: ZhongShengping Date: Mon, 7 Aug 2017 14:25:11 +0800 Subject: [PATCH] Deprecate oslo.messaging rpc_backend option parameter Oslo.messaging uses the transport_url to represent the rpc and notification messaging driver to use and its full configuration. The rpc_backend configuration option is deprecated for removal and should not gate oslo.messaging driver configuration options. This patch: * deprecate rpc_backend * remove conditional check * update spec tests * add release note Change-Id: Ic283faf4f04a9fc434a6cc1fa530ea25b2eda430 Closes-Bug: #1708976 --- manifests/init.pp | 117 ++++++----- ...pc_backend_parameter-3c92f3cb31cdb3cb.yaml | 4 + spec/classes/sahara_init_spec.rb | 185 ++++++++---------- 3 files changed, 145 insertions(+), 161 deletions(-) create mode 100644 releasenotes/notes/deprecate_rpc_backend_parameter-3c92f3cb31cdb3cb.yaml diff --git a/manifests/init.pp b/manifests/init.pp index f8353710..b02ea360 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -117,13 +117,6 @@ # (Optional) The default exchange to scope topics. # Defaults to $::os_service_default. # -# [*rpc_backend*] -# (optional) The rpc backend implementation to use, can be: -# amqp (for AMQP 1.0) -# rabbit (for rabbitmq) -# zmq (for zeromq) -# Defaults to $::os_service_default. -# # [*amqp_durable_queues*] # (optional) Use durable queues in AMQP # Defaults to $::os_service_default. @@ -337,6 +330,13 @@ # (Optional) Number of times to retry (0 == no limit). # Defaults to undef. # +# [*rpc_backend*] +# (optional) The rpc backend implementation to use, can be: +# amqp (for AMQP 1.0) +# rabbit (for rabbitmq) +# zmq (for zeromq) +# Defaults to $::os_service_default. +# class sahara( $package_ensure = 'present', $debug = undef, @@ -364,7 +364,6 @@ class sahara( $default_transport_url = $::os_service_default, $rpc_response_timeout = $::os_service_default, $control_exchange = $::os_service_default, - $rpc_backend = $::os_service_default, $amqp_durable_queues = $::os_service_default, $rabbit_ha_queues = $::os_service_default, $rabbit_use_ssl = $::os_service_default, @@ -416,6 +415,7 @@ class sahara( $identity_uri = undef, $memcached_servers = undef, $rabbit_max_retries = undef, + $rpc_backend = $::os_service_default, ) { include ::sahara::deps @@ -433,10 +433,11 @@ class sahara( !is_service_default($rabbit_password) or !is_service_default($rabbit_port) or !is_service_default($rabbit_userid) or - !is_service_default($rabbit_virtual_host) { + !is_service_default($rabbit_virtual_host) or + !is_service_default($rpc_backend) { warning("sahara::rabbit_host, sahara::rabbit_hosts, sahara::rabbit_password, \ -sahara::rabbit_port, sahara::rabbit_userid and sahara::rabbit_virtual_host are \ -deprecated. Please use sahara::default_transport_url instead.") +sahara::rabbit_port, sahara::rabbit_userid and sahara::rabbit_virtual_host and \ +sahara::rpc_backend are deprecated. Please use sahara::default_transport_url instead.") } if $admin_user or $admin_password or @@ -476,60 +477,54 @@ deprecated. Please use sahara::keystone::authtoken::* parameters instead.") control_exchange => $control_exchange, } - if $rpc_backend == 'rabbit' or is_service_default($rpc_backend) { - oslo::messaging::rabbit { 'sahara_config': - rabbit_userid => $rabbit_userid, - rabbit_password => $rabbit_password, - rabbit_virtual_host => $rabbit_virtual_host, - rabbit_host => $rabbit_host, - rabbit_port => $rabbit_port, - rabbit_hosts => $rabbit_hosts, - rabbit_ha_queues => $rabbit_ha_queues, - rabbit_use_ssl => $rabbit_use_ssl, - kombu_failover_strategy => $kombu_failover_strategy, - kombu_compression => $kombu_compression, - kombu_reconnect_delay => $kombu_reconnect_delay, - kombu_ssl_version => $kombu_ssl_version, - kombu_ssl_keyfile => $kombu_ssl_keyfile, - kombu_ssl_certfile => $kombu_ssl_certfile, - kombu_ssl_ca_certs => $kombu_ssl_ca_certs, - amqp_durable_queues => $amqp_durable_queues, - rabbit_login_method => $rabbit_login_method, - rabbit_retry_interval => $rabbit_retry_interval, - rabbit_retry_backoff => $rabbit_retry_backoff, - } + oslo::messaging::rabbit { 'sahara_config': + rabbit_userid => $rabbit_userid, + rabbit_password => $rabbit_password, + rabbit_virtual_host => $rabbit_virtual_host, + rabbit_host => $rabbit_host, + rabbit_port => $rabbit_port, + rabbit_hosts => $rabbit_hosts, + rabbit_ha_queues => $rabbit_ha_queues, + rabbit_use_ssl => $rabbit_use_ssl, + kombu_failover_strategy => $kombu_failover_strategy, + kombu_compression => $kombu_compression, + kombu_reconnect_delay => $kombu_reconnect_delay, + kombu_ssl_version => $kombu_ssl_version, + kombu_ssl_keyfile => $kombu_ssl_keyfile, + kombu_ssl_certfile => $kombu_ssl_certfile, + kombu_ssl_ca_certs => $kombu_ssl_ca_certs, + amqp_durable_queues => $amqp_durable_queues, + rabbit_login_method => $rabbit_login_method, + rabbit_retry_interval => $rabbit_retry_interval, + rabbit_retry_backoff => $rabbit_retry_backoff, } - if $rpc_backend == 'zmq' { - oslo::messaging::zmq { 'sahara_config': - rpc_zmq_bind_address => $zeromq_bind_address, - rpc_zmq_contexts => $zeromq_contexts, - rpc_zmq_topic_backlog => $zeromq_topic_backlog, - rpc_zmq_ipc_dir => $zeromq_ipc_dir, - rpc_zmq_host => $zeromq_host, - rpc_cast_timeout => $cast_timeout, - } + oslo::messaging::zmq { 'sahara_config': + rpc_zmq_bind_address => $zeromq_bind_address, + rpc_zmq_contexts => $zeromq_contexts, + rpc_zmq_topic_backlog => $zeromq_topic_backlog, + rpc_zmq_ipc_dir => $zeromq_ipc_dir, + rpc_zmq_host => $zeromq_host, + rpc_cast_timeout => $cast_timeout, } - if $rpc_backend == 'amqp' { - oslo::messaging::amqp { 'sahara_config': - server_request_prefix => $amqp_server_request_prefix, - broadcast_prefix => $amqp_broadcast_prefix, - group_request_prefix => $amqp_group_request_prefix, - container_name => $amqp_container_name, - idle_timeout => $amqp_idle_timeout, - trace => $amqp_trace, - ssl_ca_file => $amqp_ssl_ca_file, - ssl_cert_file => $amqp_ssl_cert_file, - ssl_key_file => $amqp_ssl_key_file, - ssl_key_password => $amqp_ssl_key_password, - allow_insecure_clients => $amqp_allow_insecure_clients, - sasl_mechanisms => $amqp_sasl_mechanisms, - sasl_config_dir => $amqp_sasl_config_dir, - sasl_config_name => $amqp_sasl_config_name, - username => $amqp_username, - password => $amqp_password, - } + oslo::messaging::amqp { 'sahara_config': + server_request_prefix => $amqp_server_request_prefix, + broadcast_prefix => $amqp_broadcast_prefix, + group_request_prefix => $amqp_group_request_prefix, + container_name => $amqp_container_name, + idle_timeout => $amqp_idle_timeout, + trace => $amqp_trace, + ssl_ca_file => $amqp_ssl_ca_file, + ssl_cert_file => $amqp_ssl_cert_file, + ssl_key_file => $amqp_ssl_key_file, + ssl_key_password => $amqp_ssl_key_password, + allow_insecure_clients => $amqp_allow_insecure_clients, + sasl_mechanisms => $amqp_sasl_mechanisms, + sasl_config_dir => $amqp_sasl_config_dir, + sasl_config_name => $amqp_sasl_config_name, + username => $amqp_username, + password => $amqp_password, } if ! is_service_default($use_ssl) and $use_ssl { diff --git a/releasenotes/notes/deprecate_rpc_backend_parameter-3c92f3cb31cdb3cb.yaml b/releasenotes/notes/deprecate_rpc_backend_parameter-3c92f3cb31cdb3cb.yaml new file mode 100644 index 00000000..7d90f552 --- /dev/null +++ b/releasenotes/notes/deprecate_rpc_backend_parameter-3c92f3cb31cdb3cb.yaml @@ -0,0 +1,4 @@ +--- +deprecations: + - sahara::rpc_backend is deprecated and will be removed in a future + release. Please use sahara::default_transport_url instead. diff --git a/spec/classes/sahara_init_spec.rb b/spec/classes/sahara_init_spec.rb index 4d7fd877..501fcc43 100644 --- a/spec/classes/sahara_init_spec.rb +++ b/spec/classes/sahara_init_spec.rb @@ -69,123 +69,112 @@ describe 'sahara' do end - shared_examples_for 'sahara rpc_backend' do - context 'with rabbit rpc' do + shared_examples_for 'sahara rpc' do + + context 'when defaults with rabbit pass specified' do + it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_password').with_value('').with_secret(true) } + it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_userid').with_value('') } + it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_host').with_value('') } + it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_port').with_value('') } + it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_ha_queues').with_value('') } + it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_virtual_host').with_value('') } + it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/amqp_durable_queues').with_value('') } + it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_hosts').with_value('') } + end + + context 'when passing params' do before do - params.merge!({ :rpc_backend => 'rabbit' }) - end - it { is_expected.to contain_sahara_config('DEFAULT/rpc_backend').with_value('rabbit') } - - context 'when defaults with rabbit pass specified' do - it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_password').with_value('').with_secret(true) } - it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_userid').with_value('') } - it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_host').with_value('') } - it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_port').with_value('') } - it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_ha_queues').with_value('') } - it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_virtual_host').with_value('') } - it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/amqp_durable_queues').with_value('') } - it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_hosts').with_value('') } + params.merge!({ + :rabbit_password => 'pass', + :rabbit_userid => 'guest2', + :rabbit_host => 'localhost2', + :rabbit_port => '5673', + :rabbit_ha_queues => 'true', + :amqp_durable_queues => 'true', + :kombu_reconnect_delay => '1.0', + :kombu_compression => 'gzip', + :kombu_failover_strategy => 'round-robin', + }) end - context 'when passing params' do - before do - params.merge!({ - :rabbit_password => 'pass', - :rabbit_userid => 'guest2', - :rabbit_host => 'localhost2', - :rabbit_port => '5673', - :rabbit_ha_queues => 'true', - :amqp_durable_queues => 'true', - :kombu_reconnect_delay => '1.0', - :kombu_compression => 'gzip', - :kombu_failover_strategy => 'round-robin', - }) - end + it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_userid').with_value('guest2') } + it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_password').with_value('pass').with_secret(true) } + it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_host').with_value('localhost2') } + it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_port').with_value('5673') } + it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_ha_queues').with_value('true') } + it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/amqp_durable_queues').with_value('true') } + it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_hosts').with_value('') } + it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/kombu_reconnect_delay').with_value('1.0') } + it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/kombu_compression').with_value('gzip') } + it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/kombu_failover_strategy').with_value('round-robin') } + end - it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_userid').with_value('guest2') } - it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_password').with_value('pass').with_secret(true) } - it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_host').with_value('localhost2') } - it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_port').with_value('5673') } - it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_ha_queues').with_value('true') } - it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/amqp_durable_queues').with_value('true') } - it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_hosts').with_value('') } - it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/kombu_reconnect_delay').with_value('1.0') } - it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/kombu_compression').with_value('gzip') } - it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/kombu_failover_strategy').with_value('round-robin') } - end - - context 'with rabbit ssl cert parameters' do - before do - params.merge!({ - :rabbit_use_ssl => true, - :kombu_ssl_ca_certs => '/etc/ca.cert', - :kombu_ssl_certfile => '/etc/certfile', - :kombu_ssl_keyfile => '/etc/key', - :kombu_ssl_version => 'TLSv1', - }) - end - it { is_expected.to contain_oslo__messaging__rabbit('sahara_config').with( + context 'with rabbit ssl cert parameters' do + before do + params.merge!({ :rabbit_use_ssl => true, :kombu_ssl_ca_certs => '/etc/ca.cert', :kombu_ssl_certfile => '/etc/certfile', :kombu_ssl_keyfile => '/etc/key', :kombu_ssl_version => 'TLSv1', - )} + }) end + it { is_expected.to contain_oslo__messaging__rabbit('sahara_config').with( + :rabbit_use_ssl => true, + :kombu_ssl_ca_certs => '/etc/ca.cert', + :kombu_ssl_certfile => '/etc/certfile', + :kombu_ssl_keyfile => '/etc/key', + :kombu_ssl_version => 'TLSv1', + )} + end - context 'with rabbit ssl disabled' do - before do - params.merge!({ - :rabbit_use_ssl => false, - }) - end - - it { is_expected.to contain_oslo__messaging__rabbit('sahara_config').with( + context 'with rabbit ssl disabled' do + before do + params.merge!({ :rabbit_use_ssl => false, - )} + }) end - context 'when passing params for single rabbit host' do - before do - params.merge!({ - :rabbit_password => 'pass', - :rabbit_userid => 'guest2', - :rabbit_host => 'localhost2', - :rabbit_port => '5673', - :rabbit_ha_queues => true, - }) - end + it { is_expected.to contain_oslo__messaging__rabbit('sahara_config').with( + :rabbit_use_ssl => false, + )} + end - it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_userid').with_value('guest2') } - it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_host').with_value('localhost2') } - it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_port').with_value('5673') } - it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_ha_queues').with_value('true') } - it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_hosts').with_value('') } + context 'when passing params for single rabbit host' do + before do + params.merge!({ + :rabbit_password => 'pass', + :rabbit_userid => 'guest2', + :rabbit_host => 'localhost2', + :rabbit_port => '5673', + :rabbit_ha_queues => true, + }) end - context 'when passing params for multiple rabbit hosts' do - before do - params.merge!({ - :rabbit_password => 'pass', - :rabbit_userid => 'guest3', - :rabbit_hosts => ['nonlocalhost3:5673', 'nonlocalhost4:5673'] - }) - end + it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_userid').with_value('guest2') } + it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_host').with_value('localhost2') } + it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_port').with_value('5673') } + it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_ha_queues').with_value('true') } + it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_hosts').with_value('') } + end - it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_userid').with_value('guest3') } - it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_hosts').with_value('nonlocalhost3:5673,nonlocalhost4:5673') } - it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_ha_queues').with_value('true') } - it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_port').with_value('') } - it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_host').with_value('') } + context 'when passing params for multiple rabbit hosts' do + before do + params.merge!({ + :rabbit_password => 'pass', + :rabbit_userid => 'guest3', + :rabbit_hosts => ['nonlocalhost3:5673', 'nonlocalhost4:5673'] + }) end + + it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_userid').with_value('guest3') } + it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_hosts').with_value('nonlocalhost3:5673,nonlocalhost4:5673') } + it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_ha_queues').with_value('true') } + it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_port').with_value('') } + it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_host').with_value('') } end context 'with zmq rpc' do - before do - params.merge!({ :rpc_backend => 'zmq' }) - end - - it { is_expected.to contain_sahara_config('DEFAULT/rpc_backend').with_value('zmq') } context 'with default params' do it { is_expected.to contain_sahara_config('DEFAULT/rpc_zmq_bind_address').with_value('') } @@ -202,7 +191,6 @@ describe 'sahara' do :zeromq_bind_address => '*', :zeromq_host => 'localhost', :cast_timeout => '30', - :rpc_backend => 'zmq', }) end @@ -213,9 +201,6 @@ describe 'sahara' do end context 'with amqp rpc' do - before do - params.merge!({ :rpc_backend => 'amqp' }) - end context 'with default parameters' do it { is_expected.to contain_sahara_config('oslo_messaging_amqp/server_request_prefix').with_value('') } @@ -312,7 +297,7 @@ describe 'sahara' do it_configures 'sahara' it_configures 'sahara config' it_configures 'sahara ssl' - it_configures 'sahara rpc_backend' + it_configures 'sahara rpc' end end