diff --git a/deployment/puppet/openstack/examples/site_openstack_compact_fordocs.pp b/deployment/puppet/openstack/examples/site_openstack_compact_fordocs.pp index d994c10e58..a1400d32ac 100644 --- a/deployment/puppet/openstack/examples/site_openstack_compact_fordocs.pp +++ b/deployment/puppet/openstack/examples/site_openstack_compact_fordocs.pp @@ -521,7 +521,10 @@ class compact_controller ( cinder_rate_limits => $cinder_rate_limits, horizon_use_ssl => $horizon_use_ssl, use_unicast_corosync => $use_unicast_corosync, - ha_provider => $ha_provider + ha_provider => $ha_provider, + internal_virtual_ip_mask => '24', + public_virtual_ip_mask => '24', + keepalived_vrrp_script => "killall -0 haproxy" } class { 'swift::keystone::auth': password => $swift_user_password, diff --git a/deployment/puppet/openstack/examples/site_openstack_ha_compact.pp b/deployment/puppet/openstack/examples/site_openstack_ha_compact.pp index 46bb6a1886..aae2db7912 100644 --- a/deployment/puppet/openstack/examples/site_openstack_ha_compact.pp +++ b/deployment/puppet/openstack/examples/site_openstack_ha_compact.pp @@ -524,7 +524,10 @@ class compact_controller ( cinder_rate_limits => $cinder_rate_limits, horizon_use_ssl => $horizon_use_ssl, use_unicast_corosync => $use_unicast_corosync, - ha_provider => $ha_provider + ha_provider => $ha_provider, + internal_virtual_ip_mask => '24', + public_virtual_ip_mask => '24', + keepalived_vrrp_script => "killall -0 haproxy" } class { 'swift::keystone::auth': password => $swift_user_password, diff --git a/deployment/puppet/openstack/examples/site_openstack_ha_full.pp b/deployment/puppet/openstack/examples/site_openstack_ha_full.pp index 449300a2f1..41e270c524 100644 --- a/deployment/puppet/openstack/examples/site_openstack_ha_full.pp +++ b/deployment/puppet/openstack/examples/site_openstack_ha_full.pp @@ -565,7 +565,10 @@ class ha_controller ( nova_rate_limits => $nova_rate_limits, cinder_rate_limits => $cinder_rate_limits, horizon_use_ssl => $horizon_use_ssl, - ha_provider => $ha_provider + ha_provider => $ha_provider, + internal_virtual_ip_mask => '24', + public_virtual_ip_mask => '24', + keepalived_vrrp_script => "killall -0 haproxy" } class { 'swift::keystone::auth': password => $swift_user_password, diff --git a/deployment/puppet/openstack/examples/site_openstack_ha_minimal.pp b/deployment/puppet/openstack/examples/site_openstack_ha_minimal.pp index c27d0499c0..edbde5ba79 100644 --- a/deployment/puppet/openstack/examples/site_openstack_ha_minimal.pp +++ b/deployment/puppet/openstack/examples/site_openstack_ha_minimal.pp @@ -502,7 +502,10 @@ class compact_controller ( nova_rate_limits => $nova_rate_limits, cinder_rate_limits => $cinder_rate_limits, horizon_use_ssl => $horizon_use_ssl, - ha_provider => $ha_provider + ha_provider => $ha_provider, + internal_virtual_ip_mask => '24', + public_virtual_ip_mask => '24', + keepalived_vrrp_script => "killall -0 haproxy" } } diff --git a/deployment/puppet/openstack/manifests/controller_ha.pp b/deployment/puppet/openstack/manifests/controller_ha.pp index 5dbaf0b65b..701c7ad9b0 100644 --- a/deployment/puppet/openstack/manifests/controller_ha.pp +++ b/deployment/puppet/openstack/manifests/controller_ha.pp @@ -108,6 +108,9 @@ class openstack::controller_ha ( $create_networks = true, $use_unicast_corosync = false, $ha_mode = true, + $internal_virtual_ip_mask = undef, + $public_virtual_ip_mask = undef, + $keepalived_vrrp_script = "killall -0 haproxy", ) { # haproxy @@ -240,15 +243,19 @@ local0.* -/var/log/haproxy.log' keepalived::instance { $public_vrid: interface => $public_interface, - virtual_ips => [$public_virtual_ip], + virtual_ips => $public_virtual_ip_mask ? { undef => ["${public_virtual_ip}"], default => ["${public_virtual_ip}/${public_virtual_ip_mask}"] }, state => $primary_controller ? { true => 'MASTER', default => 'BACKUP' }, - priority => $primary_controller ? { true => 101, default => 100 }, + priority => $primary_controller ? { true => 100, default => fqdn_rand(100) }, + vrrp_script => $keepalived_vrrp_script, + weight => 101, } keepalived::instance { $internal_vrid: interface => $internal_interface, - virtual_ips => [$internal_virtual_ip], + virtual_ips => $internal_virtual_ip_mask ? { undef => ["${internal_virtual_ip}"], default => ["${internal_virtual_ip}/${internal_virtual_ip_mask}"] }, state => $primary_controller ? { true => 'MASTER', default => 'BACKUP' }, - priority => $primary_controller ? { true => 101, default => 100 }, + priority => $primary_controller ? { true => 100, default => fqdn_rand(100) }, + vrrp_script => $keepalived_vrrp_script, + weight => 101, } class { '::openstack::firewall':