fuel-library/deployment/puppet/l23network/manifests/l3/defaultroute.pp
Dmitry Ilyin c0e37ebb73 Fix duplicate exec names in default route
Change-Id: I1171d2e7858e5061db940eb71b14031d755414e8
2014-04-21 18:19:08 +04:00

45 lines
1.3 KiB
Puppet

# == Define: l23network::l3::defaultroute
#
# Do not use this directly,
# use l23network::l3::route instead
#
define l23network::l3::defaultroute (
$gateway = $name,
$metric = undef,
){
$exec_name = "Default route of ${name} metric ${metric}"
case $::osfamily {
/(?i)debian/: {
exec { $exec_name :
path => '/bin:/usr/bin:/sbin:/usr/sbin',
command => "ip route replace default via ${gateway} || true",
unless => "netstat -r | grep -q 'default.*${gateway}'",
}
}
/(?i)redhat/: {
if ! defined(Cfg[$gateway]) {
cfg { $gateway:
file => '/etc/sysconfig/network',
key => 'GATEWAY',
value => $gateway,
} ->
# FIXME: we should not nuke the system with 'service network restart'...
# FIXME: but we should ensure default route will be created somehow
exec { $exec_name :
path => '/bin:/usr/bin:/sbin:/usr/sbin',
command => "ip route replace default via ${gateway} || true",
unless => "netstat -r | grep -q 'default.*${gateway}'",
}
}
}
default: {
fail("Unsupported OS: ${::osfamily}/${::operatingsystem}")
}
}
}
#
###