On Sat, Apr 12, 2014 at 1:02 PM, Nirmal Fernando <[email protected]>wrote:
> > > > On Sat, Apr 12, 2014 at 12:49 PM, Akila Ravihansa Perera < > [email protected]> wrote: > >> Hi Nirmal, >> >> We don't need zip/unzip to install Puppet. Actually I managed to install >> a default node without zip/unzip by adding package { 'unzip': ensure => >> installed } to Puppet Java module. >> > > Well, we still need wget? :-) > Not really...we need wget just to download installation scripts. This can be done via ssh :-) > >> What I'm trying to address is the redundant code in current Puppet master >> module structure. Currently we have "require java", class {'agent':} on >> each module, which can be avoided by creating a base module and other >> modules can inherit stuff from this. >> >> For eg. php module has package { 'zip': ensure => installed } >> dependency, and also Java module need this package as well. Instead of >> putting these common tools in individual classes we can create a base class >> and others will inherit stuff from this. >> > > :-) if you check the nodes.pp file, we already leverage puppet > inheritance. > Yes, but Puppet classes do not :-) > >> If you're interested, I can create a patch for this to be reviewed. >> > > It's better if you test it fully for all the existing scenarios > (judgemental) and I think these improvements can go for 4.1 but not for > 4.0, since we're wrapping up 4.0 and this is not a blocker. > Absolutely :-) How about we add zip/unzip packages + Stratos agent class declaration (common tools) to a base *class* and have other *classes* inherit from that? > >> >> On Sat, Apr 12, 2014 at 12:17 PM, Nirmal Fernando <[email protected] >> > wrote: >> >>> Hi Akila, >>> >>> If you have a look at the current nodes.pp file, Dinesh have already >>> added a default section, which will be used to create a base image with >>> minimal software (without wget, zip). >>> >>> What problems you are trying to address here? Is it to avoid the >>> redundant code in nodes.pp file? Cause to install puppet you need these >>> wget etc. packages, hence no point of adding it in the default node. >>> >>> >>> >>> On Sat, Apr 12, 2014 at 11:15 AM, Akila Ravihansa Perera < >>> [email protected]> wrote: >>> >>>> Hi, >>>> >>>> I was thinking that we could simplify cartridge creation process by >>>> creating a base Puppet module which would install common tools like zip, >>>> unzip, tar, wget and also include Java module in this base module. >>>> >>>> Basically, the module structure will be like this (not tested); >>>> >>>> node /base/ { >>>> >>>> <declarations here> >>>> >>>> } >>>> >>>> >>>> class base { >>>> >>>> package { 'unzip': ensure => installed } >>>> package { 'tar': ensure => installed } >>>> package { 'wget': ensure => installed } >>>> >>>> class {'java'} >>>> class {'agent':} >>>> >>>> Class['java'] ~> Class['agent'] >>>> >>>> } >>>> >>>> >>>> Then other Stratos module can include this >>>> >>>> node /lb/ inherits base { >>>> class {'lb': maintenance_mode => 'norestart',} >>>> } >>>> >>>> This will remove lot of redundancy and ugly dependencies we have >>>> now....WDYT? >>>> >>>> >>>> -- >>>> Akila Ravihansa Perera >>>> Software Engineer >>>> WSO2 Inc. >>>> http://wso2.com >>>> >>>> Phone: +94 77 64 154 38 >>>> Blog: http://ravihansa3000.blogspot.com >>>> >>> >>> >>> >>> -- >>> Best Regards, >>> Nirmal >>> >>> Nirmal Fernando. >>> PPMC Member & Committer of Apache Stratos, >>> Senior Software Engineer, WSO2 Inc. >>> >>> Blog: http://nirmalfdo.blogspot.com/ >>> >> >> >> >> -- >> Akila Ravihansa Perera >> Software Engineer >> WSO2 Inc. >> http://wso2.com >> >> Phone: +94 77 64 154 38 >> Blog: http://ravihansa3000.blogspot.com >> > > > > -- > Best Regards, > Nirmal > > Nirmal Fernando. > PPMC Member & Committer of Apache Stratos, > Senior Software Engineer, WSO2 Inc. > > Blog: http://nirmalfdo.blogspot.com/ > -- Akila Ravihansa Perera Software Engineer WSO2 Inc. http://wso2.com Phone: +94 77 64 154 38 Blog: http://ravihansa3000.blogspot.com
