Photos récentes


Pages

Liens

Mots-clés

Archives

Ce site…

Le piège à con du jour : entiers et booléens selon Puppet

December 21st, 2012 at 1:51 pm by nono

J’ai une config Puppet qui commence à devenir assez touffue. On y trouve entre autres un fait md_raid qui retourne le nombre de grappes RAID logicielles sur une machine Linux. Je peux donc utiliser le fait en question pour appliquer un bout de config uniquement sur les machines qui ont des grappes RAID, typiquement pour installer l’outil de surveillance qui va avec :

if $md_raid {
  # bla bla bla
}

Cool, hein ? Hé non ! Pourquoi pas ? Parce que pour Puppet, tous les entiers sont vrais, même 0.

La bonne solution se trouve du côté de l’excellent module stdlib, qui fournit entre autres une fonction num2bool qui renvoie vrai uniquement pour les nombres strictements positifs. Mon test devient du coup :

if num2bool($md_raid) {
  # bla bla bla
}

Cette fois, ça marche. 🙂

Tags: ,
Posted in geekeries


 




XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>