Puppet (metaparametry)

From DCEwiki
Jump to: navigation, search
Metaparametry jsou speciální parametry, jimiž lze v rámci manifestu řešit vzájemné závislosti zdrojů a případně také ovlivnit přístup agenta na klientské straně ke zdroji v manifestu.


Jak je používat, bude nejlépe patrné z následujícího příkladu.

Administrace uživatelů přes puppet


Přehled metaparametrů[edit]

alias[edit]

Vytvoření aliasu se hodí pokud jméno zdroje tvoří kupř. absolutní cesta která by zbytečně komplikovala zápis. Do určité míry tedy lze tedy s aliasem pracovat jako s proměnnou.

audit[edit]

Parametr audit se používá u typu file. Agent při každém průchodu kontroluje, jestli parametry souboru odpovídají nastavené konfiguraci. Pokud některý z nich nesedí, tak soubor přeplácne.

Ovšem co když ho nechceme přeplácnout, ale pouze získat informaci o tom, že byl některý z těchto parametrů pozměněn?

Právě pro takové případy je určen parametr audit.

Poznámka
file { '/etc/hosts':
  audit => all,
}

Při prvním průchodu si puppet naindexuje veškeré parametry souboru, které při každém dalším průchodu ověřuje.

Pokud dojde u auditovaného souboru ke změně některého z nich, tak se objeví upozornění v logu, ale soubor jako takový zůstává tak jak je. Následuje ukázkový výpis logu po změně skupiny sledovaného souboru /etc/hosts

Poznámka
notice: /Stage[main]/Ntp::Install/File[/etc/hosts]/ctime: audit change: previously recorded
value Sun Oct 28 23:14:37 +0100 2012 has been changed to Sun Oct 28 23:14:58 +0100 2012

before[edit]

Metaparametr, který protikladem k metaparametru require. Říká že zdroj, na kterém závisí další zpracování objektu a který je obsahem tohoto metaparametru, musí existovat před dalším zpracováním.

loglevel[edit]

Metaparametr, kterým lze nastavit úroveň logování do systémového logu, během zpracování manifestu agentem na lokálním stroji.

Hodí se při hledání chyb v manifestu v případě, kdy agent běží jako démon a obsah manifestu kontroluje a zpracovává v pravidelných intervalech na pozadí.

noop[edit]

Metaparametr, kterým lze dočasně zablokovat proces zpracování zdroje.

Hodí k dočasnému vypnutí zdroje v manifestu v případě, kdy agent běží jako démon a jeho obsah kontroluje a zpracovává v pravidelných intervalech.

notify[edit]

Metaparametr, který protikladem k metaparametru subscribe. Říká že zdroj, který je obsahem tohoto metaparametru, musí být zpracován dříve než zdroj u kterého je tento metaparametr nastaven, neboť by mohl blokovat další zpracování objektu.

Vytváří podobný typ závislostí, ovšem na rozdíl od něj si naopak vynucuje zavolání na straně závislého objektu. Využívá se kupř. u zdrojů, jejichž předmětem je služba, která před svým restartem vyžaduje korektní odhlášení uživatelů, apod.


require[edit]

Metaparametr, který protikladem k metaparametru before. Říká že zdroj, který je obsahem tohoto metaparametru, musí být zpracován dříve než zdroj u kterého je tento metaparametr nastaven, neboť by mohl blokovat další zpracování objektu.

schedule[edit]

Za normálních okolností se manifesty Puppetu realizují pouze tehdy, nastane-li nějaká změna. Tento metaparametr však umožňuje specifikovat zdroje, které se mají v určité periodě opakovat, aniž by jakákoliv změna nastala.

stage[edit]

Stage umožňuje vytvořit sety zdrojů, kterým pak lze nastavit závislosti, na jejichž základě pak agent rozhodne o pořadí, v jakém se mají zpracovat.

subscribe[edit]

Vytváří podobný typ závislostí jako require, ovšem na rozdíl od něj reflektuje i na změny na straně závislých objektů. Využívá se u zdrojů, jejichž předmětem je konfigurační soubor, který vyžaduje restart služby v případě nějaké změny.

Poznámka Metaparametr require by se v takovém případě spokojil s tím, že konfigurační soubor stále existuje, a závislá služba běží.

tag[edit]

Zdroje lze seskupovat nejenom na základě stage, ale také prostřednictvím nastavených tagů. Což se hodí obzvláště při testování, kdy lze takovým způsobem realizovat pouze zdroje, které mají nastaven příslušný tag.