diff --git a/deployment_scripts/puppet/manifests/controller.pp b/deployment_scripts/puppet/manifests/controller.pp new file mode 100644 index 0000000..678e982 --- /dev/null +++ b/deployment_scripts/puppet/manifests/controller.pp @@ -0,0 +1,4 @@ + +$primary_controller = false + +include vpnaas diff --git a/deployment_scripts/puppet/manifests/primary-controller.pp b/deployment_scripts/puppet/manifests/primary-controller.pp new file mode 100644 index 0000000..e2b027e --- /dev/null +++ b/deployment_scripts/puppet/manifests/primary-controller.pp @@ -0,0 +1,4 @@ + +$primary_controller = true + +include vpnaas diff --git a/deployment_scripts/puppet/manifests/site.pp b/deployment_scripts/puppet/manifests/site.pp deleted file mode 100644 index 358409b..0000000 --- a/deployment_scripts/puppet/manifests/site.pp +++ /dev/null @@ -1,6 +0,0 @@ - -if $cluster_mode == 'ha_compact' { - include vpnaas::ha -} else { - include vpnaas -} diff --git a/deployment_scripts/puppet/modules/vpnaas/manifests/ha.pp b/deployment_scripts/puppet/modules/vpnaas/manifests/ha.pp index c0905a6..a7d05e3 100644 --- a/deployment_scripts/puppet/modules/vpnaas/manifests/ha.pp +++ b/deployment_scripts/puppet/modules/vpnaas/manifests/ha.pp @@ -6,12 +6,9 @@ class vpnaas::ha { include neutron::params $fuel_settings = parseyaml($astute_settings_yaml) - $access_hash = $fuel_settings['access'] $neutron_config = $fuel_settings['quantum_settings'] - $primary_controller = $fuel_settings['role'] ? { 'primary-controller'=>true, default=>false } $debug = true - $verbose = true $syslog = $fuel_settings['use_syslog'] ? { default=>true } $plugin_config = '/etc/neutron/l3_agent.ini' @@ -76,18 +73,6 @@ 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"] - } - Exec['remove_p_neutron-l3-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"] -> diff --git a/deployment_scripts/puppet/modules/vpnaas/manifests/init.pp b/deployment_scripts/puppet/modules/vpnaas/manifests/init.pp index 9762385..bcbcbcf 100644 --- a/deployment_scripts/puppet/modules/vpnaas/manifests/init.pp +++ b/deployment_scripts/puppet/modules/vpnaas/manifests/init.pp @@ -1,15 +1,8 @@ -#This class deploys VPNaaS in simple mode. class vpnaas { - - class {'vpnaas::agent':} - class {'vpnaas::common':} - - service { 'disable-neutron-l3-service': - ensure => stopped, - name => "neutron-l3-agent", - enable => false, + if $cluster_mode == 'ha_compact' { + include vpnaas::ha + } else { + include vpnaas::simple } - - Service['disable-neutron-l3-service'] -> Class['vpnaas::agent'] -> Class['vpnaas::common'] } diff --git a/deployment_scripts/puppet/modules/vpnaas/manifests/simple.pp b/deployment_scripts/puppet/modules/vpnaas/manifests/simple.pp new file mode 100644 index 0000000..e3ab36f --- /dev/null +++ b/deployment_scripts/puppet/modules/vpnaas/manifests/simple.pp @@ -0,0 +1,15 @@ +#This class deploys VPNaaS in simple mode. + +class vpnaas::simple { + + class {'vpnaas::agent':} + class {'vpnaas::common':} + + service { 'disable-neutron-l3-service': + ensure => stopped, + name => "neutron-l3-agent", + enable => false, + } + + Service['disable-neutron-l3-service'] -> Class['vpnaas::agent'] -> Class['vpnaas::common'] +} diff --git a/tasks.yaml b/tasks.yaml index 7121549..9cc7ec9 100644 --- a/tasks.yaml +++ b/tasks.yaml @@ -1,7 +1,15 @@ +- role: ['primary-controller'] + stage: post_deployment + type: puppet + parameters: + puppet_manifest: puppet/manifests/primary-controller.pp + puppet_modules: puppet/modules:/etc/puppet/modules + timeout: 720 + - role: ['controller'] stage: post_deployment type: puppet parameters: - puppet_manifest: puppet/manifests/site.pp + puppet_manifest: puppet/manifests/controller.pp puppet_modules: puppet/modules:/etc/puppet/modules timeout: 720