On Mon, Jan 18, 2016 at 8:50 AM, Akila Ravihansa Perera <[email protected]>
wrote:

> Hi,
>
> This is to summarize few improvements that I'd like to propose for WSO2
> Puppet modules.
>
> 1. Remove conditional checks for Factor facts in the Puppet manifest.
>
>     For eg. we do conditional check for $::vm_type factor and start the
> service and configure the Cron job based on it. This is not good because
> factors are unsecure and unreliable. They are being set by the target
> instance running Puppet agent. This allows any node to change the factor
> value and get a different Puppet catalog. Also it is hard to trace back how
> a certain configuration got applied since a user would have to check couple
> of places.
>

+1

>
> 2. Decouple Hiera from WSO2 Puppet modules.
>
> Sometime back we agreed to stick to Hiera but after some deep
> consideration I believe we may have made some bad assumptions on this.
>  - The main problem is the modules are in-charge of *how* to lookup data
> instead of being *given* data. This will definitely reduce the readability
> and traceability of Puppet module manifest. A user would have to go through
> the Puppet code to understand what kind of data it needs. This is bad
> Puppet design.
>
>  - If a user decides to write their own Puppet module using Roles and
> Profiles pattern, which would wrap the WSO2 Puppet modules, it will be
> really difficult to pass data to WSO2 Puppet modules because our custom way
> of handling data (Hiera lookups inside the class)
>
>  - It makes a bad assumption that everyone uses Hiera, it is not
> compatible for people who use ENCs [1]. Hiera is not the only ENC out there.
>
>  - There's a higher barrier to entry on understanding the module, some
> people would have to read the body of the module classes code to figure out
> what's going on.
>
>
> Therefore, I'd like to propose that we use parameterized classes to
> request data instead of doing Hiera lookups inside the manifest We can
> still use Hiera and pass those class parameter values via YAML data files
> [2]. wdyt?
>
> Sounds good Akila, can you please provide a quick sample?

Thanks

>
> [1]
> https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/puppet-users/DGtLs32ctjY/BULzdWSDy2MJ
>
> [2] https://docs.puppetlabs.com/guides/external_nodes.html
>
> Thanks.
>
> --
> Akila Ravihansa Perera
> WSO2 Inc.;  http://wso2.com/
>
> Blog: http://ravihansa3000.blogspot.com
>



-- 
*Imesh Gunaratne*
Senior Technical Lead
WSO2 Inc: http://wso2.com
T: +94 11 214 5345 M: +94 77 374 2057
W: http://imesh.gunaratne.org
Lean . Enterprise . Middleware
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to