Add primary-controller role

- Add primary-controller role
- Small refactoring

Change-Id: Ie344822bf4def06a316ef996373b1a63434e0fe5
This commit is contained in:
Andrey Epifanov 2015-02-25 14:10:11 +03:00
parent 35fdaacb62
commit e47131d989
7 changed files with 36 additions and 33 deletions

View File

@ -0,0 +1,4 @@
$primary_controller = false
include vpnaas

View File

@ -0,0 +1,4 @@
$primary_controller = true
include vpnaas

View File

@ -1,6 +0,0 @@
if $cluster_mode == 'ha_compact' {
include vpnaas::ha
} else {
include vpnaas
}

View File

@ -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"] ->

View File

@ -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']
}

View File

@ -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']
}

View File

@ -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