Hi Rushmin,

We have only completed wso2as puppet module [1]. We have not completed
wso2esb and it is not upto date. Currently we are working on other puppet
modules including wso2esb.

[1] - https://github.com/wso2/puppet-as

Thank you!

On Wed, Sep 7, 2016 at 7:31 PM, Rushmin Fernando <[email protected]> wrote:

> Akila I got the following error while I was trying with ESB.
>
>
> ==> esb.dev.wso2.org: Rsyncing folder: 
> /home/rushmin/wso2/dev/env/puppet/hieradata/
> => /puppet/hieradata
> There was an error when attempting to rsync a synced folder.
> Please inspect the error message below for more info.
>
> Host path: /home/rushmin/wso2/dev/env/puppet/hieradata/
> Guest path: /puppet/hieradata
> Command: rsync --verbose --archive --delete -z --copy-links --no-owner
> --no-group --rsync-path sudo rsync -e ssh -p 2222 -o
> StrictHostKeyChecking=no -o IdentitiesOnly=true -o
> UserKnownHostsFile=/dev/null -i '/home/rushmin/wso2/dev/rnd/
> src/git/puppet-commons/vagrant/.vagrant/machines/esb.
> dev.wso2.org/virtualbox/private_key' --exclude .vagrant/
> /home/rushmin/wso2/dev/env/puppet/hieradata/ [email protected]:/puppet/
> hieradata
> Error: Warning: Permanently added '[127.0.0.1]:2222' (ECDSA) to the list
> of known hosts.
> symlink has no referent: "/home/rushmin/wso2/dev/env/
> puppet/hieradata/dev/wso2/wso2apim"
> rsync error: some files/attrs were not transferred (see previous errors)
> (code 23) at main.c(1183) [sender=3.1.0]
>
> What am I doing wrong here ?
>
> Best Regards
> Rushmin
>
> On Wed, Sep 7, 2016 at 2:49 PM, Akila Ravihansa Perera <[email protected]
> > wrote:
>
>> Hi,
>>
>> This thread is to raise awareness around some of the implementation level
>> decisions that were taken when refactoring Puppet modules and splitting
>> them into their own respective GitHub repos.
>>
>> * - Decouple Hiera from Puppet modules*
>> In last Puppet-Modules release Hiera lookups were done in <product
>> module>/manifests/init.pp which made it mandatory for users to use Hiera.
>> As part of the refactoring Hiera is made optional and configuration
>> parameters are defined as class parameters which can be passed by site.pp
>>
>>
>> * - Use Hiera only as a data store*
>> There were some discussions about creating hooks in Puppet manifest to
>> which Puppet resources can be plugged in via Hiera data. However, going
>> forward we have come to a conclusion that Hiera should only be used as a
>> data store and nothing more. Any customizations to Puppet manifest can be
>> done directly in init.pp.
>>
>> * - Break Puppet configurations into stages*
>> We have identified following stages which can be considered completely
>> independent from each other;
>> system - set operating system configs, install packages etc.
>> clean - remove any existing installation
>> install - extract the pack and set user permissions
>> configure - populate templates, copy config files, import certs
>> service - start the service
>>
>> Here is a snippet of wso2as/manifests/init.pp
>>
>> contain wso2base
>> contain wso2base::system
>> contain wso2base::clean
>> contain wso2base::install
>> contain wso2base::configure
>> contain wso2base::service
>>
>> Class['::wso2base'] -> Class['::wso2base::system']
>> -> Class['::wso2base::clean'] -> Class['::wso2base::install']
>> -> Class['::wso2base::configure'] ~> Class['::wso2base::service']
>>
>> As you can see Puppet class containment [1] is used to ensure the
>> dependency ordering. This is useful when users combine WSO2 Puppet modules
>> with other modules (for eg: when creating roles and profiles).
>>
>> * - Remove inter module class inheritance*
>> As per official Puppet docs class inheritance is to be avoided whenever
>> possible [2]. Considering this we have removed all such relationships
>> except for params.pp which contains default values.
>>
>> * - Move default values to params.pp and remove wso2base/params.pp*
>> After giving much thought, we decided to keep default values in
>> <puppet-module>/manifests/params.pp and only in that place. Having
>> common default values in <wso2base>/manifests/params.pp would minimize
>> duplication but would be less readable for end users. Therefore we have
>> come to a conclusion that wso2base module should only be used as a common
>> resources/classes pool. It should not contain any data.
>>
>> *Try it out!*
>>
>> 1. Git clone https://github.com/wso2/puppet-common
>> 2. Run puppet-common/setup.sh -p as
>> 3. Goto puppet-common/vagrant
>> 4. Run vagrant up
>>
>>
>> [1] https://docs.puppet.com/puppet/latest/reference/lang_con
>> tainment.html#containing-classes
>> [2] https://docs.puppet.com/guides/style_guide.html#class-inheritance
>>
>> Thanks.
>>
>> --
>> Akila Ravihansa Perera
>> WSO2 Inc.;  http://wso2.com/
>>
>> Blog: http://ravihansa3000.blogspot.com
>>
>> _______________________________________________
>> Dev mailing list
>> [email protected]
>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>
>>
>
>
> --
> *Best Regards*
>
> *Rushmin Fernando*
> *Technical Lead*
>
> WSO2 Inc. <http://wso2.com/> - Lean . Enterprise . Middleware
>
> mobile : +94772891266
>
>
>
> _______________________________________________
> Dev mailing list
> [email protected]
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>
>


-- 
*Pubudu Gunatilaka*
Committer and PMC Member - Apache Stratos
Software Engineer
WSO2, Inc.: http://wso2.com
mobile : +94774078049 <%2B94772207163>
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to