This is an old revision of the document!


05. Variabile si selectori

Variabile

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,
}

(Tutorial) Facts

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
...

(Tutorial) If

Un exemplu de folosire a variabilelor de sistem este luarea anumitor decizii in functie de valoarea acestora.

Urmatorul manifest se asigura ca serviciul NTP:

  • este pornit daca masina este fizica;
  • este oprit daca masina este virtuala.

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'],
  }
}

(Exercitiu) Instalare NTP

Scrieti un manifest care sa instaleze pachetul corect pentru serverul NTP, in functie de distributia de Linux.

Pentru Ubuntu sau Debian pachetul se numeste ntp iau pentru Redhat si Fedora se numeste ntpd.

saisp/labs/10/contents/05.1391178901.txt.gz ยท Last modified: 2014/01/31 16:35 by alexandru.carp
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0