This is an old revision of the document!
Pentru a defini variabile in Puppet, folosim sintaxa $variabila, atat pentru atribuire, cat si pentru referentiere.
Rescriem manifestul pentru fisierul my_file, definind continutul fisierului intr-o variabila:
$my_content = "File created using Puppet."
file {'my_file':
path => '/tmp/my_file',
ensure => present,
mode => 0640,
content => $my_content,
}
In afara de variabilele definite de utilizator, Puppet defineste si anumite variabile de sistem. Acestea se numesc facts.
Pentru a vizualiza toate aceste variabile, folosim comanda facter:
[root@learn ~]# facter architecture => i386 augeasversion => 1.1.0 bios_release_date => 12/01/2006 bios_vendor => innotek GmbH bios_version => VirtualBox blockdevice_sda_model => VBOX HARDDISK blockdevice_sda_size => 8589934592 blockdevice_sda_vendor => ATA blockdevices => sda ...
Un exemplu de folosire a variabilelor de sistem este luarea anumitor decizii in functie de valoarea acestora.
Urmatorul manifest se asigura ca serviciul NTP:
Decizia se ia in functie de valoarea variabile de sistem $is_virtual.
if str2bool("$is_virtual") {
service {'ntpd':
ensure => stopped,
enable => false,
}
}
else {
service { 'ntpd':
name => 'ntpd',
ensure => running,
enable => true,
hasrestart => true,
require => Package['ntp'],
}
}
Aplicati manifestul si observati starea serviciului NTP.
Mai intai, dezinstalati serverul de NTP din masina virtuala.
Apoi, scrieti un manifest care: * sa instaleze pachetul pentru serverul NTP; * sa se asigure ca serviciul NTP este pornit (numele serviciului difera, in functie de distributia de Linux); * sa se asigure ca fisierul de configurare este cel corect (in functie de distributie). Folositi structura conditionala case.