This is an old revision of the document!
Puppet abstractizeaza majoritatea entitatilor din sistem prin resurse. De exemplu, fiecare serviciu, fie ca este pornit sau oprit, este vazut ca o resursa.
Folositi comanda puppet resource service pentru a inspecta serviciile de sistem din perspectiva Puppet:
service { 'abrt-ccpp':
ensure => 'running',
enable => 'true',
}
service { 'abrt-oops':
ensure => 'stopped',
enable => 'false',
}
service { 'abrtd':
ensure => 'running',
enable => 'true',
}
service { 'acpid':
ensure => 'running',
enable => 'true',
}
Semnificatia comenzii puppet resource service este urmatoarea:
In afara de servicii, si alte entitati din sistem sunt abstractizate prin resurse. Spre exemplu:
Sa consideram resursa ce descrie contul utilizatorului root:
[root@learn ~]# puppet resource user root
user { 'root':
ensure => 'present',
comment => 'root',
gid => '0',
home => '/root',
password => '$1$jrm5tnjw$h8JJ9mCZLmJvIxvDLjw1M/',
password_max_age => '99999',
password_min_age => '0',
shell => '/bin/bash',
uid => '0',
Structura resursei este data de urmatoarele elemente:
Sintaxa de mai sus constituie “declararea unei resurse”.
In afara de servicii si utilizatori, Puppet implementeaza multe alte tipuri de resurse. Pentru a le lista, folositi comanda puppet describe –list:
[root@learn ~]# puppet describe --list These are the types known to puppet: anchor - A simple resource type intended to be used a ... augeas - Apply a change or an array of changes to the ... computer - Computer object management using DirectorySer ... cron - Installs and manages cron jobs exec - Executes external commands file - Manages files, including their content, owner ... file_line - Ensures that a given line is contained withi ... filebucket - A repository for storing and retrieving file ... firewall - This type provides the capability to manage ... firewallchain - This type provides the capability to manage ... group - Manage groups ...
Folosind comanda puppet resource putem crea si resurse noi. Sintaxa generala este:
puppet resource type name attr1=val1 attr2=val2 …
Dorim sa cream utilizatorul gigel astfel incat:
Comanda Puppet corespunzatoare este:
[root@learn ~]# puppet resource user gigel ensure=present shell="/bin/sh" home="/home/gigel"
Notice: /User[gigel]/ensure: created
user { 'gigel':
ensure => 'present',
home => '/home/gigel',
shell => '/bin/sh',
}
Inspectati fisierul /etc/passwd si verificati ca utilizatorul a fost creat.
Pentru a sterge o resursa, atributul ensure al acesteia trebuie setat la valoarea absent.
De exemplu, pentru a sterge utilizatorul gigel creat anterior:
[root@learn ~]# puppet resource user gigel ensure=absent
Notice: /User[gigel]/ensure: removed
user { 'gigel':
ensure => 'absent',
}
Verificati, din nou, in /etc/passwd faptul ca utilizatorul a fost sters.