How to Write Reusable Chef Cookbooks, Gangnam Style에서 영감을 얻어 래퍼 요리 책을 구현하려고합니다. 관리자 노드없이 Tomcat 7을 내 노드에 설치하고 싶습니다. 나는 다음과 같은 attributes/default.rb
파일 래퍼 요리 책을 만들었습니다 tomcat/attributes/default.rb
에서 제공요리사 요리 책의 속성 우선 순위
default["tomcat"]["base_version"] = 7
default["tomcat"]["deploy_manager_apps"] = false
기본 특성은 다음과 같습니다
default["tomcat"]["base_version"] = 6
#other attributes
default["tomcat"]["deploy_manager_apps"] = true
default["tomcat"]["user"] = "tomcat#{node["tomcat"]["base_version"]}
내가 모든 속성을 통해이 값을 무시하고 싶습니다. 그러나 ["tomcat"]["user"]
과 같은 속성은 오버라이드되지 않습니다. 위의 값은 여전히 tomcat6
이고 node["tomcat"]["user"]
입니다.
["tomcat"]["base_version"]}"
을 참조하는 모든 속성을 무시해야합니까? tomcat 요리 책 default.rb
앞에 내 attributes/default.rb
이로드 된 경우 정상적으로 작동했을 것입니다.
저는 Berkshelf, Vagrant 및 Chef solo를 개발 용으로 사용하고 있습니다. 내 요리 책의 metadata.rb
에서 나는 depends "tomcat"
을 언급했다.
내 맞춤 요리 책은 https://github.com/vaibhavguptaIITD/hcentive-ops/tree/master/hc-tomcat이며 톰캣 커뮤니티 요리 책은 https://github.com/opscode-cookbooks/tomcat입니다.
감사합니다. 궁금해서 그냥 래퍼 요리 책을 쓰는 동안이 절차가 약간 성가시다. 포장 된 요리 책 앞에 래퍼 요리 책의 속성을 먼저로드하는 것이 합리적이지 않아야합니다. – Vaibhav
https://tickets.opscode.com/browse/CHEF-4837에서이 동작에 대한 토론이 있습니다 –
이 블로그 게시물은 잘 정의되어 있습니다 http://www.getchef.com/blog/2013/12/03/doing -wrapper-cookbooks-right/잘하면 다음 클라이언트에서 수정합니다. 이 문제는 2 줄 속성 파일을 50 줄 + 속성 파일로 바꿉니다. –