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.