diff --git a/deployment/puppet/openstack_tasks/Puppetfile b/deployment/puppet/openstack_tasks/Puppetfile index d30df82bbf..5e9b84d31b 100644 --- a/deployment/puppet/openstack_tasks/Puppetfile +++ b/deployment/puppet/openstack_tasks/Puppetfile @@ -74,7 +74,7 @@ mod 'oslo', # Pull in puppet-neutron mod 'neutron', :git => 'https://github.com/fuel-infra/puppet-neutron.git', - :ref => '9.5.0' + :ref => '215990ecc0ec48f6c954dba0f3f25573c4bf9ad5' # Pull in puppet-nova mod 'nova', diff --git a/deployment/puppet/openstack_tasks/manifests/glance/glance.pp b/deployment/puppet/openstack_tasks/manifests/glance/glance.pp index 4c951999d3..bbba7dd75b 100644 --- a/deployment/puppet/openstack_tasks/manifests/glance/glance.pp +++ b/deployment/puppet/openstack_tasks/manifests/glance/glance.pp @@ -52,16 +52,14 @@ class openstack_tasks::glance::glance { 'extra' => $extra_params }) + $transport_url = hiera('transport_url','rabbit://guest:password@127.0.0.1:5672/') + $api_bind_host = get_network_role_property('glance/api', 'ipaddr') $glare_bind_host = get_network_role_property('glance/glare', 'ipaddr') $enabled = true $max_retries = '-1' $idle_timeout = '3600' - $rabbit_password = $rabbit_hash['password'] - $rabbit_userid = $rabbit_hash['user'] - $rabbit_hosts = split(hiera('amqp_hosts',''), ',') - $glance_user = pick($glance_hash['user'],'glance') $glance_user_password = $glance_hash['user_password'] $glance_tenant = pick($glance_hash['tenant'],'services') @@ -237,9 +235,7 @@ class openstack_tasks::glance::glance { class { '::glance::notify::rabbitmq': rabbit_notification_exchange => 'glance', rabbit_notification_topic => 'notifications', - rabbit_password => $rabbit_password, - rabbit_userid => $rabbit_userid, - rabbit_hosts => $rabbit_hosts, + default_transport_url => $transport_url, notification_driver => $ceilometer_hash['notification_driver'], kombu_compression => $kombu_compression, rabbit_heartbeat_timeout_threshold => $rabbit_heartbeat_timeout_threshold, diff --git a/deployment/puppet/openstack_tasks/manifests/heat/heat.pp b/deployment/puppet/openstack_tasks/manifests/heat/heat.pp index 4a371e3e92..7b769dc4fc 100644 --- a/deployment/puppet/openstack_tasks/manifests/heat/heat.pp +++ b/deployment/puppet/openstack_tasks/manifests/heat/heat.pp @@ -79,6 +79,8 @@ class openstack_tasks::heat::heat { 'extra' => $extra_params }) + $transport_url = hiera('transport_url','rabbit://guest:password@127.0.0.1:5672/') + ####### Disable upstart startup on install ####### if $::operatingsystem == 'Ubuntu' { tweaks::ubuntu_service_override { 'heat-api-cloudwatch': @@ -190,11 +192,8 @@ class openstack_tasks::heat::heat { database_idle_timeout => $idle_timeout, sync_db => $primary_controller, - rpc_backend => 'rabbit', + default_transport_url => $transport_url, rpc_response_timeout => '600', - rabbit_hosts => split(hiera('amqp_hosts',''), ','), - rabbit_userid => $rabbit_hash['user'], - rabbit_password => $rabbit_hash['password'], rabbit_heartbeat_timeout_threshold => $rabbit_heartbeat_timeout_threshold, rabbit_heartbeat_rate => $rabbit_heartbeat_rate, diff --git a/deployment/puppet/openstack_tasks/manifests/keystone/keystone.pp b/deployment/puppet/openstack_tasks/manifests/keystone/keystone.pp index 0d96b177a5..8535821c9a 100644 --- a/deployment/puppet/openstack_tasks/manifests/keystone/keystone.pp +++ b/deployment/puppet/openstack_tasks/manifests/keystone/keystone.pp @@ -54,6 +54,8 @@ class openstack_tasks::keystone::keystone { 'extra' => $extra_params }) + $transport_url = hiera('transport_url','rabbit://guest:password@127.0.0.1:5672/') + $admin_token = $keystone_hash['admin_token'] $admin_tenant = $access_hash['tenant'] $admin_email = $access_hash['email'] @@ -100,10 +102,6 @@ class openstack_tasks::keystone::keystone { $vhost_limit_request_field_size = 'LimitRequestFieldSize 81900' - $rabbit_password = $rabbit_hash['password'] - $rabbit_user = $rabbit_hash['user'] - $rabbit_hosts = split(hiera('amqp_hosts',''), ',') - $max_pool_size = hiera('max_pool_size') $max_overflow = hiera('max_overflow') $max_retries = '-1' @@ -314,6 +312,7 @@ class openstack_tasks::keystone::keystone { admin_password => $admin_password, enabled => false, database_connection => $db_connection, + default_transport_url => $transport_url, database_max_retries => $max_retries, database_max_pool_size => $max_pool_size, database_max_overflow => $max_overflow, @@ -325,9 +324,6 @@ class openstack_tasks::keystone::keystone { use_stderr => $use_stderr, database_idle_timeout => $database_idle_timeout, sync_db => $primary_keystone, - rabbit_password => $rabbit_password, - rabbit_userid => $rabbit_user, - rabbit_hosts => $rabbit_hosts, memcache_servers => $memcache_servers, token_driver => $token_driver, token_provider => $token_provider, diff --git a/deployment/puppet/openstack_tasks/manifests/openstack_cinder/openstack_cinder.pp b/deployment/puppet/openstack_tasks/manifests/openstack_cinder/openstack_cinder.pp index 6eccfc37b4..ec6018460c 100644 --- a/deployment/puppet/openstack_tasks/manifests/openstack_cinder/openstack_cinder.pp +++ b/deployment/puppet/openstack_tasks/manifests/openstack_cinder/openstack_cinder.pp @@ -45,6 +45,8 @@ class openstack_tasks::openstack_cinder::openstack_cinder { 'extra' => $extra_params }) + $transport_url = hiera('transport_url','rabbit://guest:password@127.0.0.1:5672/') + $rabbit_heartbeat_timeout_threshold = pick($cinder_hash['rabbit_heartbeat_timeout_threshold'], $rabbit_hash['heartbeat_timeout_threshold'], 60) $rabbit_heartbeat_rate = pick($cinder_hash['rabbit_heartbeat_rate'], $rabbit_hash['rabbit_heartbeat_rate'], 2) @@ -128,11 +130,8 @@ class openstack_tasks::openstack_cinder::openstack_cinder { $keymgr_encryption_auth_url = "${auth_url}/v3" class { '::cinder': - rpc_backend => $queue_provider, - rabbit_hosts => split(hiera('amqp_hosts',''), ','), - rabbit_userid => $rabbit_hash['user'], - rabbit_password => $rabbit_hash['password'], database_connection => $db_connection, + default_transport_url => $transport_url, use_syslog => $use_syslog, use_stderr => $use_stderr, log_facility => hiera('syslog_log_facility_cinder', 'LOG_LOCAL3'), diff --git a/deployment/puppet/openstack_tasks/manifests/openstack_controller/openstack_controller.pp b/deployment/puppet/openstack_tasks/manifests/openstack_controller/openstack_controller.pp index 458c34c8fb..5222a3797b 100644 --- a/deployment/puppet/openstack_tasks/manifests/openstack_controller/openstack_controller.pp +++ b/deployment/puppet/openstack_tasks/manifests/openstack_controller/openstack_controller.pp @@ -116,6 +116,8 @@ class openstack_tasks::openstack_controller::openstack_controller { 'extra' => $extra_params }) + $transport_url = hiera('transport_url','rabbit://guest:password@127.0.0.1:5672/') + # SQLAlchemy backend configuration $max_pool_size = hiera('max_pool_size', min($::processorcount * 5 + 0, 30 + 0)) $max_overflow = hiera('max_overflow', min($::processorcount * 5 + 0, 60 + 0)) @@ -159,11 +161,6 @@ class openstack_tasks::openstack_controller::openstack_controller { $memcached_address = get_network_role_property('mgmt/memcache', 'ipaddr') $memcached_authtoken_server = "${memcached_address}:${memcached_port}" - - $rpc_backend = 'nova.openstack.common.rpc.impl_kombu' - $amqp_hosts = hiera('amqp_hosts','') - $amqp_user = $rabbit_hash['user'] - $amqp_password = $rabbit_hash['password'] $debug = pick($openstack_controller_hash['debug'], hiera('debug', true)) $fping_path = $::osfamily ? { @@ -180,11 +177,7 @@ class openstack_tasks::openstack_controller::openstack_controller { class { '::nova': database_connection => $db_connection, api_database_connection => $api_db_connection, - rpc_backend => $rpc_backend, - #FIXME(bogdando) we have to split amqp_hosts until all modules synced - rabbit_hosts => split($amqp_hosts, ','), - rabbit_userid => $amqp_user, - rabbit_password => $amqp_password, + default_transport_url => $transport_url, image_service => 'nova.image.glance.GlanceImageService', glance_api_servers => $glance_api_servers, debug => $debug, diff --git a/deployment/puppet/openstack_tasks/manifests/openstack_network/common_config.pp b/deployment/puppet/openstack_tasks/manifests/openstack_network/common_config.pp index c010810116..996989d4bb 100644 --- a/deployment/puppet/openstack_tasks/manifests/openstack_network/common_config.pp +++ b/deployment/puppet/openstack_tasks/manifests/openstack_network/common_config.pp @@ -40,10 +40,9 @@ class openstack_tasks::openstack_network::common_config { prepare_network_config($network_scheme) $bind_host = get_network_role_property('neutron/api', 'ipaddr') - $base_mac = $neutron_config['L2']['base_mac'] - $amqp_hosts = split(hiera('amqp_hosts', ''), ',') - $amqp_user = $rabbit_hash['user'] - $amqp_password = $rabbit_hash['password'] + $base_mac = $neutron_config['L2']['base_mac'] + + $transport_url = hiera('transport_url','rabbit://guest:password@127.0.0.1:5672/') $kombu_compression = hiera('kombu_compression', $::os_service_default) @@ -79,6 +78,7 @@ class openstack_tasks::openstack_network::common_config { } class { '::neutron' : + default_transport_url => $transport_url, lock_path => '/var/lib/neutron/lock', bind_host => $bind_host, base_mac => $base_mac, @@ -88,9 +88,6 @@ class openstack_tasks::openstack_network::common_config { dhcp_lease_duration => $dhcp_lease_duration, dhcp_agents_per_network => '2', report_interval => $neutron_config['neutron_report_interval'], - rabbit_user => $amqp_user, - rabbit_hosts => $amqp_hosts, - rabbit_password => $amqp_password, rabbit_heartbeat_timeout_threshold => 0, kombu_compression => $kombu_compression, global_physnet_mtu => $physical_net_mtu, diff --git a/deployment/puppet/openstack_tasks/manifests/roles/cinder.pp b/deployment/puppet/openstack_tasks/manifests/roles/cinder.pp index b36619437c..da3c14888a 100644 --- a/deployment/puppet/openstack_tasks/manifests/roles/cinder.pp +++ b/deployment/puppet/openstack_tasks/manifests/roles/cinder.pp @@ -48,6 +48,8 @@ class openstack_tasks::roles::cinder { 'extra' => $extra_params }) + $transport_url = hiera('transport_url','rabbit://guest:password@127.0.0.1:5672/') + $ssl_hash = hiera_hash('use_ssl', {}) $service_endpoint = hiera('service_endpoint') @@ -68,8 +70,6 @@ class openstack_tasks::roles::cinder { $service_port = '5000' $auth_uri = "${keystone_auth_protocol}://${keystone_auth_host}:${service_port}/" - $queue_provider = hiera('queue_provider', 'rabbit') - if (!empty(get_nodes_hash_by_roles($network_metadata, ['ceph-osd'])) or $storage_hash['volumes_ceph'] or $storage_hash['images_ceph'] or @@ -184,13 +184,10 @@ class openstack_tasks::roles::cinder { } class { '::cinder': - rpc_backend => $queue_provider, - rabbit_hosts => split(hiera('amqp_hosts',''), ','), - rabbit_userid => $rabbit_hash['user'], - rabbit_password => $rabbit_hash['password'], - rabbit_ha_queues => hiera('rabbit_ha_queues', false), database_connection => $db_connection, verbose => $verbose, + default_transport_url => $transport_url, + rabbit_ha_queues => hiera('rabbit_ha_queues', false), use_syslog => $use_syslog, use_stderr => $use_stderr, log_facility => hiera('syslog_log_facility_cinder', 'LOG_LOCAL3'), diff --git a/deployment/puppet/openstack_tasks/manifests/roles/compute.pp b/deployment/puppet/openstack_tasks/manifests/roles/compute.pp index 0f8a4e77ae..8b26104c11 100644 --- a/deployment/puppet/openstack_tasks/manifests/roles/compute.pp +++ b/deployment/puppet/openstack_tasks/manifests/roles/compute.pp @@ -51,7 +51,7 @@ class openstack_tasks::roles::compute { $block_device_allocate_retries = hiera('block_device_allocate_retries', 300) $block_device_allocate_retries_interval = hiera('block_device_allocate_retries_interval', 3) - $queue_provider = hiera('queue_provider', 'rabbit') + $transport_url = hiera('transport_url','rabbit://guest:password@127.0.0.1:5672/') include ::osnailyfacter::test_compute @@ -242,11 +242,7 @@ class openstack_tasks::roles::compute { $notify_on_state_change = 'vm_and_task_state' class { '::nova': - rpc_backend => $queue_provider, - #FIXME(bogdando) we have to split amqp_hosts until all modules synced - rabbit_hosts => split(hiera('amqp_hosts',''), ','), - rabbit_userid => pick($rabbit_hash['user'], 'nova'), - rabbit_password => $rabbit_hash['password'], + default_transport_url => $transport_url, glance_api_servers => $glance_api_servers, debug => $debug, use_syslog => $use_syslog, diff --git a/deployment/puppet/osnailyfacter/manifests/globals/globals.pp b/deployment/puppet/osnailyfacter/manifests/globals/globals.pp index 6385bf1fb5..f9e8ccbc4f 100644 --- a/deployment/puppet/osnailyfacter/manifests/globals/globals.pp +++ b/deployment/puppet/osnailyfacter/manifests/globals/globals.pp @@ -305,6 +305,15 @@ class osnailyfacter::globals::globals { $amqp_hosts = amqp_hosts($amqp_ips, $amqp_port, get_network_role_property('mgmt/messaging', 'ipaddr')) } + $rabbit_user = $real_rabbit_hash['user'] + $rabbit_password = $real_rabbit_hash['password'] + $transport_url = os_transport_url({ + 'transport' => 'rabbit', + 'hosts' => strip(split($amqp_hosts,',')), + 'username' => $rabbit_user, + 'password' => $rabbit_password, + }) + # Generic workers limits by RAM # Defines the total RAM every single worker of all service types may consume. # More services share the same node, more RAM ratio should be given to the workers. diff --git a/deployment/puppet/osnailyfacter/templates/globals_yaml.erb b/deployment/puppet/osnailyfacter/templates/globals_yaml.erb index 4fa09e429b..886234220a 100644 --- a/deployment/puppet/osnailyfacter/templates/globals_yaml.erb +++ b/deployment/puppet/osnailyfacter/templates/globals_yaml.erb @@ -105,6 +105,7 @@ <% globals.store "syslog_log_facility_sahara", @syslog_log_facility_sahara -%> <% globals.store "syslog_log_facility_ironic", @syslog_log_facility_ironic -%> <% globals.store "token_provider", @token_provider -%> +<% globals.store "transport_url", @transport_url -%> <% globals.store "use_ceilometer", @use_ceilometer -%> <% globals.store "use_ovs", @use_ovs -%> <% globals.store "use_syslog", @use_syslog -%> diff --git a/tests/noop/spec/hosts/glance/glance_spec.rb b/tests/noop/spec/hosts/glance/glance_spec.rb index 4ed33861a0..880cdc62c7 100644 --- a/tests/noop/spec/hosts/glance/glance_spec.rb +++ b/tests/noop/spec/hosts/glance/glance_spec.rb @@ -72,9 +72,17 @@ describe manifest do let(:memcached_servers) { Noop.hiera 'memcached_servers' } + let(:transport_url) { Noop.hiera 'transport_url', 'rabbit://guest:password@127.0.0.1:5672/' } + rabbit_heartbeat_timeout_threshold = Noop.puppet_function 'pick', glance_config['rabbit_heartbeat_timeout_threshold'], rabbit_hash['heartbeat_timeout_treshold'], 60 rabbit_heartbeat_rate = Noop.puppet_function 'pick', glance_config['rabbit_heartbeat_rate'], rabbit_hash['heartbeat_rate'], 2 + it 'should contain correct transport url' do + should contain_class('glance::notify::rabbitmq').with(:default_transport_url => transport_url) + should contain_glance_api_config('DEFAULT/transport_url').with_value(transport_url) + should contain_glance_registry_config('DEFAULT/transport_url').with_value(transport_url) + end + it 'should configure RabbitMQ Heartbeat parameters' do should contain_glance_api_config('oslo_messaging_rabbit/heartbeat_timeout_threshold').with_value(rabbit_heartbeat_timeout_threshold) should contain_glance_api_config('oslo_messaging_rabbit/heartbeat_rate').with_value(rabbit_heartbeat_rate) diff --git a/tests/noop/spec/hosts/heat/heat_spec.rb b/tests/noop/spec/hosts/heat/heat_spec.rb index 98030fd2fc..180499777e 100644 --- a/tests/noop/spec/hosts/heat/heat_spec.rb +++ b/tests/noop/spec/hosts/heat/heat_spec.rb @@ -75,9 +75,16 @@ describe manifest do heat_hash = Noop.hiera_structure 'heat', {} rabbit_hash = Noop.hiera_structure 'rabbit', {} + let(:transport_url) { Noop.hiera 'transport_url', 'rabbit://guest:password@127.0.0.1:5672/' } + rabbit_heartbeat_timeout_threshold = Noop.puppet_function 'pick', heat_hash['rabbit_heartbeat_timeout_threshold'], rabbit_hash['heartbeat_timeout_treshold'], 60 rabbit_heartbeat_rate = Noop.puppet_function 'pick', heat_hash['rabbit_heartbeat_rate'], rabbit_hash['heartbeat_rate'], 2 + it 'should contain correct transport url' do + should contain_class('heat').with(:default_transport_url => transport_url) + should contain_heat_config('DEFAULT/transport_url').with_value(transport_url) + end + it 'should configure RabbitMQ Heartbeat parameters' do should contain_heat_config('oslo_messaging_rabbit/heartbeat_timeout_threshold').with_value(rabbit_heartbeat_timeout_threshold) should contain_heat_config('oslo_messaging_rabbit/heartbeat_rate').with_value(rabbit_heartbeat_rate) diff --git a/tests/noop/spec/hosts/keystone/keystone_spec.rb b/tests/noop/spec/hosts/keystone/keystone_spec.rb index 73df55665d..909cee8c74 100644 --- a/tests/noop/spec/hosts/keystone/keystone_spec.rb +++ b/tests/noop/spec/hosts/keystone/keystone_spec.rb @@ -93,9 +93,16 @@ describe manifest do rabbit_hash = Noop.hiera_structure 'rabbit', {} + let(:transport_url) { Noop.hiera 'transport_url', 'rabbit://guest:password@127.0.0.1:5672/' } + rabbit_heartbeat_timeout_threshold = Noop.puppet_function 'pick', keystone_hash['rabbit_heartbeat_timeout_threshold'], rabbit_hash['heartbeat_timeout_treshold'], 60 rabbit_heartbeat_rate = Noop.puppet_function 'pick', keystone_hash['rabbit_heartbeat_rate'], rabbit_hash['heartbeat_rate'], 2 + it 'should contain correct transport url' do + should contain_class('keystone').with(:default_transport_url => transport_url) + should contain_keystone_config('DEFAULT/transport_url').with_value(transport_url) + end + it 'should configure RabbitMQ Heartbeat parameters' do should contain_keystone_config('oslo_messaging_rabbit/heartbeat_timeout_threshold').with_value(rabbit_heartbeat_timeout_threshold) should contain_keystone_config('oslo_messaging_rabbit/heartbeat_rate').with_value(rabbit_heartbeat_rate) diff --git a/tests/noop/spec/hosts/openstack-cinder/openstack-cinder_spec.rb b/tests/noop/spec/hosts/openstack-cinder/openstack-cinder_spec.rb index 7600a1b62c..0e69da5fed 100644 --- a/tests/noop/spec/hosts/openstack-cinder/openstack-cinder_spec.rb +++ b/tests/noop/spec/hosts/openstack-cinder/openstack-cinder_spec.rb @@ -65,9 +65,16 @@ describe manifest do let(:memcached_servers) { Noop.hiera 'memcached_servers' } + let(:transport_url) { Noop.hiera 'transport_url', 'rabbit://guest:password@127.0.0.1:5672/' } + rabbit_heartbeat_timeout_threshold = Noop.puppet_function 'pick', cinder_hash['rabbit_heartbeat_timeout_threshold'], rabbit_hash['heartbeat_timeout_treshold'], 60 rabbit_heartbeat_rate = Noop.puppet_function 'pick', cinder_hash['rabbit_heartbeat_rate'], rabbit_hash['heartbeat_rate'], 2 + it 'should contain correct transport url' do + should contain_class('cinder').with(:default_transport_url => transport_url) + should contain_cinder_config('DEFAULT/transport_url').with_value(transport_url) + end + it 'should configure RabbitMQ Heartbeat parameters' do should contain_cinder_config('oslo_messaging_rabbit/heartbeat_timeout_threshold').with_value(rabbit_heartbeat_timeout_threshold) should contain_cinder_config('oslo_messaging_rabbit/heartbeat_rate').with_value(rabbit_heartbeat_rate) diff --git a/tests/noop/spec/hosts/openstack-controller/openstack-controller_spec.rb b/tests/noop/spec/hosts/openstack-controller/openstack-controller_spec.rb index c9ba632e61..620acfec69 100644 --- a/tests/noop/spec/hosts/openstack-controller/openstack-controller_spec.rb +++ b/tests/noop/spec/hosts/openstack-controller/openstack-controller_spec.rb @@ -70,9 +70,6 @@ describe manifest do storage_hash = Noop.hiera_structure 'storage' let(:auto_assign_floating_ip) { Noop.hiera 'auto_assign_floating_ip', false } - let(:amqp_hosts) { Noop.hiera 'amqp_hosts', '' } - let(:rabbit_hash) { Noop.hiera_hash 'rabbit', {} } - let(:rabbit_hosts) { Noop.puppet_function 'split', amqp_hosts, ',' } let(:openstack_controller_hash) { Noop.hiera_hash 'openstack_controller', {} } let(:debug) do global_debug = Noop.hiera 'debug', true @@ -118,6 +115,8 @@ describe manifest do let(:ironic_protocol) { Noop.puppet_function 'get_ssl_property',ssl_hash,{},'ironic','internal','protocol','http' } let(:ironic_endpoint) { Noop.puppet_function 'get_ssl_property',ssl_hash,{},'ironic','internal','hostname', ironic_endpoint_default} + rabbit_hash = Noop.hiera_structure 'rabbit', {} + let(:transport_url) { Noop.hiera 'transport_url', 'rabbit://guest:password@127.0.0.1:5672/' } let(:rabbit_heartbeat_timeout_threshold) { Noop.puppet_function 'pick', nova_hash['rabbit_heartbeat_timeout_threshold'], rabbit_hash['heartbeat_timeout_treshold'], 60 } let(:rabbit_heartbeat_rate) { Noop.puppet_function 'pick', nova_hash['rabbit_heartbeat_rate'], rabbit_hash['heartbeat_rate'], 2 } let(:region_name) { Noop.hiera 'region', 'RegionOne' } @@ -190,10 +189,7 @@ describe manifest do max_retries = Noop.hiera 'max_retries', '-1' should contain_class('nova').with( - :rpc_backend => 'nova.openstack.common.rpc.impl_kombu', - :rabbit_hosts => rabbit_hosts, - :rabbit_userid => rabbit_hash['user'], - :rabbit_password => rabbit_hash['password'], + :default_transport_url => transport_url, :image_service => 'nova.image.glance.GlanceImageService', :glance_api_servers => glance_api_servers, :debug => debug, diff --git a/tests/noop/spec/hosts/openstack-network/common-config_spec.rb b/tests/noop/spec/hosts/openstack-network/common-config_spec.rb index 8c8b06bc21..e0c899be08 100644 --- a/tests/noop/spec/hosts/openstack-network/common-config_spec.rb +++ b/tests/noop/spec/hosts/openstack-network/common-config_spec.rb @@ -21,6 +21,9 @@ describe manifest do Noop.puppet_function('get_network_role_property', 'neutron/api', 'ipaddr') end + rabbit_hash = Noop.hiera_hash('rabbit', {}) + let(:transport_url) { Noop.hiera 'transport_url', 'rabbit://guest:password@127.0.0.1:5672/' } + context 'with Neutron' do neutron_config = Noop.hiera('neutron_config') openstack_network_hash = Noop.hiera('openstack_network', {}) @@ -71,12 +74,10 @@ describe manifest do should contain_class('neutron').with('global_physnet_mtu' => physical_net_mtu) } - it 'RMQ options' do - rabbit_hash = Noop.hiera_hash('rabbit', {}) - should contain_class('neutron').with('rabbit_user' => rabbit_hash['user']) - should contain_class('neutron').with('rabbit_password' => rabbit_hash['password']) - should contain_class('neutron').with('rabbit_hosts' => Noop.hiera('amqp_hosts', '').split(',')) - should contain_class('neutron').with('rabbit_heartbeat_timeout_threshold' => 0) + it 'should contain correct RMQ options' do + should contain_class('neutron').with( + :default_transport_url => transport_url, + :rabbit_heartbeat_timeout_threshold => 0) end end diff --git a/tests/noop/spec/hosts/roles/cinder_spec.rb b/tests/noop/spec/hosts/roles/cinder_spec.rb index 8b1519c426..9aaa12e8e1 100644 --- a/tests/noop/spec/hosts/roles/cinder_spec.rb +++ b/tests/noop/spec/hosts/roles/cinder_spec.rb @@ -18,10 +18,12 @@ describe manifest do storage_hash = Noop.hiera_structure 'storage' ceilometer_hash = Noop.hiera_hash 'ceilometer', { 'enabled' => false } + rabbit_hash = Noop.hiera_hash('rabbit', {}) use_ceph = Noop.hiera 'use_ceph' volume_backend_name = storage_hash['volume_backend_names'] volume_group = Noop.hiera('cinder_volume_group', 'cinder') + let(:transport_url) { Noop.hiera 'transport_url', 'rabbit://guest:password@127.0.0.1:5672/' } management_vip = Noop.hiera 'management_vip' database_vip = Noop.hiera('database_vip') cinder_db_type = Noop.hiera_structure 'cinder/db_type', 'mysql+pymysql' @@ -158,6 +160,11 @@ describe manifest do end end + it 'should contain correct transport url' do + should contain_class('cinder').with(:default_transport_url => transport_url) + should contain_cinder_config('DEFAULT/transport_url').with_value(transport_url) + end + it 'should configure kombu compression' do kombu_compression = Noop.hiera 'kombu_compression', facts[:os_service_default] should contain_cinder_config('oslo_messaging_rabbit/kombu_compression').with(:value => kombu_compression) diff --git a/tests/noop/spec/hosts/roles/compute_spec.rb b/tests/noop/spec/hosts/roles/compute_spec.rb index fb276f9383..c2410e37fc 100644 --- a/tests/noop/spec/hosts/roles/compute_spec.rb +++ b/tests/noop/spec/hosts/roles/compute_spec.rb @@ -79,6 +79,8 @@ describe manifest do compute_driver = 'libvirt.LibvirtDriver' end + let(:transport_url) { Noop.hiera 'transport_url', 'rabbit://guest:password@127.0.0.1:5672/' } + let(:rabbit_heartbeat_timeout_threshold) { Noop.puppet_function 'pick', nova_hash['rabbit_heartbeat_timeout_threshold'], rabbit_hash['heartbeat_timeout_treshold'], 60 } let(:rabbit_heartbeat_rate) { Noop.puppet_function 'pick', nova_hash['rabbit_heartbeat_rate'], rabbit_hash['heartbeat_rate'], 2 } @@ -347,6 +349,12 @@ describe manifest do should_not contain_nova_config('database/connection') end + it 'should contain correct transport url' do + should contain_class('nova').with(:default_transport_url => transport_url) + should contain_nova_config('DEFAULT/transport_url').with_value(transport_url) + end + + # SSL support management_vip = Noop.hiera('management_vip') vncproxy_protocol = 'https'