Add transport_url parameters for oslo.messaging
This commit adds the transport_url parameters for oslo.messaging. The url is of the form: transport://user:pass@host1:port[,hostN:portN]/virtual_host Where the transport scheme specifies the rpc or notification backend as one of rabbit, amqp, zmq, etc. Oslo.messaging is deprecating the host, port, and auth configuration options [1]. All drivers will get these options via the transport_url. This patch: * use oslo::messaging::default resource * use oslo::messaging::notifications resource * add parameters for transport_url(s) * update spec tests * add feature release note [1] https://review.openstack.org/#/c/317285/ Change-Id: If5f30ba1944d897d2dd63539f4bb8a80e6c46c5e
This commit is contained in:
parent
0dd0534bc5
commit
f8185bb497
@ -5,6 +5,12 @@
|
||||
#
|
||||
# === Parameters
|
||||
#
|
||||
# [*notification_transport_url*]
|
||||
# (optional) A URL representing the messaging driver to use for notifications
|
||||
# and its full configuration. Transport URLs take the form:
|
||||
# transport://user:pass@host1:port[,hostN:portN]/virtual_host
|
||||
# Defaults to $::os_service_default
|
||||
#
|
||||
# [*notification_driver*]
|
||||
# (option) Driver or drivers to handle sending notifications.
|
||||
# The default value of 'messagingv2' is for enabling notifications via
|
||||
@ -14,10 +20,12 @@
|
||||
# was adopted in icehouse/juno. See LP#1425713.
|
||||
#
|
||||
class cinder::ceilometer (
|
||||
$notification_transport_url = $::os_service_default,
|
||||
$notification_driver = 'messagingv2',
|
||||
) {
|
||||
|
||||
oslo::messaging::notifications { 'cinder_config':
|
||||
driver => $notification_driver
|
||||
transport_url => $notification_transport_url,
|
||||
driver => $notification_driver,
|
||||
}
|
||||
}
|
||||
|
@ -13,6 +13,12 @@
|
||||
# (Optional) Should the daemons log debug messages
|
||||
# Defaults to undef.
|
||||
#
|
||||
# [*default_transport_url*]
|
||||
# (optional) A URL representing the messaging driver to use and its full
|
||||
# configuration. Transport URLs take the form:
|
||||
# transport://user:pass@host1:port[,hostN:portN]/virtual_host
|
||||
# Defaults to $::os_service_default
|
||||
#
|
||||
# [*rpc_backend*]
|
||||
# (Optional) Use these options to configure the RabbitMQ message system.
|
||||
# Defaults to 'rabbit'
|
||||
@ -301,6 +307,7 @@ class cinder (
|
||||
$database_max_retries = undef,
|
||||
$database_retry_interval = undef,
|
||||
$database_max_overflow = undef,
|
||||
$default_transport_url = $::os_service_default,
|
||||
$rpc_backend = 'rabbit',
|
||||
$control_exchange = 'openstack',
|
||||
$rabbit_host = $::os_service_default,
|
||||
@ -454,7 +461,8 @@ class cinder (
|
||||
}
|
||||
|
||||
oslo::messaging::default { 'cinder_config':
|
||||
control_exchange => $control_exchange
|
||||
transport_url => $default_transport_url,
|
||||
control_exchange => $control_exchange,
|
||||
}
|
||||
|
||||
if ! $default_availability_zone {
|
||||
|
@ -0,0 +1,3 @@
|
||||
---
|
||||
features:
|
||||
- Add oslo.messaging transport_url parameters via puppet-oslo resource
|
@ -1,9 +1,15 @@
|
||||
require 'spec_helper'
|
||||
|
||||
describe 'cinder::ceilometer' do
|
||||
|
||||
describe 'with default parameters' do
|
||||
|
||||
let :facts do
|
||||
OSDefaults.get_facts({})
|
||||
end
|
||||
|
||||
it 'contains default values' do
|
||||
is_expected.to contain_cinder_config('oslo_messaging_notifications/transport_url').with(
|
||||
:value => '<SERVICE DEFAULT>')
|
||||
is_expected.to contain_cinder_config('oslo_messaging_notifications/driver').with(
|
||||
:value => 'messagingv2')
|
||||
end
|
||||
|
@ -32,6 +32,7 @@ describe 'cinder' do
|
||||
end
|
||||
|
||||
it 'should contain default config' do
|
||||
is_expected.to contain_cinder_config('DEFAULT/transport_url').with(:value => '<SERVICE DEFAULT>')
|
||||
is_expected.to contain_cinder_config('DEFAULT/rpc_backend').with(:value => 'rabbit')
|
||||
is_expected.to contain_cinder_config('DEFAULT/control_exchange').with(:value => 'openstack')
|
||||
is_expected.to contain_cinder_config('DEFAULT/report_interval').with(:value => '<SERVICE DEFAULT>')
|
||||
@ -329,4 +330,14 @@ describe 'cinder' do
|
||||
|
||||
it { is_expected.to contain_cinder_config('DEFAULT/host').with_value('mystring') }
|
||||
end
|
||||
|
||||
describe 'with transport_url' do
|
||||
let :params do
|
||||
req_params.merge({
|
||||
:default_transport_url => 'rabbit://rabbit_user:password@localhost:5673',
|
||||
})
|
||||
end
|
||||
|
||||
it { is_expected.to contain_cinder_config('DEFAULT/transport_url').with_value('rabbit://rabbit_user:password@localhost:5673') }
|
||||
end
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user