Je reçois une erreur de modèle due à backend.key=<%= node['key']%
> utilisé dans la source key.properties.erb
n'a pas de valeur lors de l'exécution de shellout.Impossible de définir l'attribut de noeud à l'exécution et de le référencer dans le modèle de chef
Error : Chef::Mixin::Template::TemplateError - undefined method `[]' for nil:NilClass
I ont un bloc de rubis pour obtenir la sortie du fichier cat /tmp/key.txt
et l'attribution d'une valeur de noeud.
bloc Ruby:
ruby_block "Get_key" do
block do
#tricky way to load this Chef::Mixin::ShellOut utilities
Chef::Resource::RubyBlock.send(:include, Chef::Mixin::ShellOut)
command = 'cat /tmp/key.txt'
command_out = shell_out(command)
node.set['key'] = command_out.stdout
end
action :create
end
Erb:
backend.key=<%= node['key']%>
Je suis en train de faire une chose assez similaire [ici] (https://github.com/TYPO3-cookbooks/gerrit/blob/fc82b9d82663f040116aed62bdcc3991e858ab98/recipes/peer_keys.rb) – StephenKing