From 0fbca98c436b0f06681b8466176771fbec1908a6 Mon Sep 17 00:00:00 2001 From: Andrey Epifanov Date: Mon, 2 Feb 2015 15:21:48 +0300 Subject: [PATCH] Add timeout for secondary controllers and fix dependency Change-Id: I87b472bdf4c7ea02bda4bd82d91d271e51ccbc3c --- .../puppet/modules/vpnaas/manifests/common.pp | 6 +-- .../puppet/modules/vpnaas/manifests/ha.pp | 12 ++++++ .../puppet/modules/vpnaas/manifests/params.pp | 38 +++++++++---------- 3 files changed, 34 insertions(+), 22 deletions(-) diff --git a/deployment_scripts/puppet/modules/vpnaas/manifests/common.pp b/deployment_scripts/puppet/modules/vpnaas/manifests/common.pp index 57b8534..b9a70fe 100644 --- a/deployment_scripts/puppet/modules/vpnaas/manifests/common.pp +++ b/deployment_scripts/puppet/modules/vpnaas/manifests/common.pp @@ -20,7 +20,7 @@ class vpnaas::common { enable => true, } - exec { "enable_vpnaas_dashboard": + exec {'enable_vpnaas_dashboard': command => "/bin/sed -i \"s/'enable_vpn': False/'enable_vpn': True/\" $vpnaas::params::dashboard_settings", unless => "/bin/egrep \"'enable_vpn': True\" $vpnaas::params::dashboard_settings", } @@ -36,6 +36,6 @@ class vpnaas::common { value => 'plugin.VPNDriverPlugin', } - Exec['enable_vpnaas_dashboard'] -> Ini_subsetting['add_vpnaas_service_plugin'] ~> - Service[$vpnaas::params::server_service] ~> Service[$vpnaas::params::dashboard_service] + Exec['enable_vpnaas_dashboard'] ~> Service[$vpnaas::params::dashboard_service] + Ini_subsetting['add_vpnaas_service_plugin'] ~> Service[$vpnaas::params::server_service] } diff --git a/deployment_scripts/puppet/modules/vpnaas/manifests/ha.pp b/deployment_scripts/puppet/modules/vpnaas/manifests/ha.pp index f570abe..10ae9a6 100644 --- a/deployment_scripts/puppet/modules/vpnaas/manifests/ha.pp +++ b/deployment_scripts/puppet/modules/vpnaas/manifests/ha.pp @@ -81,6 +81,18 @@ class vpnaas::ha { hasrestart => false, } + #fuel-plugins system doesn't have 'primary-controller' role so + #we have to separate controllers' deployment here using waiting cycles. + if ! $primary_controller { + exec {'waiting-for-vpn-agent': + tries => 30, + try_sleep => 10, + command => "pcs resource show p_neutron-vpn-agent > /dev/null 2>&1", + path => '/usr/sbin:/usr/bin:/sbin:/bin', + } + Exec['waiting-for-vpn-agent'] -> Cluster::Corosync::Cs_service["vpn"] + } + File['q-agent-cleanup.py'] -> Cluster::Corosync::Cs_service["vpn"] File["${vpnaas::params::vpn_agent_ocf_file}"] -> Cluster::Corosync::Cs_service["vpn"] -> Cluster::Corosync::Cs_with_service['vpn-and-ovs'] -> Class['vpnaas::common'] diff --git a/deployment_scripts/puppet/modules/vpnaas/manifests/params.pp b/deployment_scripts/puppet/modules/vpnaas/manifests/params.pp index b553e57..d60ea6b 100644 --- a/deployment_scripts/puppet/modules/vpnaas/manifests/params.pp +++ b/deployment_scripts/puppet/modules/vpnaas/manifests/params.pp @@ -3,29 +3,24 @@ class vpnaas::params { if($::osfamily == 'Redhat') { - $server_package = 'openstack-neutron' - $server_service = 'neutron-server' - $vpnaas_agent_package = 'openstack-neutron-vpn-agent' - $vpnaas_agent_service = 'neutron-vpn-agent' - $openswan_package = 'openswan' + $server_package = 'openstack-neutron' - $dashboard_package = 'openstack-dashboard' - $dashboard_service = 'httpd' - $dashboard_settings = '/etc/openstack-dashboard/local_settings' + $vpnaas_agent_package = 'openstack-neutron-vpn-agent' + + $dashboard_package = 'openstack-dashboard' + $dashboard_service = 'httpd' + $dashboard_settings = '/etc/openstack-dashboard/local_settings' } elsif($::osfamily == 'Debian') { - $server_package = 'neutron-server' - $server_service = 'neutron-server' + $server_package = 'neutron-server' - $vpnaas_agent_package = 'neutron-vpn-agent' - $vpnaas_agent_service = 'neutron-vpn-agent' - $openswan_package = 'openswan' + $vpnaas_agent_package = 'neutron-vpn-agent' - $dashboard_package = 'python-django-horizon' - $dashboard_service = 'apache2' - $dashboard_settings = '/etc/openstack-dashboard/local_settings.py' + $dashboard_package = 'python-django-horizon' + $dashboard_service = 'apache2' + $dashboard_settings = '/etc/openstack-dashboard/local_settings.py' } else { @@ -33,7 +28,12 @@ class vpnaas::params { } - $ipsec_service = 'ipsec' - $vpn_agent_ocf_file = '/etc/puppet/modules/cluster/files/ocf/neutron-agent-vpn' - $cleanup_script_file = '/etc/puppet/modules/cluster/files/q-agent-cleanup.py' + $ipsec_service = 'ipsec' + $server_service = 'neutron-server' + $vpnaas_agent_service = 'neutron-vpn-agent' + + $openswan_package = 'openswan' + + $vpn_agent_ocf_file = '/etc/puppet/modules/cluster/files/ocf/neutron-agent-vpn' + $cleanup_script_file = '/etc/puppet/modules/cluster/files/q-agent-cleanup.py' }