Differences

This shows you the differences between two versions of the page.

Link to this comparison view

saisp:labs:10:contents:05 [2014/01/24 17:10]
alexandru.carp [05. Variabile si selectori]
saisp:labs:10:contents:05 [2017/05/22 17:28] (current)
alexandru.carp
Line 1: Line 1:
-==== 05. Variabile si selectori ====+==== 05. [20p] Variabile si selectori ====
  
-=== (Tutorial) ​Variabile ===+=== Variabile ===
  
 Pentru a defini variabile in Puppet, folosim sintaxa ''​$variabila'',​ atat pentru atribuire, cat si pentru referentiere. Pentru a defini variabile in Puppet, folosim sintaxa ''​$variabila'',​ atat pentru atribuire, cat si pentru referentiere.
Line 18: Line 18:
 </​code>​ </​code>​
  
-=== (Tutorial) ​Facts ===+=== Facts ===
  
 In afara de variabilele definite de utilizator, Puppet defineste si anumite variabile de sistem. Acestea se numesc **facts**. In afara de variabilele definite de utilizator, Puppet defineste si anumite variabile de sistem. Acestea se numesc **facts**.
Line 38: Line 38:
 </​code>​ </​code>​
  
-=== (Tutorial) ​If ===+=== If ===
  
 Un exemplu de folosire a variabilelor de sistem este luarea anumitor decizii in functie de valoarea acestora. Un exemplu de folosire a variabilelor de sistem este luarea anumitor decizii in functie de valoarea acestora.
Line 66: Line 66:
 </​code>​ </​code>​
  
-=== (Exercitiu) Instalare ​NTP ===+Aplicati manifestul si observati starea serviciului ​NTP.
  
-Scrieti un manifest care sa instaleze pachetul corect ​pentru ​serverul ​NTP, in functie de distributia de Linux.+=== Manifest ​pentru ​instalare ​NTP ===
  
-Pentru Ubuntu sau Debian ​pachetul ​se numeste **ntp** iau pentru Redhat si Fedora se numeste **ntpd**.+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**. 
 + 
 +<​note>​ 
 +Consultati documentatia pentru **case**: https://​docs.puppet.com/​puppet/​3.5/​lang_conditional.html#​case-statements 
 +</​note>​ 
 + 
 +<​note>​ 
 +  * Pentru Ubuntu sau Debian ​serviciul ​se numeste **ntp** iau pentru Redhat si Fedora se numeste **ntpd**. 
 +  * Descarcati fisierul de configurare pentru Debian / Ubuntu (https://​github.com/​ihcsim/​puppet-tutorial/​blob/​master/​src/​modules/​ntp/​files/​ntp.conf.debian) sau RedHat / Fedora (https://​github.com/​ihcsim/​puppet-tutorial/​blob/​master/​src/​modules/​ntp/​files/​ntp.conf.el) 
 +</​note>​ 
 + 
 +<​solution -hidden>​ 
 +<​code>​ 
 +case $operatingsystem { 
 +  centos, redhat: { 
 +    $service_name = '​ntpd'​ 
 +    $conf_file ​   = '​ntp.conf.el'​ 
 +  } 
 +  debian, ubuntu: { 
 +    $service_name = '​ntp'​ 
 +    $conf_file ​   = '​ntp.conf.debian'​ 
 +  } 
 +
 + 
 +package { '​ntp':​ 
 +  ensure => installed,​ 
 +
 +file { '​ntp.conf':​ 
 +  path    => '/​etc/​ntp.conf',​ 
 +  ensure ​ => file, 
 +  require => Package['​ntp'​],​ 
 +  source ​ => "/​root/​${conf_file}"​ 
 +
 +service { '​ntp':​ 
 +  name      => $service_name,​ 
 +  ensure ​   => running, 
 +  enable ​   => true, 
 +  subscribe => File['​ntp.conf'​],​ 
 +
 +</​code>​ 
 +</​solution>​
  
saisp/labs/10/contents/05.txt · Last modified: 2017/05/22 17:28 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