Linuxin keskitetty hallinta, kotitehtävä 2

Tein tehtävät HP:n Elitebookilla, Ubuntun versiolla 11.10.

Tehtävänä oli lukea Learning Puppetin kappaleet Ordering ja Modules and classes (part one). Näistä kummastakin tuli tehdä vähintään yksi esimerkkiohjelma.

Ordering

Kappaleessa käsiteltiin aihetta, joka on mielestäni koodikielelle erittäin epätavallista: puppetissa resursseja ei välttämättä ajeta siinä järjestyksessä, jossa ne koodissa esiintyvät. Järjestykseen voi kuitenkin tietenkin vaikuttaa komennoilla.

Aloitin antamalla komennon

$ nano ordering.pp

Sen sisällöksi loin seuraavaa:

file {’/home/example/esim1’:
mode => 0644,
content => ’this is an example’,
require => User[’example’],
}

user { ’example’:
ensure => present,
uid => ’2133’,
gid => ’admin’,
home => ’/home/example’,
password => ’esim223’,
shell => ’/bin/bash’,
managehome => true,
}

Tallennuksen jälkeen ajoin sen komennolla

$ sudo puppet apply ordering.pp
ja sain ilmoituksen, että luonti onnistui. Kävin myös tarkistamassa, ja tiedostokin oli luotu.
Modules and classes (part one)

Kappaleessa käsiteltiin luokkia, joilla voidaan kerralla kutsua useampia ohjelmakomentoja.

$ nano teht1.pp

class esimerkki {
file {’testi’:
path => ’/home/jaakko/puppet/classes/testi’,
ensure => present,
mode => 0664,
content => ”luokkien testausta”,
}
}

class {’esimerkki’:}

Määritellään siis ensin luokka ja sen sisälle komennot. Tämän jälkeen kutsutaan luokkaa jotta se ajettaisiin.

Tallennuksen jälkeen ajetaan komennolla

$ sudo puppet apply teht1.pp

notice: /Stage[main]/Esimerkki/File[testi]/ensure: created
notice: Finished catalog run in 0.04 seconds

Onnistui siis. Tarkistin vielä, että ko. tiedosto oli luotu, ja olihan se.

Jätä kommentti