2014-02-13 2 views
1

요리사하는 요리사 서버 API에서 정보 입수를 나는 다음과 같은 간단한 조리법이 있습니다조리법

bash "start mongos" do 
    code <<-EOH 
    mongos --configdb cfg0.example.net:27019,cfg1.example.net:27019,cfg2.example.net:27019 --fork --logpath /var/log/mongodb.log 
    EOH 
end 

cfg0/1 내 요리사 서버에서 동적으로주의 할 필요가 2.example.net /. 이것들은 그에 따라 cfg1, cfg2 및 cfg3이라는 노드의 IP로 대체되어야합니다.

어떻게하면됩니까?

답변

0

이 경우 Chef Search을 사용해야합니다. 나는 정확한 쿼리를 알 수 없지만 여기 예입니다 :

mongos = search(:node, 'role:mongo') 
mongo_addresses = mongos.map { |mongo| "#{mongo['fqdn']}:#{mongo['mongo']['port']}" } 

bash "start mongos" do 
    code "mongos --configdb #{mongo_addresses.join(',')} --fork --logpath /var/log/mongodb.log" 
end 

참고 :이 데모 목적을위한이. mongo 요리 책 및 Chef Server 설정의 구조에 대한 추가 정보가 없으면 "복사하여 붙여 넣기"코드를 제공 할 수 없습니다.

관련 문제