What would be the reason for using rsync in the Vagrant setup [2]? Do we
update files inside the VM?

[2]
https://github.com/wso2/puppet-common/blob/56b34c4c2db11f07dca739f0e92bf1d955cfcb46/vagrant/Vagrantfile#L53

Thanks

On Wed, Sep 7, 2016 at 10:01 PM, Pubudu Gunatilaka <[email protected]> wrote:

> 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/sr
>> c/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/pu
>> ppet/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
>
>


-- 
*Imesh Gunaratne*
Software Architect
WSO2 Inc: http://wso2.com
T: +94 11 214 5345 M: +94 77 374 2057
W: https://medium.com/@imesh TW: @imesh
lean. enterprise. middleware
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to