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 corect pentru serverul NTP, in functie de distributia de Linux. Folositi structura conditionala case.