class hosts {
- host { "$hostname":
- ensure => present,
- ip => "$ipaddress",
- host_aliases => [ "$fqdn" ],
- }
-
- host { "localhost":
- ensure => present,
- ip => "127.0.0.1",
- }
-
- host { "ip6-localhost":
- ensure => present,
- ip => "::1",
- host_aliases => [ "ip6-loopback" ],
- }
-
- host { "ip6-localnet":
- ensure => present,
- ip => "fe00::0",
- }
-
- host { "ip6-mcastprefix":
- ensure => present,
- ip => "ff00::0",
- }
-
- host { "ip6-allnodes":
- ensure => present,
- ip => "ff02::1",
- }
-
- host { "ip6-allrouters":
- ensure => present,
- ip => "ff02::2",
- }
-
- host { "ip6-allhosts":
- ensure => present,
- ip => "ff02::3",
+ # Sometimes might be useful to manage the whole
+ # hosts file, see http://projects.puppetlabs.com/issues/10704
+ case $nodo_custom_hosts_file {
+ true: {
+ file { '/etc/hosts':
+ ensure => present,
+ owner => root,
+ group => root,
+ mode => 0640,
+ source => "puppet:///modules/site-nodo/hosts/$fqdn",
+ }
+ }
+ default: {
+ host { "$hostname":
+ ensure => present,
+ ip => "$ipaddress",
+ host_aliases => [ "$fqdn" ],
+ }
+
+ host { "localhost":
+ ensure => present,
+ ip => "127.0.0.1",
+ }
+
+ host { "ip6-localhost":
+ ensure => present,
+ ip => "::1",
+ host_aliases => [ "ip6-loopback" ],
+ }
+
+ host { "ip6-localnet":
+ ensure => present,
+ ip => "fe00::0",
+ }
+
+ host { "ip6-mcastprefix":
+ ensure => present,
+ ip => "ff00::0",
+ }
+
+ host { "ip6-allnodes":
+ ensure => present,
+ ip => "ff02::1",
+ }
+
+ host { "ip6-allrouters":
+ ensure => present,
+ ip => "ff02::2",
+ }
+
+ host { "ip6-allhosts":
+ ensure => present,
+ ip => "ff02::3",
+ }
+ }
}
}