カピストラーノ タスクでは、superfunction
メソッドを呼び出しています。残念ながら、それはエラーをスローしていUnexpected Return
ます。superfunction
タスク内でさらに解析するために、メソッドからの出力を取得する必要があります。
def superfunction(cmd_type, command, client)
run "#{command}" do |channel, stream, data|
hostname = "#{channel[:host]}".tr('"','')
result = "#{data}".to_s.strip
return hostname, result
end
end
task :gather, :roles => :hosts do
...
servername, redhat_version = superfunction("redhat_version", "cat /etc/redhat-release", client)
end