From f30e0b2c037cc61562350fa67976b12b1b0b7190 Mon Sep 17 00:00:00 2001 From: Andrey Epifanov Date: Fri, 13 Feb 2015 15:59:42 +0300 Subject: [PATCH] Add code which detects whether vpn or l3 is running Change-Id: I44236be5089282941ed1831dfa5e289f0694b6b6 --- .../fwaas/lib/facter/is_vpn_enabled.rb | 5 ++ .../puppet/parser/functions/is_vpn_enabled.rb | 52 ------------------- .../puppet/modules/fwaas/manifests/params.pp | 20 +++++-- 3 files changed, 21 insertions(+), 56 deletions(-) create mode 100644 deployment_scripts/puppet/modules/fwaas/lib/facter/is_vpn_enabled.rb delete mode 100644 deployment_scripts/puppet/modules/fwaas/lib/puppet/parser/functions/is_vpn_enabled.rb diff --git a/deployment_scripts/puppet/modules/fwaas/lib/facter/is_vpn_enabled.rb b/deployment_scripts/puppet/modules/fwaas/lib/facter/is_vpn_enabled.rb new file mode 100644 index 0000000..7f51000 --- /dev/null +++ b/deployment_scripts/puppet/modules/fwaas/lib/facter/is_vpn_enabled.rb @@ -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 diff --git a/deployment_scripts/puppet/modules/fwaas/lib/puppet/parser/functions/is_vpn_enabled.rb b/deployment_scripts/puppet/modules/fwaas/lib/puppet/parser/functions/is_vpn_enabled.rb deleted file mode 100644 index 7f150a7..0000000 --- a/deployment_scripts/puppet/modules/fwaas/lib/puppet/parser/functions/is_vpn_enabled.rb +++ /dev/null @@ -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 diff --git a/deployment_scripts/puppet/modules/fwaas/manifests/params.pp b/deployment_scripts/puppet/modules/fwaas/manifests/params.pp index 9fe6310..79bd4a3 100644 --- a/deployment_scripts/puppet/modules/fwaas/manifests/params.pp +++ b/deployment_scripts/puppet/modules/fwaas/manifests/params.pp @@ -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'