2016-02-02 1 views
0

Nous utilisons Puppet + Foreman pour surveiller les modifications de l'environnement en vérifiant les faits personnalisés. Par exemple, chaque fois qu'un fait personnalisé est égal à la marionnette "true", la ressource Notify est notifiée par un message envoyé au journal de l'agent. Puppet inclut ce message dans le rapport de l'agent et Foreman le montre dans l'interface utilisateur.Modification de l'interface utilisateur du superviseur pour ignorer les messages "Notify" de la ressource Puppet

Le problème est que chaque fois qu'un message est lancé, Foreman considère cette action comme "Appliquée" et l'état du nœud devient "Actif" (icône bleue). Nous voulons garder le noeud à "No Changes" (Vert) plus afficher le message Notifier.

Est-ce possible d'une manière ou d'une autre? Peut-être définir un nouveau type de ressource personnalisé?

Voici le code de marionnettes:

class mymodule::myclass::mysubclass { 
if $::fact023 == 'fail' { 
    notify {'mynotify1': 
    message => "WARNING: Node ${::fqdn} failed fact023", 
    loglevel => hiera('warnings_loglevel'), 
    } } } 

See screenshot of Foreman here

Mise à jour: Je vais affiner la question: Y at-il un moyen d'utiliser la ressource Notifier sans causer de marionnettes à signaler que le nœud a modifié? Il suffit d'imprimer le message dans le journal du client (et donc le message sera visible dans le rapport) mais sans marionnette classifier l'événement comme une configuration appliquée?

La raison en est que lorsque la marionnette déclenche la ressource Notify, drapeaux Foreman le noeud comme étant actif (changé)

MISE À JOUR # 2 Je pense à changer le fichier de rapport Foreman afin que l'interface utilisateur ignore les événements de notification de sorte que l'état du nœud reste inchangé mais affiche toujours le message dans le rapport. Quelqu'un peut-il me diriger dans la bonne direction? Merci!

MISE À JOUR # 3 Problème résolu après le passage du type de ressource "Notifier" au type personnalisé "echo" créé par un mec dans Puppet Forge. Merci!

Répondre

0

Ce que vous essayez d'accomplir n'est pas tout à fait clair. Une option serait d'utiliser le notice function au lieu d'une ressource. Les fonctions s'exécutent sur le maître de la marionnette, de sorte que le journal se retrouve dans les journaux du maître de la marionnette au lieu du rapport de l'agent. Cela signifie également qu'il ne sera pas considéré comme une ressource appliquée et que le nœud devrait apparaître stable.

+0

Nous avons essayé d'utiliser la commande notice, mais comme vous l'avez dit, cela n'est pas visible dans le rapport du client. Ce que nous essayons d'accomplir est que quand un rapport de client contient un message d'avis, l'état dans Forman demeurera intact. Peut-être la direction ici est de changer le code de rapport Foreman? – amirb

+0

Je vais affiner la question: Y a-t-il un moyen d'utiliser la ressource Notifier sans que la marionnette ne signale que le nœud a changé? Il suffit d'imprimer le message dans le journal du client (et donc le message sera visible dans le rapport) mais sans marionnette classifier l'événement comme une configuration appliquée? La raison est que lorsque la marionnette déclenche la ressource Notify, Foreman marque le nœud comme étant actif (modifié) – amirb

+0

J'ai trouvé que c'était ma situation exacte: projects.theforeman.org/issues/1443 Y a-t-il une solution? – amirb