[ 
https://issues.apache.org/jira/browse/WHIRR-385?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13103831#comment-13103831
 ] 

Chad Metcalf edited comment on WHIRR-385 at 9/13/11 5:53 PM:
-------------------------------------------------------------

Alex, I'll put up a patch later today that I've been working on. I took a 
pretty direct path from the WHIRR-49 work and came up with three classes. 
{{Module}}, {{Resource}}, and {{Manifest}}. Unlike Chef there isn't always a 
single Puppet repository to rule them all. So {{{Module}}} allows a checkout of 
a given Puppet Module at a specific git url which goes into a directory on the 
MODULEPATH. You can instantiate whatever modules you need. {{{Resource}}} is a 
class to {{puppet apply}} an arbitrary Puppet resource. {{Resource}} is used by 
{{Manifest}} to apply a class in a module (includes support for parameterized 
classes).

I think this approach is certainly a flavor masterless. But might be better 
called puppet for whirr as its the whirr way of doing things just using puppet 
under the covers instead of bash.

A puppet masterless approach, like the one described in the puppet@loggly 
presentation is different. It wouldn't require a bunch of {{Statements}} and 
java. Rather given a ball of puppet modules and a default node definition it 
would include functionality based on facts and functions (including perhaps a 
whirr function like Jordan's {{has_role}}). At that point it would be generic. 
The whirr client instantiates puppet node(s) with a tarball/git url and the 
rest is done. 

      was (Author: metcalfc):
    Alex, I'll put up a patch later today that I've been working on. I took a 
pretty direct path from the WHIRR-49 work and came up with three classes. 
{{{Module}}}, {{{Resource}}}, and {{{Manifest}}}. Unlike Chef there isn't 
always a single Puppet repository to rule them all. So {{{Module}}} allows a 
checkout of a given Puppet Module at a specific git url which goes into a 
directory on the MODULEPATH. You can instantiate whatever modules you need. 
{{{Resource}}} is a class to {{{puppet apply}}} an arbitrary Puppet resource. 
{{{Resource}}} is used by {{{Manifest}}} to apply a class in a module (includes 
support for parameterized classes).

I think this approach is certainly a flavor masterless. But might be better 
called puppet for whirr as its the whirr way of doing things just using puppet 
under the covers instead of bash.

A puppet masterless approach, like the one described in the puppet@loggly 
presentation is different. It wouldn't require a bunch of {{{Statements}}} and 
java. Rather given a ball of puppet modules and a default node definition it 
would include functionality based on facts and functions (including perhaps a 
whirr function like Jordan's {{{has_role}}}). At that point it would be 
generic. The whirr client instantiates puppet node(s) with a tarball/git url 
and the rest is done. 
  
> Implement support for using masterless puppet to provision and run scripts
> --------------------------------------------------------------------------
>
>                 Key: WHIRR-385
>                 URL: https://issues.apache.org/jira/browse/WHIRR-385
>             Project: Whirr
>          Issue Type: New Feature
>          Components: new service
>    Affects Versions: 0.7.0
>            Reporter: Alex Heneveld
>   Original Estimate: 168h
>  Remaining Estimate: 168h
>
> As a user of Whirr, I'd like to be able to use puppet scripts (manifests, 
> modules) from within Whirr to set up machines and clusters, because there are 
> a lot of OS-neutral capabilities and a large number of actively maintained 
> scripts which I could benefit from.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to