[ https://issues.apache.org/jira/browse/WHIRR-49?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13133479#comment-13133479 ]
David Alves edited comment on WHIRR-49 at 10/22/11 10:13 PM: ------------------------------------------------------------- Ok Here we go! Beyond the old approach (where the user would build recipes as new Recipe(ck,rcp) which could be added as statements) the service now supports doing everything by configuration. The first instance template to use the "chef" role will trigger the installation of ruby and chef. In the instance templates now the following usages are supported: chef only: "1 chef" installs chef but runs no cookbooks (as was before) chef with default cookbook: "1 chef:java" in this case chef installs chef, the cookbook and runs the default recipe. chef with particular recipe: "1 chef:java:sun" as before but for a particular recipe. passing attributes through configuration: attributes were already supported in the Recipe but they now can be specified by configuration as cookbook_name.attribute_name=value There is only a special case, when the attribute_name is "url" in this case the cookbook will be fetched from the url (vs using the default cookbooks). A final note attribute values can be anything that would possible in a typical chef ruby definition file which is usually json Important Notes: As recipes are long running scripts, using recipes outside of handlers required a change to ClusterController where Adrian introduced runScriptOnNodesMatching method that supported passing RunScriptOptions. I commented out the portion of the tests that used this as this change, to be introduced (and in IMHO it should because it is useful), should probably go on another jira. Finally I ran unit tests and pretty extensive sys tests with the dry run module but I'm still missing itests. Please review!!! was (Author: dr-alves): Ok Here we go! Beyond the old approach (where the used would build recipes as new Recipe(ck,rcp) with could be added as statements) the service now supports doing everything by configuration. The first instance template to use the "chef" role will trigger the installation of ruby and chef. In the instance templates now the following usages are supported: chef only: "1 chef" installs chef but runs no cookbooks (as was before) chef with default cookbook: "1 chef:java" in this case chef installs chef, the cookbook and runs the default recipe. chef with particular recipe: "1 chef:java:sun" as before but for a particular recipe. passing attributes through configuration: attributes were already supported in the Recipe but they now can be specified by configuration as cookbook_name.attribute_name=value There is only a special case, when the attribute_name is "url" in this case the cookbook will be fetched from the url (vs using the default cookbooks). A final note attribute values can be anything that would possible in a typical chef ruby definition file which is usually json Important Notes: As recipes are long running scripts, using recipes outside of handlers required a change to ClusterController where Adrian introduced runScriptOnNodesMatching method that supported passing RunScriptOptions. I commented out the portion of the tests that used this as this change, to be introduced (and in IMHO it should because it is useful), should probably go on another jira. Finally I ran unit tests and pretty extensive sys tests with the dry run module but I'm still missing itests. Please review!!! > Allow Whirr to use Chef for configuration management > ---------------------------------------------------- > > Key: WHIRR-49 > URL: https://issues.apache.org/jira/browse/WHIRR-49 > Project: Whirr > Issue Type: New Feature > Components: core > Reporter: Jeff Hammerbacher > Attachments: WHIRR-49-cc.patch, WHIRR-49-pom.patch, WHIRR-49.patch, > WHIRR-49.patch, WHIRR-49.patch, WHIRR-49.patch, WHIRR-49.patch, > WHIRR-49.patch, WHIRR-49.patch, WHIRR-49.patch, WHIRR-49.patch, WHIRR-49.patch > > > As discussed in > https://cwiki.apache.org/confluence/display/WHIRR/WhirrDesign, Whirr should > be agnostic to the tool used to bring the images up to a state where they're > ready to run the service. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira