J'essaie d'utiliser Puppet pour modifier le contenu du fichier, mais si le fichier n'existe pas, je vais passer et ne rien faire. Cependant, j'ai trouvé que la vérification des dépendances fonctionnait à la première itération, mais après cela, elle ne semble pas fonctionner. Voici ma marionnette se manifeste:Marionnette - la vérification des dépendances ne fonctionne pas après la 1ère itération
class tibco::hawk_gc_tuning {
$domain_array = split($domain_list, '\n')
$hawkgc = hiera('hawk_gc_arg','xxxxxx')
$domain_array.each |$tibcodomain| {
notify { "Now in : ${tibcodomain} ": }
exec {"check_presence_${tibcodomain}":
path => "/usr/bin:/usr/sbin:/bin",
command => 'true',
onlyif => "test -e /home/tibco/tra/domain/${tibcodomain}/hawkagent_${tibcodomain}.tra"
}
file_line { "change $tibcodomain hawk agent gc arg comment":
require => Exec["check_presence_${tibcodomain}"],
path => "/home/tibco/tra/domain/${tibcodomain}/hawkagent_${tibcodomain}.tra",
line => '# tuning for hawkagent',
match => '^# tuning for hawkagent',
}->
file_line { "change $tibcodomain hawk agent gc arg":
path => "/home/tibco/tra/domain/${tibcodomain}/hawkagent_${tibcodomain}.tra",
line => "${hawkgc}",
match => '^java.extended.properties=-XX\\\\:MaxPermSize\\\\=.*',
}
}
}
est inférieure à la sortie de mon code:
Avis: dans: A Avis:/Stage [principal]/Tibco :: Hawk_gc_tuning/notify [dans: A]/message: 'message' défini comme 'Maintenant dans: A' Avis:/Stage [principal]/Tibco :: Hawk_gc_tuning/Exec [check_presence_A]/retourne: exécuté avec succès Avis: Désormais: B Notes et avis :/Stage [principal]/Tibco :: Hawk_gc_tuning/Notify [Maintenant dans: B]/message: défini 'message' comme 'Maintenant dans: B' Erreur:/Stage [principal]/Tibco :: Haw k_gc_tuning/File_line [modifier B hawk agent Commentaire gc arg]: Impossible d'évaluer: Aucun fichier ou répertoire - /home/tibco/tra/domain/B/hawkagent_B.tra Avis:/Stage [principal]/Tibco :: Hawk_gc_tuning/File_line [modifier B hawk agent gc arg]: Dépendance File_line [modifier B hawk agent gc arg comment] a des échecs: vrai Attention:/Stage [principal]/Tibco :: Hawk_gc_tuning/File_line [change B hawk agent gc arg]: Ignorer en raison de dépendances échouées Remarque: Dans maintenant: C Remarque:/Stage [principal]/Tibco :: Hawk_gc_tuning/Notify [Maintenant dans: C]/message: défini 'message' comme 'Maintenant dans: C' Erreur:/Stage [principal]/Tibco :: Hawk_gc_tuning/File_line [modifier C hawk agent gc arg comment]: Impossible d'évaluer: Aucun fichier ou répertoire - /home/tibco/tra/domain/C/hawkagent_C.tra Avis:/Stage [principal]/Tibco :: Hawk_gc_tuning/File_line [changer C hawk agent gc arg]: Dépendance File_line [modifier C hawk agent gc arg comment] a des échecs: vrai Attention:/Stage [principal]/Tibco :: Hawk_gc_tuning/File_line [change C hawk agent gc arg]: saut à cause des dépendances échouées Avis: Le catalogue fini est exécuté en 1,06 secondes
Comme vous pouvez le voir ci-dessus, les deux A, B, C n'existent pas, mais seul le premier, A, donne un résultat correct et ignore les ressources file_line. Quelqu'un pourrait-il me donner quelques indices sur le problème?