Drift/Puppet

From Programvareverkstedet

Puppet er et fint og flott system for å distribuere informasjon mellom maskiner med forskjellige operativsystemer og maskinvare. Det fases i første omgang inn på dash8. torjehoa fra avdeling for brå og uventet drifting fjernet pkgsync fra denne og annekterte maskinen til å teste Puppet på inntil videre. pkgsync så mest ut som om den hadde '*' i musthave. Dette syntes torjehoa var kjipt.

Lure ting:

  • Installer vim-puppet og puppet-el (pakker for puppetsyntaks i vim og Emacs).
  • Rediger /etc/default/puppet til å starte Puppet.

Git-endringslager

Puppet-konfigen (som fortsatt ser mistenkelig ut som rdist-konfig) sjekkes ut automatisk den første gangen du logger inn på puppet-boksen (i skrivende stund lommel.pvv.ntnu.no). Når vi har fått portet rdist-konfigen vil du "slå på" endringer ved å pushe dem til origin.

Diste en fil

Disting av filer gjøres ved å opprette klasser og å tilordne maskiner til forskjellige klasser (karakterer ser det dog ikke ut til å være). Sørg for at nodetypen inkluderer (include) denne klassen. Noden definerer du i /etc/puppet/manifest/site.pp: denne ser ut til å holde orden på alle maskinene på bruket. Selve klassen opprettes i manifests/classes/, hvor du lager en ny fil med passende navn.

Diste motd

Disse filene dister filen /etc/puppet/modules/motd/files/motd/, ganske logisk igrunnen at den interne pathen har et ekstra navn, men du venner deg til det.

puppet:/// sender deg til puppetdir, som er /etc/puppet/ i vårt tilfelle.

# /etc/puppet/manifests/site.pp

import "classes/*"

node default {
	include motd
}
# /etc/puppet/manifests/classes/motd.pp

class motd
{
	file {"/local/etc/motd":
		group => 'root',
		      owner => 'root',
		      mode => '644',
		      ensure => present,
		      source => "puppet:///modules/motd/motd",
		}
}

Automagi

Absolutt ingen snøring på hva som er greia her. torjehoa har til nå kjørt manuelt når han vil noe, men det er nok ikke slik det henger sammen, det er nok automagi i bildet.