Add code which detects whether vpn or l3 is running

Change-Id: I44236be5089282941ed1831dfa5e289f0694b6b6
This commit is contained in:
Andrey Epifanov 2015-02-13 15:59:42 +03:00
parent 104621117b
commit f30e0b2c03
3 changed files with 21 additions and 56 deletions

View File

@ -0,0 +1,5 @@
Facter.add('is_vpn_enabled') do
setcode do
Facter::Util::Resolution.exec("pcs resource | grep p_neutron-vpn-agent | awk '{print $3}'")
end
end

View File

@ -1,52 +0,0 @@
#
# has_interface_with
#
module Puppet::Parser::Functions
newfunction(:has_interface_with, :type => :rvalue, :doc => <<-EOS
Returns boolean based on kind and value:
* macaddress
* netmask
* ipaddress
* network
has_interface_with("macaddress", "x:x:x:x:x:x")
has_interface_with("ipaddress", "127.0.0.1") => true
etc.
If no "kind" is given, then the presence of the interface is checked:
has_interface_with("lo") => true
EOS
) do |args|
raise(Puppet::ParseError, "has_interface_with(): Wrong number of arguments " +
"given (#{args.size} for 1 or 2)") if args.size < 1 or args.size > 2
interfaces = lookupvar('interfaces')
# If we do not have any interfaces, then there are no requested attributes
return false if (interfaces == :undefined)
interfaces = interfaces.split(',')
if args.size == 1
return interfaces.member?(args[0])
end
kind, value = args
if lookupvar(kind) == value
return true
end
result = false
interfaces.each do |iface|
if value == lookupvar("#{kind}_#{iface}")
result = true
break
end
end
result
end
end

View File

@ -2,14 +2,26 @@
class fwaas::params {
$server_service = 'neutron-server'
$l3_agent_service = 'neutron-l3-agent'
$fuel_settings = parseyaml($astute_settings_yaml)
$ha = $fuel_settings['deployment_mode'] ? { 'ha_compact'=>true, default=>false }
$vpn_enabled = $::is_vpn_enabled ? { 'clone_p_neutron-vpn-agent'=>true, default=>false }
$server_service = 'neutron-server'
$full_node_name = $fuel_settings['fqdn']
if($vpn_enabled) {
$l3_agent_service = 'neutron-vpn-agent'
$p_l3_agent = 'p_neutron-vpn-agent'
} else {
$l3_agent_service = 'neutron-l3-agent'
$p_l3_agent = 'p_neutron-l3-agent'
}
if($::osfamily == 'Redhat') {
$server_package = 'openstack-neutron'