diff --git a/manifests/api.pp b/manifests/api.pp index dbf48f95..2cfd560d 100644 --- a/manifests/api.pp +++ b/manifests/api.pp @@ -216,7 +216,8 @@ class trove::api( } oslo::messaging::default { 'trove_config': - control_exchange => $::trove::control_exchange + transport_url => $::trove::default_transport_url, + control_exchange => $::trove::control_exchange } if $identity_uri { @@ -346,8 +347,9 @@ class trove::api( } oslo::messaging::notifications { 'trove_config': - driver => $::trove::notification_driver, - topics => $::trove::notification_topics + transport_url => $::trove::notification_transport_url, + driver => $::trove::notification_driver, + topics => $::trove::notification_topics } if $::trove::rpc_backend == 'trove.openstack.common.rpc.impl_kombu' or $::trove::rpc_backend == 'rabbit' { diff --git a/manifests/conductor.pp b/manifests/conductor.pp index fe334052..1eed7b0b 100644 --- a/manifests/conductor.pp +++ b/manifests/conductor.pp @@ -112,7 +112,6 @@ class trove::conductor( 'DEFAULT/nova_proxy_admin_user': value => $::trove::nova_proxy_admin_user; 'DEFAULT/nova_proxy_admin_tenant_name': value => $::trove::nova_proxy_admin_tenant_name; 'DEFAULT/nova_proxy_admin_pass': value => $::trove::nova_proxy_admin_pass; - 'DEFAULT/control_exchange': value => $::trove::control_exchange; 'DEFAULT/trove_conductor_workers': value => $workers; } # profiler config @@ -121,9 +120,15 @@ class trove::conductor( 'profiler/trace_sqlalchemy': value => $trace_sqlalchemy; } + oslo::messaging::default { 'trove_conductor_config': + transport_url => $::trove::default_transport_url, + control_exchange => $::trove::control_exchange, + } + oslo::messaging::notifications { 'trove_conductor_config': - driver => $::trove::notification_driver, - topics => $::trove::notification_topics + transport_url => $::trove::notification_transport_url, + driver => $::trove::notification_driver, + topics => $::trove::notification_topics } if $::trove::rpc_backend == 'trove.openstack.common.rpc.impl_kombu' or $::trove::rpc_backend == 'rabbit' { @@ -144,7 +149,7 @@ class trove::conductor( kombu_ssl_version => $::trove::kombu_ssl_version } } elsif $::trove::rpc_backend == 'amqp' { - oslo::messaging::amqp { 'trove_config': + oslo::messaging::amqp { 'trove_conductor_config': server_request_prefix => $::trove::amqp_server_request_prefix, broadcast_prefix => $::trove::amqp_broadcast_prefix, group_request_prefix => $::trove::amqp_group_request_prefix, diff --git a/manifests/guestagent.pp b/manifests/guestagent.pp index 7fa27c6f..663a8092 100644 --- a/manifests/guestagent.pp +++ b/manifests/guestagent.pp @@ -47,10 +47,6 @@ # lookup the URL using the Keystone catalog. # Defaults to $::os_service_default. # -# [*control_exchange*] -# (optional) Control exchange. -# Defaults to 'trove'. -# # [*rabbit_hosts*] # (optional) List of clustered rabbit servers. # Defaults to the value set in the trove class. @@ -78,7 +74,7 @@ # The default can generally be left unless the # guests need to talk to the rabbit cluster via # a different ssl connection option. - +# # DEPRECATED PARAMETERS # # [*verbose*] @@ -98,6 +94,10 @@ # (optional) Default password Length for root password. # Defaults to $::os_service_default. # +# [*control_exchange*] +# (Optional) Moved to init.pp. The default exchange to scope topics. +# Defaults to undef. +# class trove::guestagent( $enabled = true, $manage_service = true, @@ -109,7 +109,6 @@ class trove::guestagent( $log_facility = $::os_service_default, $auth_url = 'http://localhost:5000/v2.0', $swift_url = $::os_service_default, - $control_exchange = 'trove', $rabbit_hosts = $::trove::rabbit_hosts, $rabbit_host = $::trove::rabbit_host, $rabbit_port = $::trove::rabbit_port, @@ -119,6 +118,7 @@ class trove::guestagent( $default_password_length = $::os_service_default, #Deprecated $verbose = undef, + $control_exchange = undef, ) inherits trove { include ::trove::deps @@ -138,7 +138,8 @@ class trove::guestagent( } oslo::messaging::default { 'trove_guestagent_config': - control_exchange => $control_exchange + transport_url => $::trove::default_transport_url, + control_exchange => $::trove::control_exchange } # region name @@ -150,8 +151,9 @@ class trove::guestagent( } oslo::messaging::notifications { 'trove_guestagent_config': - driver => $::trove::notification_driver, - topics => $::trove::notification_topics + transport_url => $::trove::notification_transport_url, + driver => $::trove::notification_driver, + topics => $::trove::notification_topics } if $::trove::rpc_backend == 'trove.openstack.common.rpc.impl_kombu' or $::trove::rpc_backend == 'rabbit' { @@ -172,7 +174,7 @@ class trove::guestagent( kombu_ssl_version => $::trove::kombu_ssl_version } } elsif $::trove::rpc_backend == 'amqp' { - oslo::messaging::amqp { 'trove_config': + oslo::messaging::amqp { 'trove_guestagent_config': server_request_prefix => $::trove::amqp_server_request_prefix, broadcast_prefix => $::trove::amqp_broadcast_prefix, group_request_prefix => $::trove::amqp_group_request_prefix, diff --git a/manifests/init.pp b/manifests/init.pp index 8f969055..0a5d037e 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -20,6 +20,20 @@ # Trove base config # # == Parameters +# +# [*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 +# +# [*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*] # (optional) Driver or drivers to handle sending notifications. # Value can be a string or a list. @@ -265,6 +279,8 @@ # class trove( $nova_proxy_admin_pass, + $default_transport_url = $::os_service_default, + $notification_transport_url = $::os_service_default, $notification_driver = $::os_service_default, $notification_topics = $::os_service_default, $rabbit_host = $::os_service_default, diff --git a/manifests/taskmanager.pp b/manifests/taskmanager.pp index b6e9e179..1bb3d6f7 100644 --- a/manifests/taskmanager.pp +++ b/manifests/taskmanager.pp @@ -157,9 +157,15 @@ class trove::taskmanager( 'DEFAULT/heat_service_type': value => $::trove::heat_service_type; } + oslo::messaging::default { 'trove_taskmanager_config': + transport_url => $::trove::default_transport_url, + control_exchange => $::trove::control_exchange + } + oslo::messaging::notifications { 'trove_taskmanager_config': - driver => $::trove::notification_driver, - topics => $::trove::notification_topics + transport_url => $::trove::notification_transport_url, + driver => $::trove::notification_driver, + topics => $::trove::notification_topics } if $::trove::rpc_backend == 'trove.openstack.common.rpc.impl_kombu' or $::trove::rpc_backend == 'rabbit' { @@ -180,7 +186,7 @@ class trove::taskmanager( kombu_ssl_version => $::trove::kombu_ssl_version } } elsif $::trove::rpc_backend == 'amqp' { - oslo::messaging::amqp { 'trove_config': + oslo::messaging::amqp { 'trove_taskmanager_config': server_request_prefix => $::trove::amqp_server_request_prefix, broadcast_prefix => $::trove::amqp_broadcast_prefix, group_request_prefix => $::trove::amqp_group_request_prefix, diff --git a/releasenotes/notes/add_transport_url_parameters-eaef5deb44a5bced.yaml b/releasenotes/notes/add_transport_url_parameters-eaef5deb44a5bced.yaml new file mode 100644 index 00000000..7c722490 --- /dev/null +++ b/releasenotes/notes/add_transport_url_parameters-eaef5deb44a5bced.yaml @@ -0,0 +1,7 @@ +--- +features: + - Add oslo.messaging transport_url parameters via puppet-oslo resource +deprecations: + - For the guestagent, control_exchange moved to trove class definition + as it is intrinsic to default messaging configuration. It can no longer + be set via the guestagent class and will be removed in a future release. \ No newline at end of file diff --git a/spec/classes/trove_api_spec.rb b/spec/classes/trove_api_spec.rb index cf0d103f..42f5cc1f 100644 --- a/spec/classes/trove_api_spec.rb +++ b/spec/classes/trove_api_spec.rb @@ -85,6 +85,8 @@ describe 'trove::api' do is_expected.to contain_trove_config('DEFAULT/http_put_rate').with_value('200') is_expected.to contain_trove_config('DEFAULT/http_delete_rate').with_value('200') is_expected.to contain_trove_config('DEFAULT/http_mgmt_post_rate').with_value('200') + is_expected.to contain_trove_config('DEFAULT/transport_url').with_value('') + is_expected.to contain_trove_config('oslo_messaging_notifications/transport_url').with_value('') is_expected.to contain_trove_config('oslo_messaging_notifications/driver').with_value('') is_expected.to contain_trove_config('oslo_messaging_notifications/topics').with_value('') is_expected.to contain_trove_config('oslo_messaging_rabbit/rabbit_userid').with_value('') @@ -249,6 +251,20 @@ describe 'trove::api' do end end + context 'with transport_url entries' do + let :pre_condition do + "class { 'trove': + nova_proxy_admin_pass => 'verysecrete', + default_transport_url => 'rabbit://rabbit_user:password@localhost:5673', + notification_transport_url => 'rabbit://rabbit_user:password@localhost:5673' }" + end + + it do + is_expected.to contain_trove_config('DEFAULT/transport_url').with_value('rabbit://rabbit_user:password@localhost:5673') + is_expected.to contain_trove_config('oslo_messaging_notifications/transport_url').with_value('rabbit://rabbit_user:password@localhost:5673') + end + end + context 'with amqp rpc' do let :pre_condition do "class { 'trove' : diff --git a/spec/classes/trove_conductor_spec.rb b/spec/classes/trove_conductor_spec.rb index 25910cdc..74fa6722 100644 --- a/spec/classes/trove_conductor_spec.rb +++ b/spec/classes/trove_conductor_spec.rb @@ -34,6 +34,8 @@ describe 'trove::conductor' do is_expected.to contain_trove_conductor_config('DEFAULT/nova_proxy_admin_user').with_value('admin') is_expected.to contain_trove_conductor_config('DEFAULT/nova_proxy_admin_pass').with_value('verysecrete') is_expected.to contain_trove_conductor_config('DEFAULT/nova_proxy_admin_tenant_name').with_value('admin') + is_expected.to contain_trove_conductor_config('DEFAULT/transport_url').with_value('') + is_expected.to contain_trove_conductor_config('oslo_messaging_notifications/transport_url').with_value('') is_expected.to contain_trove_conductor_config('oslo_messaging_rabbit/rabbit_userid').with_value('') is_expected.to contain_trove_conductor_config('oslo_messaging_rabbit/rabbit_password').with_value('') is_expected.to contain_trove_conductor_config('oslo_messaging_rabbit/rabbit_use_ssl').with_value('') @@ -148,6 +150,20 @@ describe 'trove::conductor' do end end + context 'with transport_url entries' do + let :pre_condition do + "class { 'trove': + nova_proxy_admin_pass => 'verysecrete', + default_transport_url => 'rabbit://rabbit_user:password@localhost:5673', + notification_transport_url => 'rabbit://rabbit_user:password@localhost:5673' }" + end + + it do + is_expected.to contain_trove_conductor_config('DEFAULT/transport_url').with_value('rabbit://rabbit_user:password@localhost:5673') + is_expected.to contain_trove_conductor_config('oslo_messaging_notifications/transport_url').with_value('rabbit://rabbit_user:password@localhost:5673') + end + end + context 'with amqp rpc' do let :pre_condition do "class { 'trove' : @@ -156,23 +172,23 @@ describe 'trove::conductor' do end it do - is_expected.to contain_trove_config('DEFAULT/rpc_backend').with_value('amqp') - is_expected.to contain_trove_config('oslo_messaging_amqp/server_request_prefix').with_value('') - is_expected.to contain_trove_config('oslo_messaging_amqp/broadcast_prefix').with_value('') - is_expected.to contain_trove_config('oslo_messaging_amqp/group_request_prefix').with_value('') - is_expected.to contain_trove_config('oslo_messaging_amqp/container_name').with_value('') - is_expected.to contain_trove_config('oslo_messaging_amqp/idle_timeout').with_value('') - is_expected.to contain_trove_config('oslo_messaging_amqp/trace').with_value('') - is_expected.to contain_trove_config('oslo_messaging_amqp/ssl_ca_file').with_value('') - is_expected.to contain_trove_config('oslo_messaging_amqp/ssl_cert_file').with_value('') - is_expected.to contain_trove_config('oslo_messaging_amqp/ssl_key_file').with_value('') - is_expected.to contain_trove_config('oslo_messaging_amqp/ssl_key_password').with_value('') - is_expected.to contain_trove_config('oslo_messaging_amqp/allow_insecure_clients').with_value('') - is_expected.to contain_trove_config('oslo_messaging_amqp/sasl_mechanisms').with_value('') - is_expected.to contain_trove_config('oslo_messaging_amqp/sasl_config_dir').with_value('') - is_expected.to contain_trove_config('oslo_messaging_amqp/sasl_config_name').with_value('') - is_expected.to contain_trove_config('oslo_messaging_amqp/username').with_value('') - is_expected.to contain_trove_config('oslo_messaging_amqp/password').with_value('') + is_expected.to contain_trove_conductor_config('DEFAULT/rpc_backend').with_value('amqp') + is_expected.to contain_trove_conductor_config('oslo_messaging_amqp/server_request_prefix').with_value('') + is_expected.to contain_trove_conductor_config('oslo_messaging_amqp/broadcast_prefix').with_value('') + is_expected.to contain_trove_conductor_config('oslo_messaging_amqp/group_request_prefix').with_value('') + is_expected.to contain_trove_conductor_config('oslo_messaging_amqp/container_name').with_value('') + is_expected.to contain_trove_conductor_config('oslo_messaging_amqp/idle_timeout').with_value('') + is_expected.to contain_trove_conductor_config('oslo_messaging_amqp/trace').with_value('') + is_expected.to contain_trove_conductor_config('oslo_messaging_amqp/ssl_ca_file').with_value('') + is_expected.to contain_trove_conductor_config('oslo_messaging_amqp/ssl_cert_file').with_value('') + is_expected.to contain_trove_conductor_config('oslo_messaging_amqp/ssl_key_file').with_value('') + is_expected.to contain_trove_conductor_config('oslo_messaging_amqp/ssl_key_password').with_value('') + is_expected.to contain_trove_conductor_config('oslo_messaging_amqp/allow_insecure_clients').with_value('') + is_expected.to contain_trove_conductor_config('oslo_messaging_amqp/sasl_mechanisms').with_value('') + is_expected.to contain_trove_conductor_config('oslo_messaging_amqp/sasl_config_dir').with_value('') + is_expected.to contain_trove_conductor_config('oslo_messaging_amqp/sasl_config_name').with_value('') + is_expected.to contain_trove_conductor_config('oslo_messaging_amqp/username').with_value('') + is_expected.to contain_trove_conductor_config('oslo_messaging_amqp/password').with_value('') end end diff --git a/spec/classes/trove_guestagent_spec.rb b/spec/classes/trove_guestagent_spec.rb index 11e53c19..5f95f9ac 100644 --- a/spec/classes/trove_guestagent_spec.rb +++ b/spec/classes/trove_guestagent_spec.rb @@ -34,6 +34,8 @@ describe 'trove::guestagent' do is_expected.to contain_trove_guestagent_config('DEFAULT/log_dir').with_value('/var/log/trove') is_expected.to contain_trove_guestagent_config('DEFAULT/os_region_name').with_value('RegionOne') is_expected.to contain_trove_guestagent_config('DEFAULT/control_exchange').with_value('trove') + is_expected.to contain_trove_guestagent_config('DEFAULT/transport_url').with_value('') + is_expected.to contain_trove_guestagent_config('oslo_messaging_notifications/transport_url').with_value('') is_expected.to contain_trove_guestagent_config('oslo_messaging_notifications/driver').with_value('') is_expected.to contain_trove_guestagent_config('oslo_messaging_notifications/topics').with_value('') is_expected.to contain_trove_guestagent_config('oslo_messaging_rabbit/rabbit_host').with_value('') @@ -168,6 +170,20 @@ describe 'trove::guestagent' do end end + context 'with transport_url entries' do + let :pre_condition do + "class { 'trove': + nova_proxy_admin_pass => 'verysecrete', + default_transport_url => 'rabbit://rabbit_user:password@localhost:5673', + notification_transport_url => 'rabbit://rabbit_user:password@localhost:5673' }" + end + + it do + is_expected.to contain_trove_guestagent_config('DEFAULT/transport_url').with_value('rabbit://rabbit_user:password@localhost:5673') + is_expected.to contain_trove_guestagent_config('oslo_messaging_notifications/transport_url').with_value('rabbit://rabbit_user:password@localhost:5673') + end + end + context 'with amqp rpc' do let :pre_condition do "class { 'trove' : @@ -176,23 +192,23 @@ describe 'trove::guestagent' do end it do - is_expected.to contain_trove_config('DEFAULT/rpc_backend').with_value('amqp') - is_expected.to contain_trove_config('oslo_messaging_amqp/server_request_prefix').with_value('') - is_expected.to contain_trove_config('oslo_messaging_amqp/broadcast_prefix').with_value('') - is_expected.to contain_trove_config('oslo_messaging_amqp/group_request_prefix').with_value('') - is_expected.to contain_trove_config('oslo_messaging_amqp/container_name').with_value('') - is_expected.to contain_trove_config('oslo_messaging_amqp/idle_timeout').with_value('') - is_expected.to contain_trove_config('oslo_messaging_amqp/trace').with_value('') - is_expected.to contain_trove_config('oslo_messaging_amqp/ssl_ca_file').with_value('') - is_expected.to contain_trove_config('oslo_messaging_amqp/ssl_cert_file').with_value('') - is_expected.to contain_trove_config('oslo_messaging_amqp/ssl_key_file').with_value('') - is_expected.to contain_trove_config('oslo_messaging_amqp/ssl_key_password').with_value('') - is_expected.to contain_trove_config('oslo_messaging_amqp/allow_insecure_clients').with_value('') - is_expected.to contain_trove_config('oslo_messaging_amqp/sasl_mechanisms').with_value('') - is_expected.to contain_trove_config('oslo_messaging_amqp/sasl_config_dir').with_value('') - is_expected.to contain_trove_config('oslo_messaging_amqp/sasl_config_name').with_value('') - is_expected.to contain_trove_config('oslo_messaging_amqp/username').with_value('') - is_expected.to contain_trove_config('oslo_messaging_amqp/password').with_value('') + is_expected.to contain_trove_guestagent_config('DEFAULT/rpc_backend').with_value('amqp') + is_expected.to contain_trove_guestagent_config('oslo_messaging_amqp/server_request_prefix').with_value('') + is_expected.to contain_trove_guestagent_config('oslo_messaging_amqp/broadcast_prefix').with_value('') + is_expected.to contain_trove_guestagent_config('oslo_messaging_amqp/group_request_prefix').with_value('') + is_expected.to contain_trove_guestagent_config('oslo_messaging_amqp/container_name').with_value('') + is_expected.to contain_trove_guestagent_config('oslo_messaging_amqp/idle_timeout').with_value('') + is_expected.to contain_trove_guestagent_config('oslo_messaging_amqp/trace').with_value('') + is_expected.to contain_trove_guestagent_config('oslo_messaging_amqp/ssl_ca_file').with_value('') + is_expected.to contain_trove_guestagent_config('oslo_messaging_amqp/ssl_cert_file').with_value('') + is_expected.to contain_trove_guestagent_config('oslo_messaging_amqp/ssl_key_file').with_value('') + is_expected.to contain_trove_guestagent_config('oslo_messaging_amqp/ssl_key_password').with_value('') + is_expected.to contain_trove_guestagent_config('oslo_messaging_amqp/allow_insecure_clients').with_value('') + is_expected.to contain_trove_guestagent_config('oslo_messaging_amqp/sasl_mechanisms').with_value('') + is_expected.to contain_trove_guestagent_config('oslo_messaging_amqp/sasl_config_dir').with_value('') + is_expected.to contain_trove_guestagent_config('oslo_messaging_amqp/sasl_config_name').with_value('') + is_expected.to contain_trove_guestagent_config('oslo_messaging_amqp/username').with_value('') + is_expected.to contain_trove_guestagent_config('oslo_messaging_amqp/password').with_value('') end end diff --git a/spec/classes/trove_taskmanager_spec.rb b/spec/classes/trove_taskmanager_spec.rb index 8ceb8ae4..02708083 100644 --- a/spec/classes/trove_taskmanager_spec.rb +++ b/spec/classes/trove_taskmanager_spec.rb @@ -69,6 +69,8 @@ describe 'trove::taskmanager' do is_expected.to contain_trove_taskmanager_config('DEFAULT/neutron_service_type').with_value('network') is_expected.to contain_trove_config('DEFAULT/taskmanager_queue').with_value('taskmanager') is_expected.to contain_file('/etc/trove/trove-guestagent.conf') + is_expected.to contain_trove_taskmanager_config('DEFAULT/transport_url').with_value('') + is_expected.to contain_trove_taskmanager_config('oslo_messaging_notifications/transport_url').with_value('') is_expected.to contain_trove_taskmanager_config('oslo_messaging_notifications/driver').with_value('') is_expected.to contain_trove_taskmanager_config('oslo_messaging_notifications/topics').with_value('') is_expected.to contain_trove_taskmanager_config('oslo_messaging_rabbit/rabbit_userid').with_value('') @@ -257,6 +259,20 @@ describe 'trove::taskmanager' do end end + context 'with transport_url entries' do + let :pre_condition do + "class { 'trove': + nova_proxy_admin_pass => 'verysecrete', + default_transport_url => 'rabbit://rabbit_user:password@localhost:5673', + notification_transport_url => 'rabbit://rabbit_user:password@localhost:5673' }" + end + + it do + is_expected.to contain_trove_taskmanager_config('DEFAULT/transport_url').with_value('rabbit://rabbit_user:password@localhost:5673') + is_expected.to contain_trove_taskmanager_config('oslo_messaging_notifications/transport_url').with_value('rabbit://rabbit_user:password@localhost:5673') + end + end + context 'with amqp rpc' do let :pre_condition do "class { 'trove' : @@ -265,23 +281,23 @@ describe 'trove::taskmanager' do end it do - is_expected.to contain_trove_config('DEFAULT/rpc_backend').with_value('amqp') - is_expected.to contain_trove_config('oslo_messaging_amqp/server_request_prefix').with_value('') - is_expected.to contain_trove_config('oslo_messaging_amqp/broadcast_prefix').with_value('') - is_expected.to contain_trove_config('oslo_messaging_amqp/group_request_prefix').with_value('') - is_expected.to contain_trove_config('oslo_messaging_amqp/container_name').with_value('') - is_expected.to contain_trove_config('oslo_messaging_amqp/idle_timeout').with_value('') - is_expected.to contain_trove_config('oslo_messaging_amqp/trace').with_value('') - is_expected.to contain_trove_config('oslo_messaging_amqp/ssl_ca_file').with_value('') - is_expected.to contain_trove_config('oslo_messaging_amqp/ssl_cert_file').with_value('') - is_expected.to contain_trove_config('oslo_messaging_amqp/ssl_key_file').with_value('') - is_expected.to contain_trove_config('oslo_messaging_amqp/ssl_key_password').with_value('') - is_expected.to contain_trove_config('oslo_messaging_amqp/allow_insecure_clients').with_value('') - is_expected.to contain_trove_config('oslo_messaging_amqp/sasl_mechanisms').with_value('') - is_expected.to contain_trove_config('oslo_messaging_amqp/sasl_config_dir').with_value('') - is_expected.to contain_trove_config('oslo_messaging_amqp/sasl_config_name').with_value('') - is_expected.to contain_trove_config('oslo_messaging_amqp/username').with_value('') - is_expected.to contain_trove_config('oslo_messaging_amqp/password').with_value('') + is_expected.to contain_trove_taskmanager_config('DEFAULT/rpc_backend').with_value('amqp') + is_expected.to contain_trove_taskmanager_config('oslo_messaging_amqp/server_request_prefix').with_value('') + is_expected.to contain_trove_taskmanager_config('oslo_messaging_amqp/broadcast_prefix').with_value('') + is_expected.to contain_trove_taskmanager_config('oslo_messaging_amqp/group_request_prefix').with_value('') + is_expected.to contain_trove_taskmanager_config('oslo_messaging_amqp/container_name').with_value('') + is_expected.to contain_trove_taskmanager_config('oslo_messaging_amqp/idle_timeout').with_value('') + is_expected.to contain_trove_taskmanager_config('oslo_messaging_amqp/trace').with_value('') + is_expected.to contain_trove_taskmanager_config('oslo_messaging_amqp/ssl_ca_file').with_value('') + is_expected.to contain_trove_taskmanager_config('oslo_messaging_amqp/ssl_cert_file').with_value('') + is_expected.to contain_trove_taskmanager_config('oslo_messaging_amqp/ssl_key_file').with_value('') + is_expected.to contain_trove_taskmanager_config('oslo_messaging_amqp/ssl_key_password').with_value('') + is_expected.to contain_trove_taskmanager_config('oslo_messaging_amqp/allow_insecure_clients').with_value('') + is_expected.to contain_trove_taskmanager_config('oslo_messaging_amqp/sasl_mechanisms').with_value('') + is_expected.to contain_trove_taskmanager_config('oslo_messaging_amqp/sasl_config_dir').with_value('') + is_expected.to contain_trove_taskmanager_config('oslo_messaging_amqp/sasl_config_name').with_value('') + is_expected.to contain_trove_taskmanager_config('oslo_messaging_amqp/username').with_value('') + is_expected.to contain_trove_taskmanager_config('oslo_messaging_amqp/password').with_value('') end end end