From 21022f8bf1be1850e2acc9ac98fcdc59aaff47f6 Mon Sep 17 00:00:00 2001 From: Jason Guiditta Date: Thu, 22 Oct 2015 14:46:27 -0400 Subject: [PATCH] BZ #1271347 - Add configuration for better node reconnection with rabbitmq. https://bugzilla.redhat.com/show_bug.cgi?id=1271347 Add parameters to configure rabbit heartbeat timeout threshold, with a default recommended by the HA reference architecture (60 seconds). This can be further configured by the user if needed. --- .../manifests/ceilometer/control.pp | 58 ++--- puppet/modules/quickstack/manifests/cinder.pp | 36 +-- .../quickstack/manifests/compute_common.pp | 63 ++--- puppet/modules/quickstack/manifests/glance.pp | 14 +- puppet/modules/quickstack/manifests/heat.pp | 48 ++-- .../quickstack/manifests/keystone/common.pp | 40 ++-- .../quickstack/manifests/neutron/all.pp | 40 ++-- .../quickstack/manifests/neutron/compute.pp | 143 +++++------ puppet/modules/quickstack/manifests/nova.pp | 36 +-- .../manifests/nova_network/compute.pp | 112 ++++----- .../manifests/pacemaker/ceilometer.pp | 42 ++-- .../quickstack/manifests/pacemaker/cinder.pp | 50 ++-- .../quickstack/manifests/pacemaker/glance.pp | 64 ++--- .../quickstack/manifests/pacemaker/heat.pp | 64 ++--- .../manifests/pacemaker/keystone.pp | 48 ++-- .../quickstack/manifests/pacemaker/neutron.pp | 122 +++++----- .../quickstack/manifests/pacemaker/nova.pp | 64 ++--- .../quickstack/manifests/pacemaker/params.pp | 225 +++++++++--------- 18 files changed, 653 insertions(+), 616 deletions(-) diff --git a/puppet/modules/quickstack/manifests/ceilometer/control.pp b/puppet/modules/quickstack/manifests/ceilometer/control.pp index 2a8025f1..1096e694 100644 --- a/puppet/modules/quickstack/manifests/ceilometer/control.pp +++ b/puppet/modules/quickstack/manifests/ceilometer/control.pp @@ -1,24 +1,25 @@ class quickstack::ceilometer::control( + $amqp_heartbeat_timeout_threshold, $amqp_provider, - $amqp_host = '127.0.0.1', - $amqp_port = '5672', + $amqp_host = '127.0.0.1', + $amqp_port = '5672', $amqp_username, $amqp_password, - $rabbit_hosts = undef, - $auth_host = '127.0.0.1', - $bind_address = '0.0.0.0', + $rabbit_hosts = undef, + $auth_host = '127.0.0.1', + $bind_address = '0.0.0.0', $ceilometer_metering_secret, $ceilometer_user_password, - $ceilometer_admin_host = '127.0.0.1', - $ceilometer_priv_host = '127.0.0.1', - $ceilometer_pub_host = '127.0.0.1', - $db_hosts = ['127.0.0.1:27017'], - $memcache_servers = ['127.0.0.1:11211'], - $qpid_protocol = 'tcp', - $service_enable = true, - $service_ensure = 'running', - $verbose = false, - $coordination_url = undef, + $ceilometer_admin_host = '127.0.0.1', + $ceilometer_priv_host = '127.0.0.1', + $ceilometer_pub_host = '127.0.0.1', + $db_hosts = ['127.0.0.1:27017'], + $memcache_servers = ['127.0.0.1:11211'], + $qpid_protocol = 'tcp', + $service_enable = true, + $service_ensure = 'running', + $verbose = false, + $coordination_url = undef, ) { validate_array($db_hosts) @@ -40,19 +41,20 @@ } class { '::ceilometer': - metering_secret => $ceilometer_metering_secret, - qpid_hostname => $amqp_host, - qpid_port => $amqp_port, - qpid_protocol => $qpid_protocol, - qpid_username => $amqp_username, - qpid_password => $amqp_password, - rabbit_host => $amqp_host, - rabbit_port => $amqp_port, - rabbit_userid => $amqp_username, - rabbit_password => $amqp_password, - rabbit_hosts => $rabbit_hosts, - rpc_backend => amqp_backend('ceilometer', $amqp_provider), - verbose => str2bool_i("$verbose"), + metering_secret => $ceilometer_metering_secret, + qpid_hostname => $amqp_host, + qpid_port => $amqp_port, + qpid_protocol => $qpid_protocol, + qpid_username => $amqp_username, + qpid_password => $amqp_password, + rabbit_host => $amqp_host, + rabbit_port => $amqp_port, + rabbit_userid => $amqp_username, + rabbit_password => $amqp_password, + rabbit_heartbeat_timeout_threshold => $amqp_heartbeat_timeout_threshold, + rabbit_hosts => $rabbit_hosts, + rpc_backend => amqp_backend('ceilometer', $amqp_provider), + verbose => str2bool_i("$verbose"), } class { '::ceilometer::collector': diff --git a/puppet/modules/quickstack/manifests/cinder.pp b/puppet/modules/quickstack/manifests/cinder.pp index f0e06726..38d3fb56 100644 --- a/puppet/modules/quickstack/manifests/cinder.pp +++ b/puppet/modules/quickstack/manifests/cinder.pp @@ -14,6 +14,7 @@ $log_facility = 'LOG_USER', $rpc_backend = 'cinder.openstack.common.rpc.impl_kombu', + $amqp_heartbeat_timeout_threshold, $amqp_host = '127.0.0.1', $amqp_port = '5672', $amqp_username = '', @@ -53,23 +54,24 @@ } class {'::cinder': - rpc_backend => $rpc_backend, - qpid_hostname => $amqp_host, - qpid_port => $amqp_port, - qpid_username => $amqp_username, - qpid_password => $amqp_password_safe_for_cinder, - qpid_heartbeat => $qpid_heartbeat, - qpid_protocol => $qpid_protocol, - rabbit_host => $amqp_host, - rabbit_port => $amqp_port, - rabbit_userid => $amqp_username, - rabbit_password => $amqp_password_safe_for_cinder, - rabbit_use_ssl => $rabbit_use_ssl, - rabbit_hosts => $rabbit_hosts, - database_connection => $sql_connection, - verbose => str2bool_i("$verbose"), - use_syslog => str2bool_i("$use_syslog"), - log_facility => $log_facility, + rpc_backend => $rpc_backend, + qpid_hostname => $amqp_host, + qpid_port => $amqp_port, + qpid_username => $amqp_username, + qpid_password => $amqp_password_safe_for_cinder, + qpid_heartbeat => $qpid_heartbeat, + qpid_protocol => $qpid_protocol, + rabbit_heartbeat_timeout_threshold => $amqp_heartbeat_timeout_threshold, + rabbit_host => $amqp_host, + rabbit_port => $amqp_port, + rabbit_userid => $amqp_username, + rabbit_password => $amqp_password_safe_for_cinder, + rabbit_use_ssl => $rabbit_use_ssl, + rabbit_hosts => $rabbit_hosts, + database_connection => $sql_connection, + verbose => str2bool_i("$verbose"), + use_syslog => str2bool_i("$use_syslog"), + log_facility => $log_facility, } # FIXME: after we drop support for Puppet <= 3.6, we can use # `contain ::cinder` instead of the anchors here, and use fully qualified diff --git a/puppet/modules/quickstack/manifests/compute_common.pp b/puppet/modules/quickstack/manifests/compute_common.pp index e02e0c17..2d5e4ceb 100644 --- a/puppet/modules/quickstack/manifests/compute_common.pp +++ b/puppet/modules/quickstack/manifests/compute_common.pp @@ -11,6 +11,7 @@ # Defaults to the value of nova_host if unset. class quickstack::compute_common ( + $amqp_heartbeat_timeout_threshold, $amqp_host = $quickstack::params::amqp_host, $amqp_password = $quickstack::params::amqp_password, $amqp_port = '5672', @@ -203,23 +204,24 @@ } class { '::nova': - database_connection => $nova_sql_connection, - debug => $debug, - image_service => 'nova.image.glance.GlanceImageService', - glance_api_servers => "http://${glance_host}:9292/v1", - rpc_backend => amqp_backend('nova', $amqp_provider), - qpid_hostname => $amqp_host, - qpid_protocol => $qpid_protocol, - qpid_port => $real_amqp_port, - qpid_username => $amqp_username, - qpid_password => $amqp_password, - rabbit_host => $amqp_host, - rabbit_port => $real_amqp_port, - rabbit_userid => $amqp_username, - rabbit_password => $amqp_password, - rabbit_use_ssl => $ssl, - rabbit_hosts => $rabbit_hosts, - verbose => $verbose, + database_connection => $nova_sql_connection, + debug => $debug, + image_service => 'nova.image.glance.GlanceImageService', + glance_api_servers => "http://${glance_host}:9292/v1", + rpc_backend => amqp_backend('nova', $amqp_provider), + qpid_hostname => $amqp_host, + qpid_protocol => $qpid_protocol, + qpid_port => $real_amqp_port, + qpid_username => $amqp_username, + qpid_password => $amqp_password, + rabbit_heartbeat_timeout_threshold => $amqp_heartbeat_timeout_threshold, + rabbit_host => $amqp_host, + rabbit_port => $real_amqp_port, + rabbit_userid => $amqp_username, + rabbit_password => $amqp_password, + rabbit_use_ssl => $ssl, + rabbit_hosts => $rabbit_hosts, + verbose => $verbose, } $compute_ip = find_ip("$private_network", @@ -234,19 +236,20 @@ } if str2bool_i("$ceilometer") { - class { 'ceilometer': - metering_secret => $ceilometer_metering_secret, - qpid_protocol => $qpid_protocol, - qpid_username => $amqp_username, - qpid_password => $amqp_password, - rabbit_host => $amqp_host, - rabbit_hosts => $rabbit_hosts, - rabbit_port => $real_amqp_port, - rabbit_userid => $amqp_username, - rabbit_password => $amqp_password, - rabbit_use_ssl => $ssl, - rpc_backend => amqp_backend('ceilometer', $amqp_provider), - verbose => $verbose, + class { '::ceilometer': + metering_secret => $ceilometer_metering_secret, + qpid_protocol => $qpid_protocol, + qpid_username => $amqp_username, + qpid_password => $amqp_password, + rabbit_heartbeat_timeout_threshold => $amqp_heartbeat_timeout_threshold, + rabbit_host => $amqp_host, + rabbit_hosts => $rabbit_hosts, + rabbit_port => $real_amqp_port, + rabbit_userid => $amqp_username, + rabbit_password => $amqp_password, + rabbit_use_ssl => $ssl, + rpc_backend => amqp_backend('ceilometer', $amqp_provider), + verbose => $verbose, } class { 'ceilometer::agent::auth': diff --git a/puppet/modules/quickstack/manifests/glance.pp b/puppet/modules/quickstack/manifests/glance.pp index d57f12e9..069f8cb8 100644 --- a/puppet/modules/quickstack/manifests/glance.pp +++ b/puppet/modules/quickstack/manifests/glance.pp @@ -34,6 +34,7 @@ $enabled = true, $manage_service = true, $filesystem_store_datadir = '/var/lib/glance/images/', + $amqp_heartbeat_timeout_threshold, $amqp_host = '127.0.0.1', $amqp_port = '5672', $amqp_username = '', @@ -133,12 +134,13 @@ } } else { class { 'glance::notify::rabbitmq': - rabbit_password => $amqp_password, - rabbit_userid => $amqp_username, - rabbit_host => $amqp_host, - rabbit_port => $amqp_port, - rabbit_use_ssl => $rabbit_use_ssl, - rabbit_hosts => $rabbit_hosts, + rabbit_heartbeat_timeout_threshold => $amqp_heartbeat_timeout_threshold, + rabbit_password => $amqp_password, + rabbit_userid => $amqp_username, + rabbit_host => $amqp_host, + rabbit_port => $amqp_port, + rabbit_use_ssl => $rabbit_use_ssl, + rabbit_hosts => $rabbit_hosts, } } diff --git a/puppet/modules/quickstack/manifests/heat.pp b/puppet/modules/quickstack/manifests/heat.pp index 3f072fbe..00fcdc94 100644 --- a/puppet/modules/quickstack/manifests/heat.pp +++ b/puppet/modules/quickstack/manifests/heat.pp @@ -12,6 +12,7 @@ $db_ssl_ca = '', $keystone_host = '127.0.0.1', $qpid_heartbeat = '60', + $amqp_heartbeat_timeout_threshold, $amqp_host = '127.0.0.1', $amqp_port = '5672', $amqp_username = '', @@ -54,29 +55,30 @@ } class { '::heat': - sql_connection => $sql_connection, - keystone_ec2_uri => "http://${keystone_host}:35357/v2.0/ec2tokens", - auth_uri => "http://${keystone_host}:35357/v2.0", - keystone_password => $heat_user_password, - keystone_tenant => "services", - keystone_user => "heat", - keystone_host => $keystone_host, - rpc_backend => amqp_backend('heat', $amqp_provider), - qpid_heartbeat => $qpid_heartbeat, - qpid_hostname => $amqp_host, - qpid_port => $amqp_port, - qpid_username => $amqp_username, - qpid_password => $amqp_password, - rabbit_host => $amqp_host, - rabbit_port => $amqp_port, - rabbit_userid => $amqp_username, - rabbit_password => $amqp_password, - rabbit_use_ssl => $rabbit_use_ssl, - rabbit_hosts => $rabbit_hosts, - use_syslog => str2bool_i("$use_syslog"), - log_facility => $log_facility, - verbose => $verbose, - debug => $debug, + sql_connection => $sql_connection, + keystone_ec2_uri => "http://${keystone_host}:35357/v2.0/ec2tokens", + auth_uri => "http://${keystone_host}:35357/v2.0", + keystone_password => $heat_user_password, + keystone_tenant => "services", + keystone_user => "heat", + keystone_host => $keystone_host, + rpc_backend => amqp_backend('heat', $amqp_provider), + qpid_heartbeat => $qpid_heartbeat, + qpid_hostname => $amqp_host, + qpid_port => $amqp_port, + qpid_username => $amqp_username, + qpid_password => $amqp_password, + rabbit_heartbeat_timeout_threshold => $amqp_heartbeat_timeout_threshold, + rabbit_host => $amqp_host, + rabbit_port => $amqp_port, + rabbit_userid => $amqp_username, + rabbit_password => $amqp_password, + rabbit_use_ssl => $rabbit_use_ssl, + rabbit_hosts => $rabbit_hosts, + use_syslog => str2bool_i("$use_syslog"), + log_facility => $log_facility, + verbose => $verbose, + debug => $debug, } # FIXME(jistr): after we drop support for Puppet <= 3.6, we can use # `contain ::heat` instead of the anchors here, and use fully qualified diff --git a/puppet/modules/quickstack/manifests/keystone/common.pp b/puppet/modules/quickstack/manifests/keystone/common.pp index 757b764e..f9016b36 100644 --- a/puppet/modules/quickstack/manifests/keystone/common.pp +++ b/puppet/modules/quickstack/manifests/keystone/common.pp @@ -46,6 +46,7 @@ $admin_endpoint = '127.0.0.1', $admin_token, $admin_bind_host = '0.0.0.0', + $amqp_heartbeat_timeout_threshold, $amqp_host = 'localhost', $amqp_port = '5672', $rabbit_hosts = undef, @@ -87,25 +88,26 @@ #FIXME: endpoint construction needs to be cleaned up and made more flexible class { '::keystone': - admin_endpoint => "http://${admin_endpoint}:35357/", - admin_token => $admin_token, - admin_bind_host => $admin_bind_host, - catalog_type => 'sql', - debug => $debug, - enabled => $enabled, - database_idle_timeout => $idle_timeout, - log_facility => $log_facility, - public_bind_host => $public_bind_host, - public_endpoint => "http://${public_endpoint}:5000/", - rabbit_host => $amqp_host, - rabbit_port => $amqp_port, - rabbit_hosts => $rabbit_hosts, - service_provider => $service_provider, - database_connection => $sql_conn, - token_driver => $token_driver, - token_provider => $token_provider, - use_syslog => $use_syslog, - verbose => $verbose, + admin_endpoint => "http://${admin_endpoint}:35357/", + admin_token => $admin_token, + admin_bind_host => $admin_bind_host, + catalog_type => 'sql', + debug => $debug, + enabled => $enabled, + database_idle_timeout => $idle_timeout, + log_facility => $log_facility, + public_bind_host => $public_bind_host, + public_endpoint => "http://${public_endpoint}:5000/", + rabbit_heartbeat_timeout_threshold => $amqp_heartbeat_timeout_threshold, + rabbit_host => $amqp_host, + rabbit_port => $amqp_port, + rabbit_hosts => $rabbit_hosts, + service_provider => $service_provider, + database_connection => $sql_conn, + token_driver => $token_driver, + token_provider => $token_provider, + use_syslog => $use_syslog, + verbose => $verbose, } contain keystone diff --git a/puppet/modules/quickstack/manifests/neutron/all.pp b/puppet/modules/quickstack/manifests/neutron/all.pp index 9af44a06..dbc927da 100644 --- a/puppet/modules/quickstack/manifests/neutron/all.pp +++ b/puppet/modules/quickstack/manifests/neutron/all.pp @@ -87,6 +87,7 @@ $ovs_tunnel_types = [], $provider_vlan_auto_create = '', $provider_vlan_auto_trunk = '', + $amqp_heartbeat_timeout_threshold, $amqp_host = '127.0.0.1', $amqp_port = '5672', $amqp_ssl_port = '5671', @@ -118,25 +119,26 @@ } class { '::neutron': - allow_overlapping_ips => str2bool_i("$allow_overlapping_ips"), - bind_host => $neutron_priv_host, - core_plugin => $neutron_core_plugin, - dhcp_agents_per_network => $dhcp_agents_per_network, - enabled => str2bool_i("$enabled"), - rpc_backend => $rpc_backend, - qpid_hostname => $amqp_host, - qpid_port => $real_amqp_port, - qpid_protocol => $qpid_protocol, - qpid_username => $amqp_username, - qpid_password => $amqp_password, - rabbit_host => $amqp_host, - rabbit_port => $real_amqp_port, - rabbit_user => $amqp_username, - rabbit_password => $amqp_password, - rabbit_use_ssl => $ssl, - rabbit_hosts => $rabbit_hosts, - verbose => $verbose, - network_device_mtu => $network_device_mtu, + allow_overlapping_ips => str2bool_i("$allow_overlapping_ips"), + bind_host => $neutron_priv_host, + core_plugin => $neutron_core_plugin, + dhcp_agents_per_network => $dhcp_agents_per_network, + enabled => str2bool_i("$enabled"), + rpc_backend => $rpc_backend, + qpid_hostname => $amqp_host, + qpid_port => $real_amqp_port, + qpid_protocol => $qpid_protocol, + qpid_username => $amqp_username, + qpid_password => $amqp_password, + rabbit_heartbeat_timeout_threshold => $amqp_heartbeat_timeout_threshold, + rabbit_host => $amqp_host, + rabbit_port => $real_amqp_port, + rabbit_user => $amqp_username, + rabbit_password => $amqp_password, + rabbit_use_ssl => $ssl, + rabbit_hosts => $rabbit_hosts, + verbose => $verbose, + network_device_mtu => $network_device_mtu, } # short-term workaround for BZ 1181592 diff --git a/puppet/modules/quickstack/manifests/neutron/compute.pp b/puppet/modules/quickstack/manifests/neutron/compute.pp index d3e6b26b..6777bf4a 100644 --- a/puppet/modules/quickstack/manifests/neutron/compute.pp +++ b/puppet/modules/quickstack/manifests/neutron/compute.pp @@ -47,6 +47,7 @@ $ovs_vlan_ranges = $quickstack::params::ovs_vlan_ranges, $ovs_vxlan_udp_port = $quickstack::params::ovs_vxlan_udp_port, $amqp_provider = $quickstack::params::amqp_provider, + $amqp_heartbeat_timeout_threshold = '60', $amqp_host = $quickstack::params::amqp_host, $amqp_port = '5672', $amqp_ssl_port = '5671', @@ -98,21 +99,22 @@ } class { '::neutron': - allow_overlapping_ips => true, - rpc_backend => amqp_backend('neutron', $amqp_provider), - qpid_hostname => $amqp_host, - qpid_port => $real_amqp_port, - qpid_protocol => $qpid_protocol, - qpid_username => $amqp_username, - qpid_password => $amqp_password, - rabbit_host => $amqp_host, - rabbit_port => $real_amqp_port, - rabbit_user => $amqp_username, - rabbit_password => $amqp_password, - rabbit_use_ssl => $ssl, - rabbit_hosts => $_rabbit_hosts, - verbose => $verbose, - network_device_mtu => $network_device_mtu, + allow_overlapping_ips => true, + rpc_backend => amqp_backend('neutron', $amqp_provider), + qpid_hostname => $amqp_host, + qpid_port => $real_amqp_port, + qpid_protocol => $qpid_protocol, + qpid_username => $amqp_username, + qpid_password => $amqp_password, + rabbit_heartbeat_timeout_threshold => $amqp_heartbeat_timeout_threshold, + rabbit_host => $amqp_host, + rabbit_port => $real_amqp_port, + rabbit_user => $amqp_username, + rabbit_password => $amqp_password, + rabbit_use_ssl => $ssl, + rabbit_hosts => $_rabbit_hosts, + verbose => $verbose, + network_device_mtu => $network_device_mtu, } -> class { '::neutron::server::notifications': @@ -199,61 +201,62 @@ class { 'quickstack::compute_common': - auth_host => $auth_host, - ceilometer => $ceilometer, - ceilometer_metering_secret => $ceilometer_metering_secret, - ceilometer_user_password => $ceilometer_user_password, - manage_ceph_conf => $manage_ceph_conf, - ceph_cluster_network => $ceph_cluster_network, - ceph_public_network => $ceph_public_network, - ceph_fsid => $ceph_fsid, - ceph_images_key => $ceph_images_key, - ceph_volumes_key => $ceph_volumes_key, - ceph_rgw_key => $ceph_rgw_key, - ceph_mon_host => $ceph_mon_host, - ceph_mon_initial_members => $ceph_mon_initial_members, - ceph_conf_include_osd_global => $ceph_conf_include_osd_global, - ceph_osd_pool_size => $ceph_osd_pool_size, - ceph_osd_journal_size => $ceph_osd_journal_size, - ceph_osd_mkfs_options_xfs => $ceph_osd_mkfs_options_xfs, - ceph_osd_mount_options_xfs => $ceph_osd_mount_options_xfs, - ceph_conf_include_rgw => $ceph_conf_include_rgw, - ceph_rgw_hostnames => $ceph_rgw_hostnames, - ceph_extra_conf_lines => $ceph_extra_conf_lines, - cinder_backend_gluster => $cinder_backend_gluster, - cinder_backend_nfs => $cinder_backend_nfs, - cinder_backend_rbd => $cinder_backend_rbd, - cinder_catalog_info => $cinder_catalog_info, - debug => $debug, - glance_backend_rbd => $glance_backend_rbd, - glance_host => $glance_host, - mysql_host => $mysql_host, - nova_db_password => $nova_db_password, - nova_host => $nova_host, - vncproxy_host => pick($vncproxy_host, $nova_host), - nova_user_password => $nova_user_password, - amqp_provider => $amqp_provider, - amqp_host => $amqp_host, - amqp_port => $amqp_port, - amqp_ssl_port => $amqp_ssl_port, - amqp_username => $amqp_username, - amqp_password => $amqp_password, - rabbit_hosts => $_rabbit_hosts, - verbose => $verbose, - ssl => $ssl, - mysql_ca => $mysql_ca, - libvirt_images_rbd_pool => $libvirt_images_rbd_pool, - libvirt_images_rbd_ceph_conf => $libvirt_images_rbd_ceph_conf, - libvirt_inject_password => $libvirt_inject_password, - libvirt_inject_key => $libvirt_inject_key, - libvirt_images_type => $libvirt_images_type, - rbd_user => $rbd_user, - rbd_secret_uuid => $rbd_secret_uuid, - private_iface => $private_iface, - private_ip => $private_ip, - private_network => $private_network, - network_device_mtu => $network_device_mtu, - vnc_keymap => $vnc_keymap, + auth_host => $auth_host, + ceilometer => $ceilometer, + ceilometer_metering_secret => $ceilometer_metering_secret, + ceilometer_user_password => $ceilometer_user_password, + manage_ceph_conf => $manage_ceph_conf, + ceph_cluster_network => $ceph_cluster_network, + ceph_public_network => $ceph_public_network, + ceph_fsid => $ceph_fsid, + ceph_images_key => $ceph_images_key, + ceph_volumes_key => $ceph_volumes_key, + ceph_rgw_key => $ceph_rgw_key, + ceph_mon_host => $ceph_mon_host, + ceph_mon_initial_members => $ceph_mon_initial_members, + ceph_conf_include_osd_global => $ceph_conf_include_osd_global, + ceph_osd_pool_size => $ceph_osd_pool_size, + ceph_osd_journal_size => $ceph_osd_journal_size, + ceph_osd_mkfs_options_xfs => $ceph_osd_mkfs_options_xfs, + ceph_osd_mount_options_xfs => $ceph_osd_mount_options_xfs, + ceph_conf_include_rgw => $ceph_conf_include_rgw, + ceph_rgw_hostnames => $ceph_rgw_hostnames, + ceph_extra_conf_lines => $ceph_extra_conf_lines, + cinder_backend_gluster => $cinder_backend_gluster, + cinder_backend_nfs => $cinder_backend_nfs, + cinder_backend_rbd => $cinder_backend_rbd, + cinder_catalog_info => $cinder_catalog_info, + debug => $debug, + glance_backend_rbd => $glance_backend_rbd, + glance_host => $glance_host, + mysql_host => $mysql_host, + nova_db_password => $nova_db_password, + nova_host => $nova_host, + vncproxy_host => pick($vncproxy_host, $nova_host), + nova_user_password => $nova_user_password, + amqp_provider => $amqp_provider, + amqp_heartbeat_timeout_threshold => $amqp_heartbeat_timeout_threshold, + amqp_host => $amqp_host, + amqp_port => $amqp_port, + amqp_ssl_port => $amqp_ssl_port, + amqp_username => $amqp_username, + amqp_password => $amqp_password, + rabbit_hosts => $_rabbit_hosts, + verbose => $verbose, + ssl => $ssl, + mysql_ca => $mysql_ca, + libvirt_images_rbd_pool => $libvirt_images_rbd_pool, + libvirt_images_rbd_ceph_conf => $libvirt_images_rbd_ceph_conf, + libvirt_inject_password => $libvirt_inject_password, + libvirt_inject_key => $libvirt_inject_key, + libvirt_images_type => $libvirt_images_type, + rbd_user => $rbd_user, + rbd_secret_uuid => $rbd_secret_uuid, + private_iface => $private_iface, + private_ip => $private_ip, + private_network => $private_network, + network_device_mtu => $network_device_mtu, + vnc_keymap => $vnc_keymap, } class {'quickstack::neutron::firewall::gre':} diff --git a/puppet/modules/quickstack/manifests/nova.pp b/puppet/modules/quickstack/manifests/nova.pp index 46a666a0..1ff90c96 100644 --- a/puppet/modules/quickstack/manifests/nova.pp +++ b/puppet/modules/quickstack/manifests/nova.pp @@ -117,6 +117,7 @@ class quickstack::nova ( $admin_password, + $amqp_heartbeat_timeout_threshold, $amqp_hostname = 'localhost', $amqp_port = '5672', $amqp_username = '', @@ -156,22 +157,23 @@ $glance_api_uri = "http://${glance_host}:${glance_port}/v1" class { '::nova': - database_connection => $nova_sql_connection, - image_service => $image_service, - glance_api_servers => $glance_api_uri, - memcached_servers => $memcached_servers, - rpc_backend => $rpc_backend, - verbose => $verbose, - qpid_port => $amqp_port, - qpid_hostname => $amqp_hostname, - qpid_heartbeat => $qpid_heartbeat, - qpid_username => $amqp_username, - qpid_password => $amqp_password, - rabbit_port => $amqp_port, - rabbit_host => $amqp_hostname, - rabbit_userid => $amqp_username, - rabbit_password => $amqp_password, - rabbit_hosts => $rabbit_hosts, + database_connection => $nova_sql_connection, + image_service => $image_service, + glance_api_servers => $glance_api_uri, + memcached_servers => $memcached_servers, + rpc_backend => $rpc_backend, + verbose => $verbose, + qpid_port => $amqp_port, + qpid_hostname => $amqp_hostname, + qpid_heartbeat => $qpid_heartbeat, + qpid_username => $amqp_username, + qpid_password => $amqp_password, + rabbit_heartbeat_timeout_threshold => $amqp_heartbeat_timeout_threshold, + rabbit_port => $amqp_port, + rabbit_host => $amqp_hostname, + rabbit_userid => $amqp_username, + rabbit_password => $amqp_password, + rabbit_hosts => $rabbit_hosts, } nova_config { 'DEFAULT/default_floating_pool': @@ -223,7 +225,7 @@ class {'::nova::scheduler::filter': scheduler_host_subset_size => $scheduler_host_subset_size, ram_allocation_ratio => $ram_allocation_ratio, - cpu_allocation_ratio => $cpu_allocation_ratio, + cpu_allocation_ratio => $cpu_allocation_ratio, } class {'::nova::cert': enabled => str2bool_i("$enabled"), diff --git a/puppet/modules/quickstack/manifests/nova_network/compute.pp b/puppet/modules/quickstack/manifests/nova_network/compute.pp index 1c0e80d2..fe17d632 100644 --- a/puppet/modules/quickstack/manifests/nova_network/compute.pp +++ b/puppet/modules/quickstack/manifests/nova_network/compute.pp @@ -46,6 +46,7 @@ $network_fixed_range = '10.0.0.0/24', $network_floating_range = '10.0.1.0/24', $amqp_provider = $quickstack::params::amqp_provider, + $amqp_heartbeat_timeout_threshold = '60', $amqp_host = $quickstack::params::amqp_host, $amqp_port = '5672', $amqp_ssl_port = '5671', @@ -114,60 +115,61 @@ } class { 'quickstack::compute_common': - auth_host => $auth_host, - ceilometer => $ceilometer, - ceilometer_metering_secret => $ceilometer_metering_secret, - ceilometer_user_password => $ceilometer_user_password, - manage_ceph_conf => $manage_ceph_conf, - ceph_cluster_network => $ceph_cluster_network, - ceph_public_network => $ceph_public_network, - ceph_fsid => $ceph_fsid, - ceph_images_key => $ceph_images_key, - ceph_volumes_key => $ceph_volumes_key, - ceph_rgw_key => $ceph_rgw_key, - ceph_mon_host => $ceph_mon_host, - ceph_mon_initial_members => $ceph_mon_initial_members, - ceph_conf_include_osd_global => $ceph_conf_include_osd_global, - ceph_osd_pool_size => $ceph_osd_pool_size, - ceph_osd_journal_size => $ceph_osd_journal_size, - ceph_osd_mkfs_options_xfs => $ceph_osd_mkfs_options_xfs, - ceph_osd_mount_options_xfs => $ceph_osd_mount_options_xfs, - ceph_conf_include_rgw => $ceph_conf_include_rgw, - ceph_rgw_hostnames => $ceph_rgw_hostnames, - ceph_extra_conf_lines => $ceph_extra_conf_lines, - cinder_backend_gluster => $cinder_backend_gluster, - cinder_backend_nfs => $cinder_backend_nfs, - cinder_backend_rbd => $cinder_backend_rbd, - cinder_catalog_info => $cinder_catalog_info, - debug => $debug, - glance_backend_rbd => $glance_backend_rbd, - glance_host => $glance_host, - mysql_host => $mysql_host, - nova_db_password => $nova_db_password, - nova_host => $nova_host, - vncproxy_host => pick($vncproxy_host, $nova_host), - nova_user_password => $nova_user_password, - amqp_provider => $amqp_provider, - amqp_host => $amqp_host, - amqp_port => $amqp_port, - amqp_ssl_port => $amqp_ssl_port, - amqp_username => $amqp_username, - amqp_password => $amqp_password, - rabbit_hosts => $_rabbit_hosts, - verbose => $verbose, - ssl => $ssl, - mysql_ca => $mysql_ca, - libvirt_images_rbd_pool => $libvirt_images_rbd_pool, - libvirt_images_rbd_ceph_conf => $libvirt_images_rbd_ceph_conf, - libvirt_inject_password => $libvirt_inject_password, - libvirt_inject_key => $libvirt_inject_key, - libvirt_images_type => $libvirt_images_type, - rbd_user => $rbd_user, - rbd_secret_uuid => $rbd_secret_uuid, - private_iface => $private_iface, - private_ip => $private_ip, - private_network => $private_network, - network_device_mtu => $network_device_mtu, - vnc_keymap => $vnc_keymap, + auth_host => $auth_host, + ceilometer => $ceilometer, + ceilometer_metering_secret => $ceilometer_metering_secret, + ceilometer_user_password => $ceilometer_user_password, + manage_ceph_conf => $manage_ceph_conf, + ceph_cluster_network => $ceph_cluster_network, + ceph_public_network => $ceph_public_network, + ceph_fsid => $ceph_fsid, + ceph_images_key => $ceph_images_key, + ceph_volumes_key => $ceph_volumes_key, + ceph_rgw_key => $ceph_rgw_key, + ceph_mon_host => $ceph_mon_host, + ceph_mon_initial_members => $ceph_mon_initial_members, + ceph_conf_include_osd_global => $ceph_conf_include_osd_global, + ceph_osd_pool_size => $ceph_osd_pool_size, + ceph_osd_journal_size => $ceph_osd_journal_size, + ceph_osd_mkfs_options_xfs => $ceph_osd_mkfs_options_xfs, + ceph_osd_mount_options_xfs => $ceph_osd_mount_options_xfs, + ceph_conf_include_rgw => $ceph_conf_include_rgw, + ceph_rgw_hostnames => $ceph_rgw_hostnames, + ceph_extra_conf_lines => $ceph_extra_conf_lines, + cinder_backend_gluster => $cinder_backend_gluster, + cinder_backend_nfs => $cinder_backend_nfs, + cinder_backend_rbd => $cinder_backend_rbd, + cinder_catalog_info => $cinder_catalog_info, + debug => $debug, + glance_backend_rbd => $glance_backend_rbd, + glance_host => $glance_host, + mysql_host => $mysql_host, + nova_db_password => $nova_db_password, + nova_host => $nova_host, + vncproxy_host => pick($vncproxy_host, $nova_host), + nova_user_password => $nova_user_password, + amqp_provider => $amqp_provider, + amqp_heartbeat_timeout_threshold => $amqp_heartbeat_timeout_threshold, + amqp_host => $amqp_host, + amqp_port => $amqp_port, + amqp_ssl_port => $amqp_ssl_port, + amqp_username => $amqp_username, + amqp_password => $amqp_password, + rabbit_hosts => $_rabbit_hosts, + verbose => $verbose, + ssl => $ssl, + mysql_ca => $mysql_ca, + libvirt_images_rbd_pool => $libvirt_images_rbd_pool, + libvirt_images_rbd_ceph_conf => $libvirt_images_rbd_ceph_conf, + libvirt_inject_password => $libvirt_inject_password, + libvirt_inject_key => $libvirt_inject_key, + libvirt_images_type => $libvirt_images_type, + rbd_user => $rbd_user, + rbd_secret_uuid => $rbd_secret_uuid, + private_iface => $private_iface, + private_ip => $private_ip, + private_network => $private_network, + network_device_mtu => $network_device_mtu, + vnc_keymap => $vnc_keymap, } } diff --git a/puppet/modules/quickstack/manifests/pacemaker/ceilometer.pp b/puppet/modules/quickstack/manifests/pacemaker/ceilometer.pp index 02c200c3..9883e03f 100644 --- a/puppet/modules/quickstack/manifests/pacemaker/ceilometer.pp +++ b/puppet/modules/quickstack/manifests/pacemaker/ceilometer.pp @@ -131,26 +131,28 @@ } -> class { '::quickstack::ceilometer::control': - amqp_provider => map_params('amqp_provider'), - amqp_host => map_params('amqp_vip'), - amqp_port => map_params('amqp_port'), - amqp_username => map_params('amqp_username'), - amqp_password => map_params('amqp_password'), - rabbit_hosts => map_params("rabbitmq_hosts"), - auth_host => map_params("keystone_admin_vip"), - bind_address => map_params("local_bind_addr"), - ceilometer_metering_secret => "$ceilometer_metering_secret", - ceilometer_user_password => map_params('ceilometer_user_password'), - ceilometer_pub_host => "$ceilometer_public_vip", - ceilometer_priv_host => "$ceilometer_private_vip", - ceilometer_admin_host => "$ceilometer_admin_vip", - db_hosts => $_db_servers, - memcache_servers => $_memcached_servers, - qpid_protocol => map_params(''), - service_enable => $_enabled, - service_ensure => $_ensure, - verbose => $verbose, - coordination_url => $_coordination_url, + amqp_provider => map_params('amqp_provider'), + amqp_heartbeat_timeout_threshold => + map_params('amqp_heartbeat_timeout_threshold'), + amqp_host => map_params('amqp_vip'), + amqp_port => map_params('amqp_port'), + amqp_username => map_params('amqp_username'), + amqp_password => map_params('amqp_password'), + rabbit_hosts => map_params("rabbitmq_hosts"), + auth_host => map_params("keystone_admin_vip"), + bind_address => map_params("local_bind_addr"), + ceilometer_metering_secret => "$ceilometer_metering_secret", + ceilometer_user_password => map_params('ceilometer_user_password'), + ceilometer_pub_host => "$ceilometer_public_vip", + ceilometer_priv_host => "$ceilometer_private_vip", + ceilometer_admin_host => "$ceilometer_admin_vip", + db_hosts => $_db_servers, + memcache_servers => $_memcached_servers, + qpid_protocol => map_params(''), + service_enable => $_enabled, + service_ensure => $_ensure, + verbose => $verbose, + coordination_url => $_coordination_url, } -> exec {"pcs-ceilometer-server-set-up": diff --git a/puppet/modules/quickstack/manifests/pacemaker/cinder.pp b/puppet/modules/quickstack/manifests/pacemaker/cinder.pp index 52e724ec..3cc555c3 100644 --- a/puppet/modules/quickstack/manifests/pacemaker/cinder.pp +++ b/puppet/modules/quickstack/manifests/pacemaker/cinder.pp @@ -170,30 +170,32 @@ } -> class {'::quickstack::cinder': - user_password => $cinder_user_password, - bind_host => map_params('local_bind_addr'), - db_host => $db_host, - db_name => $db_name, - db_user => $db_user, - db_password => $db_password, - max_retries => '-1', - db_ssl => $db_ssl, - db_ssl_ca => $db_ssl_ca, - enabled => $_enabled, - glance_host => $glance_host, - keystone_host => $keystone_host, - manage_service => $_enabled, - rpc_backend => amqp_backend('cinder', map_params('amqp_provider')), - amqp_host => map_params('amqp_vip'), - amqp_port => map_params('amqp_port'), - amqp_username => map_params('amqp_username'), - amqp_password => map_params('amqp_password'), - qpid_heartbeat => $qpid_heartbeat, - rabbit_hosts => map_params("rabbitmq_hosts"), - use_syslog => $use_syslog, - log_facility => $log_facility, - debug => $debug, - verbose => $verbose, + user_password => $cinder_user_password, + bind_host => map_params('local_bind_addr'), + db_host => $db_host, + db_name => $db_name, + db_user => $db_user, + db_password => $db_password, + max_retries => '-1', + db_ssl => $db_ssl, + db_ssl_ca => $db_ssl_ca, + enabled => $_enabled, + glance_host => $glance_host, + keystone_host => $keystone_host, + manage_service => $_enabled, + rpc_backend => amqp_backend('cinder', map_params('amqp_provider')), + amqp_heartbeat_timeout_threshold => + map_params('amqp_heartbeat_timeout_threshold'), + amqp_host => map_params('amqp_vip'), + amqp_port => map_params('amqp_port'), + amqp_username => map_params('amqp_username'), + amqp_password => map_params('amqp_password'), + qpid_heartbeat => $qpid_heartbeat, + rabbit_hosts => map_params("rabbitmq_hosts"), + use_syslog => $use_syslog, + log_facility => $log_facility, + debug => $debug, + verbose => $verbose, } Class['::quickstack::cinder'] -> diff --git a/puppet/modules/quickstack/manifests/pacemaker/glance.pp b/puppet/modules/quickstack/manifests/pacemaker/glance.pp index f5f0bcc2..2e1ec9ab 100644 --- a/puppet/modules/quickstack/manifests/pacemaker/glance.pp +++ b/puppet/modules/quickstack/manifests/pacemaker/glance.pp @@ -113,37 +113,39 @@ unless => "/tmp/ha-all-in-one-util.bash i_am_vip $glance_private_vip || /tmp/ha-all-in-one-util.bash property_exists glance", } -> class { 'quickstack::glance': - user_password => map_params("glance_user_password"), - db_password => map_params("glance_db_password"), - db_host => map_params("db_vip"), - keystone_host => map_params("keystone_admin_vip"), - db_idle_timeout => $db_idle_timeout, - registry_host => map_params("local_bind_addr"), - bind_host => map_params("local_bind_addr"), - db_ssl => $db_ssl, - db_ssl_ca => $db_ssl_ca, - db_user => $db_user, - db_name => $db_name, - max_retries => '-1', - backend => $backend, - rbd_store_user => $rbd_store_user, - rbd_store_pool => $rbd_store_pool, - swift_store_user => $swift_store_user, - swift_store_key => $swift_store_key, - swift_store_auth_address => $swift_store_auth_address, - verbose => $verbose, - debug => $debug, - use_syslog => $use_syslog, - log_facility => $log_facility, - enabled => $_enabled, - manage_service => $_enabled, - filesystem_store_datadir => $filesystem_store_datadir, - amqp_host => map_params("amqp_vip"), - amqp_port => map_params("amqp_port"), - amqp_username => map_params("amqp_username"), - amqp_password => map_params("amqp_password"), - amqp_provider => map_params("amqp_provider"), - rabbit_hosts => map_params("rabbitmq_hosts"), + user_password => map_params("glance_user_password"), + db_password => map_params("glance_db_password"), + db_host => map_params("db_vip"), + keystone_host => map_params("keystone_admin_vip"), + db_idle_timeout => $db_idle_timeout, + registry_host => map_params("local_bind_addr"), + bind_host => map_params("local_bind_addr"), + db_ssl => $db_ssl, + db_ssl_ca => $db_ssl_ca, + db_user => $db_user, + db_name => $db_name, + max_retries => '-1', + backend => $backend, + rbd_store_user => $rbd_store_user, + rbd_store_pool => $rbd_store_pool, + swift_store_user => $swift_store_user, + swift_store_key => $swift_store_key, + swift_store_auth_address => $swift_store_auth_address, + verbose => $verbose, + debug => $debug, + use_syslog => $use_syslog, + log_facility => $log_facility, + enabled => $_enabled, + manage_service => $_enabled, + filesystem_store_datadir => $filesystem_store_datadir, + amqp_heartbeat_timeout_threshold => + map_params('amqp_heartbeat_timeout_threshold'), + amqp_host => map_params("amqp_vip"), + amqp_port => map_params("amqp_port"), + amqp_username => map_params("amqp_username"), + amqp_password => map_params("amqp_password"), + amqp_provider => map_params("amqp_provider"), + rabbit_hosts => map_params("rabbitmq_hosts"), } -> exec {"pcs-glance-server-set-up": diff --git a/puppet/modules/quickstack/manifests/pacemaker/heat.pp b/puppet/modules/quickstack/manifests/pacemaker/heat.pp index 1cf8a3f6..8ac5115b 100644 --- a/puppet/modules/quickstack/manifests/pacemaker/heat.pp +++ b/puppet/modules/quickstack/manifests/pacemaker/heat.pp @@ -91,37 +91,39 @@ } -> class {'::quickstack::heat': - heat_user_password => map_params("heat_user_password"), - heat_cfn_user_password => map_params("heat_cfn_user_password"), - auth_encryption_key => map_params("heat_auth_encryption_key"), - bind_host => map_params("local_bind_addr"), - db_host => map_params("db_vip"), - db_name => $db_name, - db_user => $db_user, - db_password => $heat_db_password, - max_retries => '-1', - db_ssl => $db_ssl, - db_ssl_ca => $db_ssl_ca, - keystone_host => map_params("keystone_admin_vip"), - qpid_heartbeat => $qpid_heartbeat, - amqp_host => map_params("amqp_vip"), - amqp_port => map_params("amqp_port"), - amqp_username => map_params("amqp_username"), - amqp_password => map_params("amqp_password"), - amqp_provider => map_params("amqp_provider"), - rabbit_hosts => map_params("rabbitmq_hosts"), - cfn_host => map_params("heat_cfn_admin_vip"), - cloudwatch_host => map_params("heat_admin_vip"), - use_syslog => $use_syslog, - log_facility => $log_facility, - enabled => $_enabled, - manage_service => $_enabled, - debug => $debug, - verbose => $verbose, - heat_cfn_enabled => $_enabled, - heat_cloudwatch_enabled => $_enabled, - heat_engine_enabled => false, - engine_cfg_delegated => has_interface_with("ipaddress", map_params("cluster_control_ip")), + heat_user_password => map_params("heat_user_password"), + heat_cfn_user_password => map_params("heat_cfn_user_password"), + auth_encryption_key => map_params("heat_auth_encryption_key"), + bind_host => map_params("local_bind_addr"), + db_host => map_params("db_vip"), + db_name => $db_name, + db_user => $db_user, + db_password => $heat_db_password, + max_retries => '-1', + db_ssl => $db_ssl, + db_ssl_ca => $db_ssl_ca, + keystone_host => map_params("keystone_admin_vip"), + qpid_heartbeat => $qpid_heartbeat, + amqp_heartbeat_timeout_threshold => + map_params('amqp_heartbeat_timeout_threshold'), + amqp_host => map_params("amqp_vip"), + amqp_port => map_params("amqp_port"), + amqp_username => map_params("amqp_username"), + amqp_password => map_params("amqp_password"), + amqp_provider => map_params("amqp_provider"), + rabbit_hosts => map_params("rabbitmq_hosts"), + cfn_host => map_params("heat_cfn_admin_vip"), + cloudwatch_host => map_params("heat_admin_vip"), + use_syslog => $use_syslog, + log_facility => $log_facility, + enabled => $_enabled, + manage_service => $_enabled, + debug => $debug, + verbose => $verbose, + heat_cfn_enabled => $_enabled, + heat_cloudwatch_enabled => $_enabled, + heat_engine_enabled => false, + engine_cfg_delegated => has_interface_with("ipaddress", map_params("cluster_control_ip")), } -> exec {"pcs-heat-server-set-up": diff --git a/puppet/modules/quickstack/manifests/pacemaker/keystone.pp b/puppet/modules/quickstack/manifests/pacemaker/keystone.pp index 491fab71..42d46638 100644 --- a/puppet/modules/quickstack/manifests/pacemaker/keystone.pp +++ b/puppet/modules/quickstack/manifests/pacemaker/keystone.pp @@ -167,29 +167,31 @@ unless => "/tmp/ha-all-in-one-util.bash i_am_vip $keystone_private_vip || /tmp/ha-all-in-one-util.bash property_exists keystone", } -> class {"::quickstack::keystone::common": - admin_endpoint => map_params("keystone_admin_vip"), - admin_token => "$admin_token", - admin_bind_host => map_params("local_bind_addr"), - amqp_host => map_params("amqp_vip"), - amqp_port => map_params("amqp_port"), - rabbit_hosts => map_params("rabbitmq_hosts"), - db_host => map_params("db_vip"), - db_name => "$db_name", - db_password => map_params("keystone_db_password"), - db_ssl => str2bool_i("$db_ssl"), - db_ssl_ca => "$db_ssl_ca", - db_type => "$db_type", - db_user => "$db_user", - debug => str2bool_i("$debug"), - enabled => $_enabled, - idle_timeout => "$idle_timeout", - log_facility => "$log_facility", - public_bind_host => map_params("local_bind_addr"), - public_endpoint => map_params("keystone_public_vip"), - token_driver => "$token_driver", - token_provider => "$token_provider", - use_syslog => str2bool_i("$use_syslog"), - verbose => str2bool_i("$verbose"), + admin_endpoint => map_params("keystone_admin_vip"), + admin_token => "$admin_token", + admin_bind_host => map_params("local_bind_addr"), + amqp_heartbeat_timeout_threshold => + map_params('amqp_heartbeat_timeout_threshold'), + amqp_host => map_params("amqp_vip"), + amqp_port => map_params("amqp_port"), + rabbit_hosts => map_params("rabbitmq_hosts"), + db_host => map_params("db_vip"), + db_name => "$db_name", + db_password => map_params("keystone_db_password"), + db_ssl => str2bool_i("$db_ssl"), + db_ssl_ca => "$db_ssl_ca", + db_type => "$db_type", + db_user => "$db_user", + debug => str2bool_i("$debug"), + enabled => $_enabled, + idle_timeout => "$idle_timeout", + log_facility => "$log_facility", + public_bind_host => map_params("local_bind_addr"), + public_endpoint => map_params("keystone_public_vip"), + token_driver => "$token_driver", + token_provider => "$token_provider", + use_syslog => str2bool_i("$use_syslog"), + verbose => str2bool_i("$verbose"), } -> class {"::quickstack::keystone::endpoints": admin_address => map_params("keystone_admin_vip"), diff --git a/puppet/modules/quickstack/manifests/pacemaker/neutron.pp b/puppet/modules/quickstack/manifests/pacemaker/neutron.pp index 2f27050a..0d41d842 100644 --- a/puppet/modules/quickstack/manifests/pacemaker/neutron.pp +++ b/puppet/modules/quickstack/manifests/pacemaker/neutron.pp @@ -168,66 +168,68 @@ anchor {"neutron configuration anchor start": } -> class { 'quickstack::neutron::all': - allow_overlapping_ips => $allow_overlapping_ips, - auth_host => map_params("keystone_public_vip"), - database_max_retries => '-1', - dhcp_agents_per_network => $_dhcp_agents_per_network, - cisco_vswitch_plugin => $cisco_vswitch_plugin, - cisco_nexus_plugin => $cisco_nexus_plugin, - enable_tunneling => $enable_tunneling, - enabled => false, - external_network_bridge => $external_network_bridge, - enable_vif_type_n1kv => $enable_vif_type_n1kv, - l3_ha => $l3_ha, - manage_service => false, - max_l3_agents_per_router => $_max_l3_agents_per_router, - min_l3_agents_per_router => $_min_l3_agents_per_router, - ml2_type_drivers => $ml2_type_drivers, - ml2_tenant_network_types => $ml2_tenant_network_types, - ml2_mechanism_drivers => $ml2_mechanism_drivers, - ml2_flat_networks => $ml2_flat_networks, - ml2_network_vlan_ranges => $ml2_network_vlan_ranges, - ml2_tunnel_id_ranges => $ml2_tunnel_id_ranges, - ml2_vxlan_group => $ml2_vxlan_group, - ml2_vni_ranges => $ml2_vni_ranges, - ml2_security_group => $ml2_security_group, - mysql_host => map_params("db_vip"), - neutron_core_plugin => $core_plugin, - neutron_db_password => map_params("neutron_db_password"), - neutron_priv_host => map_params("local_bind_addr"), - neutron_url => map_params("neutron_public_vip"), - neutron_user_password => map_params("neutron_user_password"), - neutron_metadata_proxy_secret => map_params("neutron_metadata_proxy_secret"), - neutron_conf_additional_params => $neutron_conf_additional_params, - nova_conf_additional_params => $nova_conf_additional_params, - n1kv_vsm_ip => $n1kv_vsm_ip, - n1kv_vsm_password => $n1kv_vsm_password, - n1kv_vsm_username => $n1kv_vsm_username, - n1kv_plugin_additional_params => $n1kv_plugin_additional_params, - n1kv_ml2_plugin_additional_params => $n1kv_ml2_plugin_additional_params, - plumgrid_director_vip => $plumgrid_director_vip, - plumgrid_username => $plumgrid_username, - plumgrid_password => $plumgrid_password, - plumgrid_nova_metadata_ip => $plumgrid_nova_metadata_ip, - plumgrid_nova_metadata_port => $plumgrid_nova_metadata_port, - ovs_bridge_mappings => $ovs_bridge_mappings, - ovs_bridge_uplinks => $ovs_bridge_uplinks, - ovs_tunnel_iface => $ovs_nic, - ovs_vlan_ranges => $ovs_vlan_ranges, - ovs_vxlan_udp_port => $ovs_vxlan_udp_port, - ovs_tunnel_types => $ovs_tunnel_types, - rpc_backend => amqp_backend('neutron', map_params('amqp_provider')), - amqp_host => map_params("amqp_vip"), - amqp_port => map_params("amqp_port"), - amqp_username => map_params("amqp_username"), - amqp_password => map_params("amqp_password"), - rabbit_hosts => map_params("rabbitmq_hosts"), - tenant_network_type => $tenant_network_type, - security_group_api => $security_group_api, - nexus_config => $nexus_config, - verbose => $verbose, - network_device_mtu => $network_device_mtu, - veth_mtu => $veth_mtu, + allow_overlapping_ips => $allow_overlapping_ips, + auth_host => map_params("keystone_public_vip"), + database_max_retries => '-1', + dhcp_agents_per_network => $_dhcp_agents_per_network, + cisco_vswitch_plugin => $cisco_vswitch_plugin, + cisco_nexus_plugin => $cisco_nexus_plugin, + enable_tunneling => $enable_tunneling, + enabled => false, + external_network_bridge => $external_network_bridge, + enable_vif_type_n1kv => $enable_vif_type_n1kv, + l3_ha => $l3_ha, + manage_service => false, + max_l3_agents_per_router => $_max_l3_agents_per_router, + min_l3_agents_per_router => $_min_l3_agents_per_router, + ml2_type_drivers => $ml2_type_drivers, + ml2_tenant_network_types => $ml2_tenant_network_types, + ml2_mechanism_drivers => $ml2_mechanism_drivers, + ml2_flat_networks => $ml2_flat_networks, + ml2_network_vlan_ranges => $ml2_network_vlan_ranges, + ml2_tunnel_id_ranges => $ml2_tunnel_id_ranges, + ml2_vxlan_group => $ml2_vxlan_group, + ml2_vni_ranges => $ml2_vni_ranges, + ml2_security_group => $ml2_security_group, + mysql_host => map_params("db_vip"), + neutron_core_plugin => $core_plugin, + neutron_db_password => map_params("neutron_db_password"), + neutron_priv_host => map_params("local_bind_addr"), + neutron_url => map_params("neutron_public_vip"), + neutron_user_password => map_params("neutron_user_password"), + neutron_metadata_proxy_secret => map_params("neutron_metadata_proxy_secret"), + neutron_conf_additional_params => $neutron_conf_additional_params, + nova_conf_additional_params => $nova_conf_additional_params, + n1kv_vsm_ip => $n1kv_vsm_ip, + n1kv_vsm_password => $n1kv_vsm_password, + n1kv_vsm_username => $n1kv_vsm_username, + n1kv_plugin_additional_params => $n1kv_plugin_additional_params, + n1kv_ml2_plugin_additional_params => $n1kv_ml2_plugin_additional_params, + plumgrid_director_vip => $plumgrid_director_vip, + plumgrid_username => $plumgrid_username, + plumgrid_password => $plumgrid_password, + plumgrid_nova_metadata_ip => $plumgrid_nova_metadata_ip, + plumgrid_nova_metadata_port => $plumgrid_nova_metadata_port, + ovs_bridge_mappings => $ovs_bridge_mappings, + ovs_bridge_uplinks => $ovs_bridge_uplinks, + ovs_tunnel_iface => $ovs_nic, + ovs_vlan_ranges => $ovs_vlan_ranges, + ovs_vxlan_udp_port => $ovs_vxlan_udp_port, + ovs_tunnel_types => $ovs_tunnel_types, + rpc_backend => amqp_backend('neutron', map_params('amqp_provider')), + amqp_heartbeat_timeout_threshold => + map_params('amqp_heartbeat_timeout_threshold'), + amqp_host => map_params("amqp_vip"), + amqp_port => map_params("amqp_port"), + amqp_username => map_params("amqp_username"), + amqp_password => map_params("amqp_password"), + rabbit_hosts => map_params("rabbitmq_hosts"), + tenant_network_type => $tenant_network_type, + security_group_api => $security_group_api, + nexus_config => $nexus_config, + verbose => $verbose, + network_device_mtu => $network_device_mtu, + veth_mtu => $veth_mtu, } -> anchor {"neutron configuration anchor end": } diff --git a/puppet/modules/quickstack/manifests/pacemaker/nova.pp b/puppet/modules/quickstack/manifests/pacemaker/nova.pp index a5e15c7a..3fea01ed 100644 --- a/puppet/modules/quickstack/manifests/pacemaker/nova.pp +++ b/puppet/modules/quickstack/manifests/pacemaker/nova.pp @@ -73,37 +73,39 @@ } -> class { '::quickstack::nova': - admin_password => map_params("nova_user_password"), - auth_host => map_params("keystone_admin_vip"), - auto_assign_floating_ip => $auto_assign_floating_ip, - bind_address => map_params("local_bind_addr"), - db_host => map_params("db_vip"), - db_name => $db_name, - db_password => map_params("nova_db_password"), - db_user => $db_user, - max_retries => '-1', - default_floating_pool => $default_floating_pool, - enabled => $_enabled, - force_dhcp_release => $force_dhcp_release, - glance_host => map_params("glance_private_vip"), - glance_port => "${::quickstack::load_balancer::glance::api_port}", - image_service => $image_service, - manage_service => $_enabled, - memcached_servers => $memcached_servers, - multi_host => $multi_host, - neutron => str2bool_i(map_params("neutron")), - neutron_metadata_proxy_secret => map_params("neutron_metadata_proxy_secret"), - qpid_heartbeat => $qpid_heartbeat, - amqp_hostname => map_params("amqp_vip"), - amqp_port => map_params("amqp_port"), - amqp_username => map_params("amqp_username"), - amqp_password => map_params("amqp_password"), - rabbit_hosts => map_params("rabbitmq_hosts"), - rpc_backend => amqp_backend('nova', map_params('amqp_provider')), - scheduler_host_subset_size => $scheduler_host_subset_size, - ram_allocation_ratio => $ram_allocation_ratio, - cpu_allocation_ratio => $cpu_allocation_ratio, - verbose => $verbose, + admin_password => map_params("nova_user_password"), + auth_host => map_params("keystone_admin_vip"), + auto_assign_floating_ip => $auto_assign_floating_ip, + bind_address => map_params("local_bind_addr"), + db_host => map_params("db_vip"), + db_name => $db_name, + db_password => map_params("nova_db_password"), + db_user => $db_user, + max_retries => '-1', + default_floating_pool => $default_floating_pool, + enabled => $_enabled, + force_dhcp_release => $force_dhcp_release, + glance_host => map_params("glance_private_vip"), + glance_port => "${::quickstack::load_balancer::glance::api_port}", + image_service => $image_service, + manage_service => $_enabled, + memcached_servers => $memcached_servers, + multi_host => $multi_host, + neutron => str2bool_i(map_params("neutron")), + neutron_metadata_proxy_secret => map_params("neutron_metadata_proxy_secret"), + qpid_heartbeat => $qpid_heartbeat, + amqp_heartbeat_timeout_threshold => + map_params('amqp_heartbeat_timeout_threshold'), + amqp_hostname => map_params("amqp_vip"), + amqp_port => map_params("amqp_port"), + amqp_username => map_params("amqp_username"), + amqp_password => map_params("amqp_password"), + rabbit_hosts => map_params("rabbitmq_hosts"), + rpc_backend => amqp_backend('nova', map_params('amqp_provider')), + scheduler_host_subset_size => $scheduler_host_subset_size, + ram_allocation_ratio => $ram_allocation_ratio, + cpu_allocation_ratio => $cpu_allocation_ratio, + verbose => $verbose, } -> exec {"pcs-nova-server-set-up": diff --git a/puppet/modules/quickstack/manifests/pacemaker/params.pp b/puppet/modules/quickstack/manifests/pacemaker/params.pp index 61a07073..dd3e1fc5 100644 --- a/puppet/modules/quickstack/manifests/pacemaker/params.pp +++ b/puppet/modules/quickstack/manifests/pacemaker/params.pp @@ -1,117 +1,118 @@ class quickstack::pacemaker::params ( - $db_vip = '', - $db_group = 'db', - $ceilometer_public_vip = '', - $ceilometer_private_vip = '', - $ceilometer_admin_vip = '', - $ceilometer_group = 'ceilometer', - $ceilometer_user_password = '', - $manage_ceph_conf = true, - $ceph_cluster_network = '', - $ceph_public_network = '', - $ceph_fsid = '', - $ceph_images_key = '', - $ceph_volumes_key = '', - $ceph_rgw_key = '', - $ceph_mon_host = [], - $ceph_mon_initial_members = [], - $ceph_conf_include_osd_global = true, - $ceph_osd_pool_size = '', - $ceph_osd_journal_size = '', - $ceph_osd_mkfs_options_xfs = '-f -i size=2048 -n size=64k', - $ceph_osd_mount_options_xfs = 'inode64,noatime,logbsize=256k', - $ceph_conf_include_rgw = false, - $ceph_rgw_hostnames = [ ], - $ceph_extra_conf_lines = [ ], - $cinder_public_vip = '', - $cinder_private_vip = '', - $cinder_admin_vip = '', - $cinder_group = 'cinder', - $cinder_db_password = '', - $cinder_user_password = '', - $cluster_control_ip = '', - $glance_public_vip = '', - $glance_private_vip = '', - $glance_admin_vip = '', - $glance_group = 'glance', - $glance_db_password = '', - $glance_user_password = '', - $heat_public_vip = '', - $heat_private_vip = '', - $heat_admin_vip = '', - $heat_group = 'heat', - $heat_db_password = '', - $heat_user_password = '', - $heat_auth_encryption_key = '', - $heat_cfn_enabled = 'true', - $heat_cfn_public_vip = '', - $heat_cfn_private_vip = '', - $heat_cfn_admin_vip = '', - $heat_cfn_group = 'heat_cfn', - $heat_cfn_user_password = '', - $heat_cloudwatch_enabled = 'true', - $horizon_public_vip = '', - $horizon_private_vip = '', - $horizon_admin_vip = '', - $horizon_group = 'horizon', - $include_ceilometer = 'true', - $include_cinder = 'true', - $include_glance = 'true', - $include_heat = 'true', - $include_horizon = 'true', - $include_keystone = 'true', - $include_mysql = 'true', - $include_neutron = 'true', - $include_nosql = 'true', - $include_nova = 'true', - $include_amqp = 'true', - $include_swift = 'true', - $loadbalancer_vip = '', - $loadbalancer_group = 'loadbalancer', - $lb_backend_server_names = [], - $lb_backend_server_addrs = [], - $pcmk_server_names = [], - $pcmk_server_addrs = [], - $keystone_public_vip = '', - $keystone_private_vip = '', - $keystone_admin_vip = '', - $keystone_group = 'keystone', - $keystone_db_password = '', - $keystone_user_password = '', - $neutron = 'false', + $db_vip = '', + $db_group = 'db', + $ceilometer_public_vip = '', + $ceilometer_private_vip = '', + $ceilometer_admin_vip = '', + $ceilometer_group = 'ceilometer', + $ceilometer_user_password = '', + $manage_ceph_conf = true, + $ceph_cluster_network = '', + $ceph_public_network = '', + $ceph_fsid = '', + $ceph_images_key = '', + $ceph_volumes_key = '', + $ceph_rgw_key = '', + $ceph_mon_host = [], + $ceph_mon_initial_members = [], + $ceph_conf_include_osd_global = true, + $ceph_osd_pool_size = '', + $ceph_osd_journal_size = '', + $ceph_osd_mkfs_options_xfs = '-f -i size=2048 -n size=64k', + $ceph_osd_mount_options_xfs = 'inode64,noatime,logbsize=256k', + $ceph_conf_include_rgw = false, + $ceph_rgw_hostnames = [ ], + $ceph_extra_conf_lines = [ ], + $cinder_public_vip = '', + $cinder_private_vip = '', + $cinder_admin_vip = '', + $cinder_group = 'cinder', + $cinder_db_password = '', + $cinder_user_password = '', + $cluster_control_ip = '', + $glance_public_vip = '', + $glance_private_vip = '', + $glance_admin_vip = '', + $glance_group = 'glance', + $glance_db_password = '', + $glance_user_password = '', + $heat_public_vip = '', + $heat_private_vip = '', + $heat_admin_vip = '', + $heat_group = 'heat', + $heat_db_password = '', + $heat_user_password = '', + $heat_auth_encryption_key = '', + $heat_cfn_enabled = 'true', + $heat_cfn_public_vip = '', + $heat_cfn_private_vip = '', + $heat_cfn_admin_vip = '', + $heat_cfn_group = 'heat_cfn', + $heat_cfn_user_password = '', + $heat_cloudwatch_enabled = 'true', + $horizon_public_vip = '', + $horizon_private_vip = '', + $horizon_admin_vip = '', + $horizon_group = 'horizon', + $include_ceilometer = 'true', + $include_cinder = 'true', + $include_glance = 'true', + $include_heat = 'true', + $include_horizon = 'true', + $include_keystone = 'true', + $include_mysql = 'true', + $include_neutron = 'true', + $include_nosql = 'true', + $include_nova = 'true', + $include_amqp = 'true', + $include_swift = 'true', + $loadbalancer_vip = '', + $loadbalancer_group = 'loadbalancer', + $lb_backend_server_names = [], + $lb_backend_server_addrs = [], + $pcmk_server_names = [], + $pcmk_server_addrs = [], + $keystone_public_vip = '', + $keystone_private_vip = '', + $keystone_admin_vip = '', + $keystone_group = 'keystone', + $keystone_db_password = '', + $keystone_user_password = '', + $neutron = 'false', $neutron_metadata_proxy_secret, - $neutron_public_vip = '', - $neutron_private_vip = '', - $neutron_admin_vip = '', - $neutron_group = 'neutron', - $neutron_db_password = '', - $neutron_user_password = '', - $nosql_vip = '', - $nosql_group = 'nosql', - $nova_public_vip = '', - $nova_private_vip = '', - $nova_admin_vip = '', - $nova_group = 'nova', - $nova_db_password = '', - $nova_user_password = '', - $pcmk_ip = '', - $pcmk_iface = '', - $pcmk_network = '', - $private_ip = '', - $private_iface = '', - $private_network = '', - $amqp_provider = 'rabbitmq', - $amqp_port = '5672', - $amqp_vip = '', - $amqp_group = 'amqp', - $amqp_username = '', - $amqp_password = '', - $rabbitmq_use_addrs_not_vip = true, - $swift_public_vip = '', - $swift_user_password = '', - $swift_group = 'swift', - $redis_group = 'redis', - $redis_vip = '', + $neutron_public_vip = '', + $neutron_private_vip = '', + $neutron_admin_vip = '', + $neutron_group = 'neutron', + $neutron_db_password = '', + $neutron_user_password = '', + $nosql_vip = '', + $nosql_group = 'nosql', + $nova_public_vip = '', + $nova_private_vip = '', + $nova_admin_vip = '', + $nova_group = 'nova', + $nova_db_password = '', + $nova_user_password = '', + $pcmk_ip = '', + $pcmk_iface = '', + $pcmk_network = '', + $private_ip = '', + $private_iface = '', + $private_network = '', + $amqp_heartbeat_timeout_threshold = '60', + $amqp_provider = 'rabbitmq', + $amqp_port = '5672', + $amqp_vip = '', + $amqp_group = 'amqp', + $amqp_username = '', + $amqp_password = '', + $rabbitmq_use_addrs_not_vip = true, + $swift_public_vip = '', + $swift_user_password = '', + $swift_group = 'swift', + $redis_group = 'redis', + $redis_vip = '', ) { $local_bind_addr = find_ip("$private_network", "$private_iface",