From ca9bfad600ffaa0eb37533c9d86c9912ad35d833 Mon Sep 17 00:00:00 2001 From: Cédric Jeanneret Date: Fri, 30 Oct 2015 13:57:27 +0100 Subject: added new dhcp::failover, related unit-test and updated doc --- manifests/failover.pp | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 manifests/failover.pp (limited to 'manifests') diff --git a/manifests/failover.pp b/manifests/failover.pp new file mode 100644 index 0000000..6b465f2 --- /dev/null +++ b/manifests/failover.pp @@ -0,0 +1,41 @@ +define dhcp::failover( + $peer_address, + $ensure = present, + $address = $::ipaddress, + $peer_port = 647, + $port = 647, + $options = {}, + $role = 'primary', +) { + + validate_re($ensure, ['present', 'absent']) + validate_ipv4_address($address) + validate_ipv4_address($peer_address) + validate_integer($port) + validate_integer($peer_port) + validate_hash($options) + validate_re($role, ['primary', 'secondary']) + + include ::dhcp::params + + $_ensure = $ensure? { + 'present' => 'file', + default => $ensure, + } + + file {"${dhcp::params::config_dir}/failover/${name}.conf": + ensure => $_ensure, + content => template("${module_name}/failover.conf.erb"), + group => 'root', + mode => '0644', + notify => Service['dhcpd'], + owner => 'root', + } + + concat::fragment {"dhcp.failover.${name}": + ensure => $ensure, + content => "include \"${dhcp::params::config_dir}/failover/${name}.conf\";\n", + target => "${dhcp::params::config_dir}/dhcpd.conf", + } + +} -- cgit v1.2.3