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
This commit is contained in:
ZhongShengping 2017-08-07 14:25:11 +08:00
parent 4ecd012bf0
commit 0f5fbf7a50
3 changed files with 145 additions and 161 deletions

View File

@ -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 {

View File

@ -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.

View File

@ -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('<SERVICE DEFAULT>').with_secret(true) }
it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_userid').with_value('<SERVICE DEFAULT>') }
it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_host').with_value('<SERVICE DEFAULT>') }
it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_port').with_value('<SERVICE DEFAULT>') }
it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_ha_queues').with_value('<SERVICE DEFAULT>') }
it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_virtual_host').with_value('<SERVICE DEFAULT>') }
it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/amqp_durable_queues').with_value('<SERVICE DEFAULT>') }
it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_hosts').with_value('<SERVICE DEFAULT>') }
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('<SERVICE DEFAULT>').with_secret(true) }
it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_userid').with_value('<SERVICE DEFAULT>') }
it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_host').with_value('<SERVICE DEFAULT>') }
it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_port').with_value('<SERVICE DEFAULT>') }
it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_ha_queues').with_value('<SERVICE DEFAULT>') }
it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_virtual_host').with_value('<SERVICE DEFAULT>') }
it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/amqp_durable_queues').with_value('<SERVICE DEFAULT>') }
it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_hosts').with_value('<SERVICE DEFAULT>') }
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('<SERVICE DEFAULT>') }
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('<SERVICE DEFAULT>') }
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('<SERVICE DEFAULT>') }
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('<SERVICE DEFAULT>') }
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('<SERVICE DEFAULT>') }
it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_host').with_value('<SERVICE DEFAULT>') }
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('<SERVICE DEFAULT>') }
it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_host').with_value('<SERVICE DEFAULT>') }
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('<SERVICE DEFAULT>') }
@ -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('<SERVICE DEFAULT>') }
@ -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