CentOS 7
 

Puppet : 利用方法 [facter 変数]
2015/07/22
 
facter 変数というシステム関連の情報が自動でセットされた変数が用意されており、 必要に応じて利用することができます。
[1] facter 変数の一覧を表示する。
[root@dlp ~]#
facter

architecture => x86_64
augeasversion => 1.1.0
bios_release_date => 01/01/2007
bios_vendor => Seabios
bios_version => 0.5.1
blockdevice_vda_size => 53687091200
blockdevice_vda_vendor => 0x1af4
...
...
...
uptime_hours => 1
uptime_seconds => 6836
uuid => 8DBDD6BD-B474-765D-D743-1160BE341044
virtual => kvm
[2] 例として、OSが「RedHat」または「CentOS」で且つリリース番号が「7.1.1503」の時は「sample01」クラスを適用、 リリース番号が「7.1.1503」以外の時は「sample02」クラスを適用、OSがそれ以外のときは「sample03」クラスを適用する。
[root@dlp ~]#
vi /etc/puppet/manifests/site.pp
class sample01 {
    file { '/home/testfile.txt':
        ensure  => file,
        owner   => 'root',
        group   => 'root',
        mode    => 644,
        content => 'This is the puppet test file.',
    }
}
class sample02 {
    user { 'cent':
        ensure     => present,
        home       => '/home/cent',
        managehome => true,
        password   => '$6$0XTc2rjlxxxxxxxx',
    }
}
class sample03 {
    file { '/home/testfile2.txt':
        ensure  => file,
        owner   => 'root',
        group   => 'wheel',
        content => 'test file2',
    }
}
case $operatingsystem {
    'RedHat', 'CentOS': {
        if $operatingsystemrelease == '7.1.1503' { include 'sample01' }
        else                                { include 'sample02' }
    }
    default:            { include 'sample03' }
}
 
Tweet