2

私はChefとRubyの両方に慣れていないので、すみません。これは簡単な質問です。Jason Grimes のチュートリアルに従ってください。

以下のコードでlocalhostを削除し、代わりに Chef ノードの特定の IP アドレスを使用するには どうすればよいですか?

# Get a list of web servers
webservers = node['roles'].include?('webserver') ? [{'ipaddress' => 'localhost'}] : search(:node, "role:webserver AND chef_environment:#{node.chef_environment}")


webservers = search(:node, "role:webserver AND chef_environment:#{node.chef_environment}")
IP_address はOpscodeとこのStackOverflow questionに従って自動属性であるため、代わりに代用できますか。

残念ながら、これをテストする方法がよくわかりません。そうでなければ、テストを実行していたはずです。ありがとう!

4

1 に答える 1

2

はい、その通りです。

webservers = search(:node, "role:webserver AND chef_environment:#{node.chef_environment}")

次にwebserversノードの配列になり、次の方法でIPを取得できるようになります。

webservers[index]['ipaddress']
于 2013-01-16T18:55:53.440 に答える