diff --git a/contrail/environment/modules/ceilometer/manifests/init.pp b/contrail/environment/modules/ceilometer/manifests/init.pp index dd4e3935..f5061aed 100644 --- a/contrail/environment/modules/ceilometer/manifests/init.pp +++ b/contrail/environment/modules/ceilometer/manifests/init.pp @@ -170,7 +170,7 @@ ceilometer_config { 'DEFAULT/rabbit_host': ensure => absent } ceilometer_config { 'DEFAULT/rabbit_port': ensure => absent } ceilometer_config { 'DEFAULT/rabbit_hosts': - value => join($rabbit_hosts, ',') + value => $rabbit_hosts } } else { ceilometer_config { 'DEFAULT/rabbit_host': value => $rabbit_host } diff --git a/contrail/environment/modules/cinder/manifests/init.pp b/contrail/environment/modules/cinder/manifests/init.pp index 717b1f41..5fcb9e16 100644 --- a/contrail/environment/modules/cinder/manifests/init.pp +++ b/contrail/environment/modules/cinder/manifests/init.pp @@ -218,7 +218,7 @@ } if $rabbit_hosts { - cinder_config { 'DEFAULT/rabbit_hosts': value => join($rabbit_hosts, ',') } + cinder_config { 'DEFAULT/rabbit_hosts': value => $rabbit_hosts } cinder_config { 'DEFAULT/rabbit_ha_queues': value => true } } else { cinder_config { 'DEFAULT/rabbit_host': value => $rabbit_host } diff --git a/contrail/environment/modules/contrail/manifests/compute/config.pp b/contrail/environment/modules/contrail/manifests/compute/config.pp index d58d9665..7475df47 100644 --- a/contrail/environment/modules/contrail/manifests/compute/config.pp +++ b/contrail/environment/modules/contrail/manifests/compute/config.pp @@ -39,6 +39,7 @@ $xmpp_auth_enable = $::contrail::params::xmpp_auth_enable, $xmpp_dns_auth_enable = $::contrail::params::xmpp_dns_auth_enable, $enable_dpdk= $::contrail::params::enable_dpdk, + $contrail_rabbit_servers = $::contrail::params::contrail_rabbit_servers, ) { $config_ip_to_use = $::contrail::params::config_ip_to_use $keystone_ip_to_use = $::contrail::params::keystone_ip_to_use @@ -245,7 +246,8 @@ 'neutron/url' => { value => "http://${config_ip_to_use}:9696" }, 'neutron/url_timeout' => { value => "300" }, 'keystone_authtoken/admin_password'=> { value => "${keystone_admin_password}" }, - 'compute/compute_driver'=> { value => "libvirt.LibvirtDriver" } + 'compute/compute_driver'=> { value => "libvirt.LibvirtDriver" }, + 'DEFAULT/rabbit_hosts' => {value => "${contrail_rabbit_servers}"}, } create_resources(nova_config,$nova_params, {} ) @@ -264,6 +266,17 @@ lens_to_use => 'properties.lns', match_value => 'nova.openstack.common.rpc.impl_qpid', } + # Remove rabbit host and port from nova.conf + contrail::lib::augeas_conf_rm { "compute_rm_rabbit_host": + key => 'rabbit_host', + config_file => '/etc/nova/nova.conf', + lens_to_use => 'properties.lns', + } + contrail::lib::augeas_conf_rm { "compute_rm_rabbit_port": + key => 'rabbit_port', + config_file => '/etc/nova/nova.conf', + lens_to_use => 'properties.lns', + } # Update modprobe.conf if inline_template('<%= @operatingsystem.downcase %>') == 'centos' { diff --git a/contrail/environment/modules/contrail/manifests/config/config.pp b/contrail/environment/modules/contrail/manifests/config/config.pp index 81c326fe..cac099e7 100644 --- a/contrail/environment/modules/contrail/manifests/config/config.pp +++ b/contrail/environment/modules/contrail/manifests/config/config.pp @@ -41,7 +41,7 @@ $config_ip = $::contrail::params::config_ip_to_use, $collector_ip = $::contrail::params::collector_ip_to_use, $vip = $::contrail::params::vip_to_use, - $contrail_rabbit_port= $::contrail::params::contrail_rabbit_port, + $contrail_rabbit_servers= $::contrail::params::contrail_rabbit_servers, $contrail_logoutput = $::contrail::params::contrail_logoutput, ) { # Main code for class starts here @@ -104,17 +104,6 @@ # Set number of config nodes $cfgm_number = size($config_ip_list) - if ($cfgm_number == 1) { - $rabbitmq_conf_template = 'rabbitmq_config_single_node.erb' - } else { - $rabbitmq_conf_template = 'rabbitmq_config.erb' - } - - if ( $host_control_ip == $config_ip_list[0]) { - $master = 'yes' - } else { - $master = 'no' - } File { ensure => 'present' @@ -283,8 +272,7 @@ 'DEFAULTS/disc_server_ip' : value => "$config_ip"; 'DEFAULTS/disc_server_port' : value => '5998'; 'DEFAULTS/zk_server_ip' : value => "$zk_ip_port_list"; - 'DEFAULTS/rabbit_server' : value => "$config_ip"; - 'DEFAULTS/rabbit_port' : value => "$contrail_rabbit_port"; + 'DEFAULTS/rabbit_server' : value => "$contrail_rabbit_servers"; 'SECURITY/use_certs' : value => "$use_certs"; 'SECURITY/keyfile' : value => '/etc/contrail/ssl/private_keys/apiserver_key.pem'; 'SECURITY/certfile' : value => '/etc/contrail/ssl/certs/apiserver.pem'; @@ -312,8 +300,7 @@ 'DEFAULTS/disc_server_port' : value => '5998'; 'DEFAULTS/log_local' : value => '1'; 'DEFAULTS/log_level' : value => 'SYS_NOTICE'; - 'DEFAULTS/rabbit_server' : value => "$config_ip"; - 'DEFAULTS/rabbit_port' : value => "$contrail_rabbit_port"; + 'DEFAULTS/rabbit_server' : value => "$contrail_rabbit_servers"; 'SECURITY/use_certs' : value => "$use_certs"; 'SECURITY/keyfile' : value => '/etc/contrail/ssl/private_keys/schema_xfer_key.pem'; 'SECURITY/certfile' : value => '/etc/contrail/ssl/certs/schema_xfer.pem'; @@ -335,8 +322,7 @@ 'DEFAULTS/region_name' : value => "$keystone_region_name"; 'DEFAULTS/log_local' : value => '1'; 'DEFAULTS/log_level' : value => 'SYS_NOTICE'; - 'DEFAULTS/rabbit_server' : value => "$rabbit_server_to_use"; - 'DEFAULTS/rabbit_port' : value => "$rabbit_port_to_use"; + 'DEFAULTS/rabbit_server' : value => "$contrail_rabbit_servers"; 'SECURITY/use_certs' : value => "$use_certs"; 'SECURITY/keyfile' : value => '/etc/contrail/ssl/private_keys/svc_monitor_key.pem'; 'SECURITY/certfile' : value => '/etc/contrail/ssl/certs/svc_monitor.pem'; @@ -346,11 +332,10 @@ } contrail_device_manager_config { - 'DEFAULTS/rabbit_server' : value => "$config_ip"; + 'DEFAULTS/rabbit_server' : value => "$contrail_rabbit_servers"; 'DEFAULTS/api_server_ip' : value => "$config_ip"; 'DEFAULTS/disc_server_ip' : value => "$config_ip"; 'DEFAULTS/api_server_port' : value => '8082'; - 'DEFAULTS/rabbit_port' : value => "$contrail_rabbit_port"; 'DEFAULTS/zk_server_ip' : value => "$zk_ip_port_list"; 'DEFAULTS/log_file' : value => '/var/log/contrail/contrail-device-manager.log'; 'DEFAULTS/cassandra_server_list': value => "$cassandra_server_list"; @@ -429,33 +414,7 @@ content => template("${module_name}/contrail-discovery.svc.erb"), } -> - # Handle rabbitmq.config changes - file {'/var/lib/rabbitmq/.erlang.cookie': - mode => '0400', - owner => rabbitmq, - group => rabbitmq, - content => $uuid - }-> - file { '/etc/rabbitmq/rabbitmq.config' : - content => template("${module_name}/${rabbitmq_conf_template}"), - } - -> - file { '/etc/rabbitmq/rabbitmq-env.conf' : - mode => '0755', - group => root, - content => $rabbit_env, - } - -> - class {'::contrail::config::add_etc_hosts': - cfgm_ip_list_shell => $cfgm_ip_list_shell, - cfgm_name_list_shell => $cfgm_name_list_shell - } - -> - class {'::contrail::config::verify_rabbitmq': - master => $master, - host_control_ip => $host_control_ip, - config_ip_list => $config_ip_list - } + class {'contrail::config::rabbitmq':} # run setup-pki.sh script if $use_certs == true { diff --git a/contrail/environment/modules/contrail/manifests/config/neutron.pp b/contrail/environment/modules/contrail/manifests/config/neutron.pp index 0886866e..b74c36cd 100644 --- a/contrail/environment/modules/contrail/manifests/config/neutron.pp +++ b/contrail/environment/modules/contrail/manifests/config/neutron.pp @@ -11,8 +11,7 @@ $internal_vip = $::contrail::params::internal_vip - $contrail_rabbit_host = $::contrail::params::contrail_rabbit_host - $contrail_rabbit_port = $::contrail::params::contrail_rabbit_port + $contrail_rabbit_servers = $::contrail::params::contrail_rabbit_servers $contrail_host_roles = $::contrail::params::host_roles # neutron auth depends upon a keystone configuration @@ -27,13 +26,9 @@ $keystone_identity_uri = "${keystone_auth_protocol}://${controller}:5000" $keystone_admin_token = hiera(openstack::keystone::admin_token) - # DEFAULT - $rabbit_host = $::contrail::params::amqp_server_ip_to_use - class { '::neutron': - rabbit_host => $::contrail::params::amqp_server_ip_to_use, - rabbit_port => $contrail_rabbit_port, + rabbit_hosts => $contrail_rabbit_servers, bind_port => $::contrail::params::quantum_port, auth_strategy => 'keystone', core_plugin => 'neutron_plugin_contrail.plugins.opencontrail.contrail_plugin.NeutronPluginContrailCoreV2', diff --git a/contrail/environment/modules/contrail/manifests/config/rabbitmq.pp b/contrail/environment/modules/contrail/manifests/config/rabbitmq.pp new file mode 100644 index 00000000..c7e78e61 --- /dev/null +++ b/contrail/environment/modules/contrail/manifests/config/rabbitmq.pp @@ -0,0 +1,66 @@ +class contrail::config::rabbitmq ( + $host_control_ip = $::contrail::params::host_ip, + $control_ip_list = $::contrail::params::control_ip_list, + $haproxy = $::contrail::params::haproxy, + $openstack_manage_amqp = $::contrail::params::openstack_manage_amqp, + $amqp_server_ip = $::contrail::params::amqp_server_ip, + $config_ip_list = $::contrail::params::config_ip_list, + $config_name_list = $::contrail::params::config_name_list, + $config_ip = $::contrail::params::config_ip_to_use, + $collector_ip = $::contrail::params::collector_ip_to_use, + $contrail_rabbit_servers= $::contrail::params::contrail_rabbit_servers, + $contrail_logoutput = $::contrail::params::contrail_logoutput, + $contrail_amqp_ip_list = $::contrail::params::contrail_amqp_ip_list, + $uuid = $::contrail::params::uuid, +) { + # Check to see if amqp_ip_list was passed by user. If yes, rabbitmq provisioning can be skipped + if (! $contrail_amqp_ip_list) { + # Set number of config nodes + $cfgm_number = size($config_ip_list) + if ($cfgm_number == 1) { + $rabbitmq_conf_template = 'rabbitmq_config_single_node.erb' + } else { + $rabbitmq_conf_template = 'rabbitmq_config.erb' + } + + if ( $host_control_ip == $config_ip_list[0]) { + $master = 'yes' + } else { + $master = 'no' + } + + $cfgm_ip_list_shell = join($config_ip_list,",") + $cfgm_name_list_shell = join($config_name_list, ",") + $rabbit_env = "NODE_IP_ADDRESS=${host_control_ip}\nNODENAME=rabbit@${::hostname}ctl\n" + + # Handle rabbitmq.config changes + file {'/var/lib/rabbitmq/.erlang.cookie': + mode => '0400', + owner => rabbitmq, + group => rabbitmq, + content => $uuid + }-> + file { '/etc/rabbitmq/rabbitmq.config' : + content => template("${module_name}/${rabbitmq_conf_template}"), + } + -> + file { '/etc/rabbitmq/rabbitmq-env.conf' : + mode => '0755', + group => root, + content => $rabbit_env, + } + -> + class {'::contrail::config::add_etc_hosts': + cfgm_ip_list_shell => $cfgm_ip_list_shell, + cfgm_name_list_shell => $cfgm_name_list_shell + } + -> + class {'::contrail::config::verify_rabbitmq': + master => $master, + host_control_ip => $host_control_ip, + config_ip_list => $config_ip_list + } + } + +} + diff --git a/contrail/environment/modules/contrail/manifests/init.pp b/contrail/environment/modules/contrail/manifests/init.pp index caa0e714..07b5509b 100644 --- a/contrail/environment/modules/contrail/manifests/init.pp +++ b/contrail/environment/modules/contrail/manifests/init.pp @@ -534,6 +534,22 @@ # Flag for enabling xmpp dns autherization via cert exchange between agent and control. # (optional) - Defaults to false. # +# [*contrail_amqp_ip_list*] +# User provided list of amqp server ips which have already been provisioned with rabbit instead of config nodes +# (optional) - Defaults to ''. +# +# [*contrail_amqp_port*] +# User provided port for amqp service +# (optional) - Defaults to ''. +# +# [*openstack_amqp_ip_list*] +# User provided list of amqp server ips for openstack services to use +# (optional) - Defaults to ''. +# +# [*openstack_amqp_port*] +# User provided port for amqp service +# (optional) - Defaults to ''. +# class contrail ( $host_ip = undef, $uuid = undef, @@ -674,6 +690,10 @@ $package_sku = "juno", $core_mask = '', $huge_pages = '', + $contrail_amqp_ip_list = '', + $contrail_amqp_port = '', + $openstack_amqp_ip_list = '', + $openstack_amqp_port = '', ) { class { '::contrail::params': # Common Parameters @@ -754,6 +774,10 @@ mysql_root_password => hiera(openstack::mysql_root_password, hiera(contrail::params::mysql_root_password, $mysql_root_password)), metadata_secret => hiera(openstack::metadata_secret, hiera(contrail::params::metadata_secret, $metadata_secret)), enable_ceilometer => hiera(openstack::enable_ceilometer, hiera(contrail::params::enable_ceilometer, $enable_ceilometer)), + contrail_amqp_ip_list => hiera(openstack::contrail_amqp_ip_list, hiera(contrail::params::contrail_amqp_ip_list, $contrail_amqp_ip_list)), + contrail_amqp_port => hiera(openstack::contrail_amqp_port, hiera(contrail::params::contrail_amqp_port, $contrail_amqp_port)), + openstack_amqp_ip_list => hiera(openstack::openstack_amqp_ip_list, hiera(contrail::params::openstack_amqp_ip_list, $openstack_amqp_ip_list)), + openstack_amqp_port => hiera(openstack::openstack_amqp_port, hiera(contrail::params::openstack_amqp_port, $openstack_amqp_port)), # Openstack HA Parameters internal_vip => hiera(openstack::ha::internal_vip, hiera(contrail::params::internal_vip, $internal_vip)), external_vip => hiera(openstack::ha::external_vip, hiera(contrail::params::external_vip, $external_vip)), diff --git a/contrail/environment/modules/contrail/manifests/params.pp b/contrail/environment/modules/contrail/manifests/params.pp index 3a38cb46..f639479d 100644 --- a/contrail/environment/modules/contrail/manifests/params.pp +++ b/contrail/environment/modules/contrail/manifests/params.pp @@ -533,6 +533,22 @@ # Flag for enabling xmpp dns autherization via cert exchange between agent and control. # (optional) - Defaults to false. # +# [*contrail_amqp_ip_list*] +# User provided list of amqp server ips which have already been provisioned with rabbit instead of config nodes +# (optional) - Defaults to ''. +# +# [*contrail_amqp_port*] +# User provided port for amqp service +# (optional) - Defaults to ''. +# +# [*openstack_amqp_ip_list*] +# User provided list of amqp server ips for openstack services to use +# (optional) - Defaults to ''. +# +# [*openstack_amqp_port*] +# User provided port for amqp service +# (optional) - Defaults to ''. +# class contrail::params ( $host_ip, $uuid, @@ -672,7 +688,11 @@ $xmpp_dns_auth_enable, $huge_pages, $core_mask, - $package_sku + $package_sku, + $contrail_amqp_ip_list, + $contrail_amqp_port, + $openstack_amqp_ip_list, + $openstack_amqp_port, ) { if (($contrail_internal_vip != '') or ($internal_vip != '') or @@ -711,19 +731,16 @@ $vip_to_use = $contrail_internal_vip $config_ip_to_use = $contrail_internal_vip $collector_ip_to_use = $contrail_internal_vip - $contrail_rabbit_port = '5673' $rest_api_port_to_use = '9081' } elsif $internal_vip != '' { $vip_to_use = $internal_vip $config_ip_to_use = $internal_vip $collector_ip_to_use = $internal_vip - $contrail_rabbit_port = '5673' $rest_api_port_to_use = '9081' } else { $vip_to_use = '' $config_ip_to_use = $config_ip_list[0] $collector_ip_to_use = $collector_ip_list[0] - $contrail_rabbit_port = '5672' $rest_api_port_to_use = '8081' } @@ -739,6 +756,32 @@ #rabbit host has same logic as config_ip $contrail_rabbit_host = $config_ip_to_use + if ($contrail_amqp_ip_list != '') { + $contrail_rabbit_ip_list = $contrail_amqp_ip_list + } else { + $contrail_rabbit_ip_list = $config_ip_list + } + if ($contrail_amqp_port != '') { + $contrail_rabbit_port = $contrail_amqp_port + } else { + $contrail_rabbit_port = '5672' + } + if ($openstack_amqp_ip_list != '') { + $openstack_rabbit_ip_list = $openstack_amqp_ip_list + } elsif ($contrail_amqp_ip_list != '') { + $openstack_rabbit_ip_list = $contrail_amqp_ip_list + } else { + $openstack_rabbit_ip_list = $config_ip_list + } + if ($openstack_amqp_port != '') { + $openstack_rabbit_port = $openstack_amqp_port + } else { + $openstack_rabbit_port = '5672' + } + + $contrail_rabbit_servers = join($contrail_rabbit_ip_list,",") + $openstack_rabbit_servers = join($openstack_rabbit_ip_list,",") + # Set amqp_server_ip if ($::contrail::params::amqp_sever_ip != '') { $amqp_server_ip_to_use = $amqp_sever_ip diff --git a/contrail/environment/modules/contrail/manifests/profile/openstack/glance/api.pp b/contrail/environment/modules/contrail/manifests/profile/openstack/glance/api.pp index a90e3f21..cc5c8551 100644 --- a/contrail/environment/modules/contrail/manifests/profile/openstack/glance/api.pp +++ b/contrail/environment/modules/contrail/manifests/profile/openstack/glance/api.pp @@ -14,6 +14,7 @@ $explicit_api_address = $::openstack::config::storage_address_api $controller_address = $::openstack::config::controller_address_management + $openstack_rabbit_servers = $::contrail::params::openstack_rabbit_servers include ::openstack::common::glance @@ -52,6 +53,6 @@ class { '::glance::notify::rabbitmq': rabbit_password => $::openstack::config::rabbitmq_password, rabbit_userid => $::openstack::config::rabbitmq_user, - rabbit_host => $::openstack::config::controller_address_management, + rabbit_hosts => $openstack_rabbit_servers, } } diff --git a/contrail/environment/modules/contrail/manifests/profile/openstack/heat.pp b/contrail/environment/modules/contrail/manifests/profile/openstack/heat.pp index 199889af..7fa746b6 100644 --- a/contrail/environment/modules/contrail/manifests/profile/openstack/heat.pp +++ b/contrail/environment/modules/contrail/manifests/profile/openstack/heat.pp @@ -8,8 +8,7 @@ openstack::resources::database { 'heat': } $controller_management_address = $::openstack::config::controller_address_management - $contrail_rabbit_port = $::contrail::params::contrail_rabbit_port - $contrail_rabbit_host = $::contrail::params::contrail_rabbit_host + $openstack_rabbit_servers = $::contrail::params::openstack_rabbit_servers $internal_vip = $::contrail::params::internal_vip if ($internal_vip != '' and $internal_vip != undef) { $heat_api_bind_host = '0.0.0.0' @@ -42,8 +41,7 @@ class { '::heat': sql_connection => $::openstack::resources::connectors::heat, - rabbit_host => $contrail_rabbit_host, - rabbit_port => $contrail_rabbit_port, + rabbit_hosts => $openstack_rabbit_servers, rabbit_userid => $::openstack::config::rabbitmq_user, rabbit_password => $::openstack::config::rabbitmq_password, debug => $::openstack::config::debug, @@ -81,8 +79,7 @@ notify { "contrail::profile::openstack::heat - heat_api_bind_host = ${heat_api_bind_host}":; } notify { "contrail::profile::openstack::heat - heat_api_bind_port = ${heat_api_bind_port}":; } notify { "contrail::profile::openstack::heat - sql_connection = ${::openstack::resources::connectors::heat}":; } - notify { "contrail::profile::openstack::heat - rabbit_port = ${::heat::rabbit_port}":; } - notify { "contrail::profile::openstack::heat - rabbit_host = ${::heat::rabbit_host}":; } + notify { "contrail::profile::openstack::heat - rabbit_hosts = ${openstack_rabbit_servers}":; } notify { "contrail::profile::openstack::heat - contrail_api_server = ${contrail_api_server}":; } notify { "contrail::profile::openstack::heat - keystone_auth_public_url = ${::heat::keystone::auth::public_url}":; } diff --git a/contrail/environment/modules/contrail/templates/generate_haproxy.erb b/contrail/environment/modules/contrail/templates/generate_haproxy.erb index 902a8e7c..753a37ff 100755 --- a/contrail/environment/modules/contrail/templates/generate_haproxy.erb +++ b/contrail/environment/modules/contrail/templates/generate_haproxy.erb @@ -378,7 +378,6 @@ $__contrail_disc_backend_servers__ #server 10.84.14.2 10.84.14.2:9110 check #server 10.84.14.2 10.84.14.2:9111 check -$__rabbitmq_config__ #contrail-config-marker-end """) @@ -582,15 +581,6 @@ def generate_config_ha_config(config_ip_list, openstack_ip_list, mgmt_ip, intern disc_listen_port = 9110 disc_server_lines = '' nworkers = 1 - rabbitmq_config = """ -listen rabbitmq 0.0.0.0:5673 - mode tcp - maxconn 10000 - balance roundrobin - option tcpka - option redispatch - timeout client 48h - timeout server 48h\n""" space = ' ' * 3 for server_index, host_ip in enumerate(config_ip_list): q_server_lines = q_server_lines + \ @@ -603,23 +593,14 @@ listen rabbitmq 0.0.0.0:5673 disc_server_lines = disc_server_lines + \ ' server %s %s:%s check inter 2000 rise 2 fall 3\n' \ %(host_ip, host_ip, str(disc_listen_port + i)) - rabbitmq_config +=\ - '%s server rabbit%s %s:5672 check inter 2000 rise 2 fall 3 weight 1 maxconn 500\n'\ - % (space, server_index, host_ip) - if ( mgmt_ip in openstack_ip_list and internal_vip != "none" ) or \ - contrail_internal_vip == "none" : - # Openstack and cfgm are same nodes. - # Dont add rabbitmq confing twice in haproxy, as setup_ha has added already. - rabbitmq_config = '' haproxy_config = config_ha_template.safe_substitute({ '__contrail_quantum_servers__': q_server_lines, '__contrail_api_backend_servers__': api_server_lines, '__contrail_disc_backend_servers__': disc_server_lines, '__contrail_hap_user__': 'haproxy', - '__contrail_hap_passwd__': 'contrail123', - '__rabbitmq_config__': rabbitmq_config, + '__contrail_hap_passwd__': 'contrail123' }) return haproxy_config @@ -637,7 +618,6 @@ def generate_openstack_ha_config(openstack_ip_list, mgmt_host_ip): heat_api_server_lines= '' heat_cfn_api_server_lines = '' memcached_server_lines = '' - rabbitmq_server_lines = '' mysql_server_lines = '' space = ' ' * 3 @@ -676,14 +656,6 @@ def generate_openstack_ha_config(openstack_ip_list, mgmt_host_ip): memcached_server_lines +=\ '%s server repcache%s %s:11211 check inter 2000 rise 2 fall 3\n'\ % (space, server_index, host_ip) - if server_index == 0: - rabbitmq_server_lines +=\ - '%s server rabbit%s %s:5672 weight 200 check inter 2000 rise 2 fall 3\n'\ - % (space, server_index, host_ip) - else: - rabbitmq_server_lines +=\ - '%s server rabbit%s %s:5672 weight 100 check inter 2000 rise 2 fall 3 backup\n'\ - % (space, server_index, host_ip) if server_index == 0: mysql_server_lines +=\ '%s server mysql%s %s:3306 weight 200 check inter 2000 rise 2 fall 3\n'\ @@ -706,7 +678,6 @@ def generate_openstack_ha_config(openstack_ip_list, mgmt_host_ip): '__heat_api_backend_servers__': heat_api_server_lines, '__heat_cfn_api_backend_servers__': heat_cfn_api_server_lines, '__memcached_servers__' : memcached_server_lines, - '__rabbitmq_servers__' : rabbitmq_server_lines, '__mysql_servers__' : mysql_server_lines, '__contrail_hap_user__': 'haproxy', '__contrail_hap_passwd__': 'contrail123', diff --git a/contrail/environment/modules/heat/manifests/init.pp b/contrail/environment/modules/heat/manifests/init.pp index a48218ea..526e46fb 100644 --- a/contrail/environment/modules/heat/manifests/init.pp +++ b/contrail/environment/modules/heat/manifests/init.pp @@ -199,7 +199,7 @@ heat_config { 'DEFAULT/rabbit_host': ensure => absent } heat_config { 'DEFAULT/rabbit_port': ensure => absent } heat_config { 'DEFAULT/rabbit_hosts': - value => join($rabbit_hosts, ',') + value => $rabbit_hosts } } else { heat_config { 'DEFAULT/rabbit_host': value => $rabbit_host } diff --git a/contrail/environment/modules/keystone/manifests/init.pp b/contrail/environment/modules/keystone/manifests/init.pp index 9d1b715c..23ff369d 100644 --- a/contrail/environment/modules/keystone/manifests/init.pp +++ b/contrail/environment/modules/keystone/manifests/init.pp @@ -527,7 +527,7 @@ } if $rabbit_hosts { - keystone_config { 'DEFAULT/rabbit_hosts': value => join($rabbit_hosts, ',') } + keystone_config { 'DEFAULT/rabbit_hosts': value => $rabbit_hosts } keystone_config { 'DEFAULT/rabbit_ha_queues': value => true } } else { keystone_config { 'DEFAULT/rabbit_host': value => $rabbit_host } diff --git a/contrail/environment/modules/neutron/manifests/init.pp b/contrail/environment/modules/neutron/manifests/init.pp index 267ce244..82d1754f 100644 --- a/contrail/environment/modules/neutron/manifests/init.pp +++ b/contrail/environment/modules/neutron/manifests/init.pp @@ -362,7 +362,7 @@ fail('When rpc_backend is rabbitmq, you must set rabbit password') } if $rabbit_hosts { - neutron_config { 'DEFAULT/rabbit_hosts': value => join($rabbit_hosts, ',') } + neutron_config { 'DEFAULT/rabbit_hosts': value => $rabbit_hosts } neutron_config { 'DEFAULT/rabbit_ha_queues': value => true } } else { neutron_config { 'DEFAULT/rabbit_host': value => $rabbit_host } diff --git a/contrail/environment/modules/nova/manifests/init.pp b/contrail/environment/modules/nova/manifests/init.pp index b027c411..bcfd6b7d 100644 --- a/contrail/environment/modules/nova/manifests/init.pp +++ b/contrail/environment/modules/nova/manifests/init.pp @@ -591,7 +591,7 @@ } if $rabbit_hosts { - nova_config { 'DEFAULT/rabbit_hosts': value => join($rabbit_hosts, ',') } + nova_config { 'DEFAULT/rabbit_hosts': value => $rabbit_hosts } } else { nova_config { 'DEFAULT/rabbit_host': value => $rabbit_host } nova_config { 'DEFAULT/rabbit_port': value => $rabbit_port } diff --git a/contrail/environment/modules/openstack/manifests/common/ceilometer.pp b/contrail/environment/modules/openstack/manifests/common/ceilometer.pp index bfb415f9..1f172a34 100644 --- a/contrail/environment/modules/openstack/manifests/common/ceilometer.pp +++ b/contrail/environment/modules/openstack/manifests/common/ceilometer.pp @@ -6,8 +6,7 @@ $controller_address_management = hiera(openstack::controller::address::management) $controller_address_api = hiera(openstack::controller::address::api) $openstack_region = hiera(openstack::region) - $contrail_rabbit_port = $::contrail::params::contrail_rabbit_port - $contrail_rabbit_host = $::contrail::params::contrail_rabbit_host + $openstack_rabbit_servers = $::contrail::params::openstack_rabbit_servers $database_ip_list = $::contrail::params::database_ip_list $internal_vip = $::contrail::params::internal_vip $analytics_node_ip = $::contrail::params::collector_ip_to_use @@ -24,10 +23,7 @@ metering_secret => $ceilometer_meteringsecret, #debug => $::openstack::config::debug, #verbose => $::openstack::config::verbose, - rabbit_host => $contrail_rabbit_host, - #rabbit_userid => $::openstack::config::rabbitmq_user, - #rabbit_password => $::openstack::config::rabbitmq_password, - rabbit_port => $contrail_rabbit_port, + rabbit_hosts => $openstack_rabbit_servers, auth_strategy => 'keystone', } diff --git a/contrail/environment/modules/openstack/manifests/common/cinder.pp b/contrail/environment/modules/openstack/manifests/common/cinder.pp index c4dc427a..436c26d4 100644 --- a/contrail/environment/modules/openstack/manifests/common/cinder.pp +++ b/contrail/environment/modules/openstack/manifests/common/cinder.pp @@ -6,8 +6,7 @@ $controller_management_address = $::openstack::config::controller_address_management $sync_db = $::contrail::params::sync_db - $contrail_rabbit_host = $::contrail::params::config_ip_to_use - $contrail_rabbit_port = $::contrail::params::contrail_rabbit_port + $openstack_rabbit_servers = $::contrail::params::openstack_rabbit_servers if ($internal_vip != "" and $internal_vip != undef) { cinder_config { @@ -16,14 +15,13 @@ class { '::cinder': sql_connection => $::openstack::resources::connectors::cinder, - rabbit_host => $contrail_rabbit_host, + rabbit_hosts => $openstack_rabbit_servers, rabbit_userid => $::openstack::config::rabbitmq_user, rabbit_password => $::openstack::config::rabbitmq_password, debug => $::openstack::config::debug, verbose => $::openstack::config::verbose, mysql_module => '2.2', database_idle_timeout => '180', - rabbit_port => $contrail_rabbit_port, } cinder_config { @@ -42,13 +40,12 @@ } else { class { '::cinder': sql_connection => $::openstack::resources::connectors::cinder, - rabbit_host => $contrail_rabbit_host, + rabbit_hosts => $openstack_rabbit_servers, rabbit_userid => $::openstack::config::rabbitmq_user, rabbit_password => $::openstack::config::rabbitmq_password, debug => $::openstack::config::debug, verbose => $::openstack::config::verbose, mysql_module => '2.2', - rabbit_port => $contrail_rabbit_port, } diff --git a/contrail/environment/modules/openstack/manifests/common/contrail/nova.pp b/contrail/environment/modules/openstack/manifests/common/contrail/nova.pp index 80d4c17d..d56fc728 100644 --- a/contrail/environment/modules/openstack/manifests/common/contrail/nova.pp +++ b/contrail/environment/modules/openstack/manifests/common/contrail/nova.pp @@ -11,15 +11,12 @@ $storage_management_address = $::openstack::config::storage_address_management $controller_management_address = $::openstack::config::controller_address_management + $openstack_rabbit_servers = $::contrail::params::openstack_rabbit_servers $internal_vip = $::contrail::params::internal_vip if ($internal_vip != "" and $internal_vip != undef) { - $contrail_rabbit_port = "5673" - $contrail_rabbit_host = $controller_management_address $neutron_ip_address = $controller_management_address } else { - $contrail_rabbit_port = "5672" - $contrail_rabbit_host = $::contrail::params::config_ip_list[0] $neutron_ip_address = $::contrail::params::config_ip_list[0] } @@ -31,8 +28,7 @@ sql_connection => $::openstack::resources::connectors::nova, glance_api_servers => "http://${storage_management_address}:9292", memcached_servers => ["${controller_management_address}:11211"], - rabbit_hosts => [$contrail_rabbit_host], - rabbit_port => $contrail_rabbit_port, + rabbit_hosts => $openstack_rabbit_servers, rabbit_userid => $::openstack::config::rabbitmq_user, rabbit_password => $::openstack::config::rabbitmq_password, debug => $::openstack::config::debug, diff --git a/contrail/environment/modules/openstack/manifests/common/glance.pp b/contrail/environment/modules/openstack/manifests/common/glance.pp index aa3ee1be..c8a660d5 100644 --- a/contrail/environment/modules/openstack/manifests/common/glance.pp +++ b/contrail/environment/modules/openstack/manifests/common/glance.pp @@ -7,8 +7,7 @@ $internal_vip = $::contrail::params::internal_vip $contrail_internal_vip = $::contrail::params::contrail_internal_vip - $contrail_rabbit_host = $::contrail::params::config_ip_to_use - $contrail_rabbit_port = $::contrail::params::contrail_rabbit_port + $openstack_rabbit_servers = $::contrail::params::openstack_rabbit_servers @@ -71,13 +70,8 @@ # basic service config - glance_api_config {'DEFAULT/rabbit_host': - value => $contrail_rabbit_host, - notify => Service['glance-api'] - } - -> - glance_api_config {'DEFAULT/rabbit_port': - value => $contrail_rabbit_port, + glance_api_config {'DEFAULT/rabbit_hosts': + value => $openstack_rabbit_servers, notify => Service['glance-api'] } diff --git a/contrail/environment/modules/openstack/manifests/common/keystone.pp b/contrail/environment/modules/openstack/manifests/common/keystone.pp index f5d77e47..2e7f6a1b 100644 --- a/contrail/environment/modules/openstack/manifests/common/keystone.pp +++ b/contrail/environment/modules/openstack/manifests/common/keystone.pp @@ -1,8 +1,7 @@ class openstack::common::keystone { $internal_vip = $::contrail::params::internal_vip $sync_db = $::contrail::params::sync_db - $contrail_rabbit_host = $::contrail::params::config_ip_to_use - $contrail_rabbit_port = $::contrail::params::contrail_rabbit_port + $openstack_rabbit_servers = $::contrail::params::openstack_rabbit_servers notify { "SYNC_DB = $sync_db":; } @@ -20,8 +19,7 @@ public_port => '6000', admin_port => '35358', database_idle_timeout => '180', - rabbit_port => $contrail_rabbit_port, - rabbit_host => $contrail_rabbit_host, + rabbit_hosts => $openstack_rabbit_servers, } keystone_config { 'database/min_pool_size': value => "100"; @@ -45,8 +43,7 @@ admin_bind_host => $admin_bind_host, mysql_module => '2.2', sync_db => $sync_db, - rabbit_port => $contrail_rabbit_port, - rabbit_host => $contrail_rabbit_host, + rabbit_hosts => $openstack_rabbit_servers, } keystone_config { 'identity/driver': value => "keystone.identity.backends.sql.Identity"; diff --git a/contrail/environment/modules/openstack/manifests/common/neutron.pp b/contrail/environment/modules/openstack/manifests/common/neutron.pp index 0933f55c..2cf9b5fa 100644 --- a/contrail/environment/modules/openstack/manifests/common/neutron.pp +++ b/contrail/environment/modules/openstack/manifests/common/neutron.pp @@ -8,6 +8,7 @@ $sync_db = $::contrail::params::sync_db $data_network = $::openstack::config::network_data $data_address = ip_for_network($data_network) + $openstack_rabbit_servers = $::contrail::params::openstack_rabbit_servers # neutron auth depends upon a keystone configuration include ::openstack::common::keystone @@ -21,7 +22,7 @@ } class { '::neutron': - rabbit_host => $controller_management_address, + rabbit_hosts => $openstack_rabbit_servers, core_plugin => 'neutron.plugins.ml2.plugin.Ml2Plugin', allow_overlapping_ips => true, rabbit_user => $::openstack::config::rabbitmq_user, diff --git a/contrail/environment/modules/openstack/manifests/common/nova.pp b/contrail/environment/modules/openstack/manifests/common/nova.pp index 2d29f00d..929a9719 100644 --- a/contrail/environment/modules/openstack/manifests/common/nova.pp +++ b/contrail/environment/modules/openstack/manifests/common/nova.pp @@ -16,16 +16,12 @@ $internal_vip = $::contrail::params::internal_vip $contrail_internal_vip = $::contrail::params::contrail_internal_vip - $contrail_rabbit_host = $::contrail::params::config_ip_to_use - $contrail_rabbit_port = $::contrail::params::contrail_rabbit_port + $openstack_rabbit_servers = $::contrail::params::openstack_rabbit_servers $contrail_neutron_server = $::contrail::params::config_ip_to_use $openstack_ip_list = $::contrail::params::openstack_ip_list $contrail_memcache_servers = inline_template('<%= @openstack_ip_list.map{ |ip| "#{ip}:11211" }.join(",") %>') - nova_config { 'DEFAULT/rabbit_port': - value => $contrail_rabbit_port, - } -> nova_config { 'DEFAULT/default_floating_pool': value => 'public' } -> nova_config { 'conductor/workers': @@ -44,13 +40,12 @@ sql_connection => $::openstack::resources::connectors::nova, glance_api_servers => "http://${storage_management_address}:9292", memcached_servers => ["$contrail_memcache_servers"], - rabbit_hosts => [$contrail_rabbit_host], + rabbit_hosts => $openstack_rabbit_servers, rabbit_userid => $::openstack::config::rabbitmq_user, rabbit_password => $::openstack::config::rabbitmq_password, debug => $::openstack::config::debug, verbose => $::openstack::config::verbose, mysql_module => '2.2', - rabbit_port => $contrail_rabbit_port, database_idle_timeout => '180', notification_driver => "nova.openstack.common.notifier.rpc_notifier", } @@ -101,13 +96,12 @@ sql_connection => $::openstack::resources::connectors::nova, glance_api_servers => "http://${storage_management_address}:9292", memcached_servers => ["$contrail_memcache_servers"], - rabbit_hosts => [$contrail_rabbit_host], + rabbit_hosts => $openstack_rabbit_servers, rabbit_userid => $::openstack::config::rabbitmq_user, rabbit_password => $::openstack::config::rabbitmq_password, debug => $::openstack::config::debug, verbose => $::openstack::config::verbose, mysql_module => '2.2', - rabbit_port => $contrail_rabbit_port, notification_driver => "nova.openstack.common.notifier.rpc_notifier", notify_on_state_change => $notify_on_state_change, } diff --git a/contrail/environment/modules/openstack/manifests/profile/glance/api.pp b/contrail/environment/modules/openstack/manifests/profile/glance/api.pp index c01ccbc6..72216644 100644 --- a/contrail/environment/modules/openstack/manifests/profile/glance/api.pp +++ b/contrail/environment/modules/openstack/manifests/profile/glance/api.pp @@ -9,7 +9,7 @@ $management_network = $::openstack::config::network_management $management_address = ip_for_network($management_network) - + $openstack_rabbit_servers = $::contrail::params::openstack_rabbit_servers $explicit_management_address = $::openstack::config::storage_address_management $explicit_api_address = $::openstack::config::storage_address_api @@ -62,8 +62,7 @@ class { '::glance::notify::rabbitmq': rabbit_password => $::openstack::config::rabbitmq_password, rabbit_userid => $::openstack::config::rabbitmq_user, - rabbit_host => $contrail_rabbit_host, - rabbit_port => $contrail_rabbit_port, + rabbit_hosts => $openstack_rabbit_servers, } } diff --git a/contrail/environment/modules/openstack/manifests/profile/heat/api.pp b/contrail/environment/modules/openstack/manifests/profile/heat/api.pp index ff5316ff..67c88207 100644 --- a/contrail/environment/modules/openstack/manifests/profile/heat/api.pp +++ b/contrail/environment/modules/openstack/manifests/profile/heat/api.pp @@ -6,6 +6,7 @@ openstack::resources::firewall { 'Heat CFN API': port => '8000', } $controller_management_address = $::openstack::config::controller_address_management + $openstack_rabbit_servers = $::contrail::params::openstack_rabbit_servers class { '::heat::keystone::auth': password => $::openstack::config::heat_password, @@ -25,7 +26,7 @@ class { '::heat': sql_connection => $::openstack::resources::connectors::heat, - rabbit_host => $::openstack::config::controller_address_management, + rabbit_hosts => $openstack_rabbit_servers, rabbit_userid => $::openstack::config::rabbitmq_user, rabbit_password => $::openstack::config::rabbitmq_password, debug => $::openstack::config::debug,