From f64fe99dbcb606954277284dbcc27e35882b2ab8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20M=E4kinen?= Date: Wed, 18 May 2011 09:00:52 +0300 Subject: [PATCH] Added network::hostname class which sets hostname according to $homename fact. --- network/manifests/init.pp | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/network/manifests/init.pp b/network/manifests/init.pp index 332b0bc..0373ad3 100644 --- a/network/manifests/init.pp +++ b/network/manifests/init.pp @@ -57,6 +57,43 @@ class network::helper::debian { } +# Set system hostname according to $homename variable. +# +class network::hostname { + + case $operatingsystem { + "debian","ubuntu": { + file { "/etc/hostname": + ensure => present, + content => "${homename}\n", + mode => 0644, + owner => "root", + group => "root", + } + } + "centos","fedora": { + augeas { "set-hostname": + context => "/files/etc/sysconfig/network", + changes => "set HOSTNAME ${homename}", + } + } + "openbsd": { + file { "/etc/myname": + ensure => present, + content => "${homename}\n", + mode => 0644, + owner => "root", + group => "wheel", + } + } + default: { + fail("network::hostname not supported on ${operatingsystem}") + } + } + +} + + # Configure interface. # # === Parameters