Thanks for the explanation Udara! My main concern was that the word 'document' suggested steps that have to be manually performed by someone. On 14 Aug 2014 07:07, "Lasindu Charith" <lasi...@wso2.com> wrote:
> Hi Chris, > > The changes to be done after installing a puppet module can be scripted > via an agent extension. But If we are to do any minor changes to the puppet > module installation, from the script, we can do them via the > node.pp/<module_name>.pp (Say we need to run a apt-get update). If the > puppet module we download needs many changes, you can still use the script > Raj has created, but need to point to another module repository where your > customized module is hosted or install via a module tar ball(changed puppet > module) as described in [1 > <https://docs.puppetlabs.com/puppet/latest/reference/modules_installing.html> > ]. > > [1] > https://docs.puppetlabs.com/puppet/latest/reference/modules_installing.html > > Thanks, > > On Sat, Aug 9, 2014 at 12:14 PM, chris snow <chsnow...@gmail.com> wrote: > >> Hi Rajkumar, could option 1 be scripted so that it can be automated? >> On 9 Aug 2014 04:11, "Rajkumar Rajaratnam" <rajkum...@wso2.com> wrote: >> >>> Hi, >>> >>> I have done PostgreSQL cartridge without changing anything in >>> puppetforge modules. AFAIK, Lasindu did Nodejs cartridge without changing >>> anything. We can use the exact same module most of the time. >>> >>> However, I can't 100% sure that we don't have to change anything. We may >>> need to change for some other modules in future. We have 3 solutions, >>> >>> 1. Document the changes to be done once modules are downloaded. >>> 2. Include such modules in stratos code base. >>> 3. We can provide an external repository to puppet module tool, to >>> search and download puppet modules. We can host such modules in an external >>> repository and ask puppet module tool to download from there. >>> >>> IMO, including such modules in stratos code base is not a good idea. It >>> will create lots of issues. >>> >>> We can go for either 1 or 3. >>> >>> WDYT? >>> >>> Is there any alternative to it? >>> >>> Thanks. >>> >>> >>> On Saturday, August 9, 2014, Imesh Gunaratne <im...@apache.org> wrote: >>> >>>> Hi Rajkumar, >>>> >>>> Once the puppet module is downloaded, do we apply any changes on top of >>>> it? If so how do we do it? >>>> >>>> Thanks >>>> >>>> >>>> On Tue, Aug 5, 2014 at 12:58 PM, Dale Chalfant < >>>> dchalf...@greaterbrain.com> wrote: >>>> >>>>> Keep it decoupled as suggested below has its advantages. >>>>> >>>>> -----Original Message----- >>>>> From: chris snow [mailto:chsnow...@gmail.com] >>>>> Sent: Tuesday, August 05, 2014 9:39 AM >>>>> To: dev >>>>> Subject: Re: PostgreSQL Cartridge for Apache Stratos >>>>> >>>>> Hi Devs - does anyone else have a view on this approach? >>>>> >>>>> On Tue, Aug 5, 2014 at 2:37 PM, Rajkumar Rajaratnam < >>>>> rajkum...@wso2.com> wrote: >>>>> > Hi Chris, >>>>> > >>>>> > I will come up with a solution using puppet module tool. >>>>> > >>>>> > Thanks. >>>>> > >>>>> > >>>>> > On Tue, Aug 5, 2014 at 6:47 PM, chris snow <chsnow...@gmail.com> >>>>> wrote: >>>>> >> >>>>> >> Hi Rajkumar - using the puppet module tool makes more sense to me. >>>>> >> >>>>> >> On Tue, Aug 5, 2014 at 10:46 AM, Rajkumar Rajaratnam >>>>> >> <rajkum...@wso2.com> >>>>> >> wrote: >>>>> >> > Hi Chris, >>>>> >> > >>>>> >> > Yes, it is maintained in git repo too. >>>>> >> > >>>>> >> > What if we do like this. >>>>> >> > >>>>> >> > Let's not include any of the puppet forge modules in Apache >>>>> Stratos. >>>>> >> > >>>>> >> > There is something called "puppet module tool" [1] in puppet. We >>>>> >> > can use this to download puppet forge modules. >>>>> >> > >>>>> >> > While we install puppet master, we can use this "puppet module >>>>> >> > tool" to download whatever puppet forge modules we need, and put >>>>> >> > them into modules directory automatically. >>>>> >> > >>>>> >> > This way, we don't need to include any of the puppet forge modules >>>>> >> > in stratos code base and we are guarantee to have the latest >>>>> puppet >>>>> >> > forge modules too. >>>>> >> > >>>>> >> > 1. >>>>> >> > >>>>> >> > >>>>> https://docs.puppetlabs.com/puppet/latest/reference/modules_install >>>>> >> > ing.html >>>>> >> > >>>>> >> > Thanks. >>>>> >> > >>>>> >> > >>>>> >> > >>>>> >> > On Tue, Aug 5, 2014 at 2:53 PM, chris snow <chsnow...@gmail.com> >>>>> wrote: >>>>> >> >> >>>>> >> >> Hi Rajkumar, that is still quite a lot of files for the team to >>>>> >> >> keep in sync with upstream. Are the upstream files in a git >>>>> repo? >>>>> >> >> Are the upstream files modified for stratos or just copied >>>>> without >>>>> >> >> any change? >>>>> >> >> >>>>> >> >> On Tue, Aug 5, 2014 at 9:55 AM, Rajkumar Rajaratnam >>>>> >> >> <rajkum...@wso2.com> >>>>> >> >> wrote: >>>>> >> >> > Hi, >>>>> >> >> > >>>>> >> >> > I have removed all test files and meta data files that we >>>>> don't need. >>>>> >> >> > Number >>>>> >> >> > of files are 200 now. >>>>> >> >> > >>>>> >> >> > These are the basic/utility modules from Puppet Laps. >>>>> >> >> > >>>>> >> >> > puppetlabs/stdlib >>>>> >> >> > puppetlabs/apt >>>>> >> >> > puppetlabs/concat >>>>> >> >> > >>>>> >> >> > Almost every single puppet module in puppet forge has >>>>> >> >> > dependencies to one or more of these utility modules. >>>>> >> >> > >>>>> >> >> > PostgreSQL also depends on these utility modules. >>>>> >> >> > >>>>> >> >> > We may not need to include any additional modules if we are >>>>> >> >> > utilizing any other modules in future. >>>>> >> >> > >>>>> >> >> > For example, if we are using their nodejs module, it also has >>>>> >> >> > these dependencies. Hence, IMO, it is worth to have these >>>>> modules. >>>>> >> >> > >>>>> >> >> > Pull request is updated now. >>>>> >> >> > >>>>> >> >> > https://github.com/apache/stratos/pull/10 >>>>> >> >> > >>>>> >> >> > Someone may review it. >>>>> >> >> > >>>>> >> >> > If this is not the right way of doing, lets discuss for an >>>>> >> >> > alternative. >>>>> >> >> > >>>>> >> >> > Thanks. >>>>> >> >> > >>>>> >> >> > >>>>> >> >> > On Mon, Aug 4, 2014 at 11:15 PM, Rajkumar Rajaratnam >>>>> >> >> > <rajkum...@wso2.com> >>>>> >> >> > wrote: >>>>> >> >> >> >>>>> >> >> >> And, >>>>> >> >> >> >>>>> >> >> >> 672 files are new files. Changed only nodes.pp >>>>> >> >> >> >>>>> >> >> >> Thanks. >>>>> >> >> >> >>>>> >> >> >> >>>>> >> >> >> On Mon, Aug 4, 2014 at 11:09 PM, Rajkumar Rajaratnam >>>>> >> >> >> <rajkum...@wso2.com> >>>>> >> >> >> wrote: >>>>> >> >> >>> >>>>> >> >> >>> Hi Akila, >>>>> >> >> >>> >>>>> >> >> >>> I am using PostgreSQL puppet module from Puppet Laps. This >>>>> >> >> >>> module has dependency to another 4 modules of them. We need >>>>> to >>>>> >> >> >>> have all. We can edit their modules and remove unwanted >>>>> files. >>>>> >> >> >>> But it will be very hard to sync with their libraries in >>>>> >> >> >>> future (for example, if we want to update their modules, we >>>>> >> >> >>> may have to do it manually again). >>>>> >> >> >>> >>>>> >> >> >>> Actually 664 files are coming from their libraries. What >>>>> >> >> >>> should I do? >>>>> >> >> >>> >>>>> >> >> >>> Thanks. >>>>> >> >> >>> >>>>> >> >> >>> >>>>> >> >> >>> On Mon, Aug 4, 2014 at 10:58 PM, Akila Ravihansa Perera >>>>> >> >> >>> <raviha...@wso2.com> wrote: >>>>> >> >> >>>> >>>>> >> >> >>>> Hi Rajkumar, >>>>> >> >> >>>> >>>>> >> >> >>>> Nice work. >>>>> >> >> >>>> >>>>> >> >> >>>> But there are 673 files changed in your PR. Something is not >>>>> >> >> >>>> right. >>>>> >> >> >>>> Can you create a JIRA for this and attach the patch? >>>>> >> >> >>>> >>>>> >> >> >>>> Thanks. >>>>> >> >> >>>> >>>>> >> >> >>>> On Mon, Aug 4, 2014 at 10:39 PM, Rajkumar Rajaratnam >>>>> >> >> >>>> <rajkum...@wso2.com> wrote: >>>>> >> >> >>>> > Hi, >>>>> >> >> >>>> > >>>>> >> >> >>>> > Pull request link is >>>>> >> >> >>>> > https://github.com/apache/stratos/pull/10 >>>>> >> >> >>>> > >>>>> >> >> >>>> > Thanks. >>>>> >> >> >>>> > >>>>> >> >> >>>> > >>>>> >> >> >>>> > On Mon, Aug 4, 2014 at 10:35 PM, Rajkumar Rajaratnam >>>>> >> >> >>>> > <rajkum...@wso2.com> >>>>> >> >> >>>> > wrote: >>>>> >> >> >>>> >> >>>>> >> >> >>>> >> Hi Devs, >>>>> >> >> >>>> >> >>>>> >> >> >>>> >> I have created a PostgreSQL cartridge [3] for Apache >>>>> Stratos. >>>>> >> >> >>>> >> It >>>>> >> >> >>>> >> consists >>>>> >> >> >>>> >> of 2 modules. >>>>> >> >> >>>> >> >>>>> >> >> >>>> >> PostgreSQL server >>>>> >> >> >>>> >> phpPgAdmin web interface >>>>> >> >> >>>> >> >>>>> >> >> >>>> >> >>>>> >> >> >>>> >> PostgreSQL server >>>>> >> >> >>>> >> >>>>> >> >> >>>> >> I have utilized PostgreSQL puppet module [1] from puppet >>>>> >> >> >>>> >> laps and plugged in my phpPgAdmin module[2] to come up >>>>> >> >> >>>> >> with a PostgreSQL cartridge. >>>>> >> >> >>>> >> >>>>> >> >> >>>> >> Puppet laps' PostgreSQL module has several great >>>>> features. >>>>> >> >> >>>> >> Some of them are, >>>>> >> >> >>>> >> >>>>> >> >> >>>> >> configure and manage PostgreSQL server (for example, who >>>>> >> >> >>>> >> can access and/or from where) creating and managing >>>>> >> >> >>>> >> databases managing users, roles and permissions install >>>>> >> >> >>>> >> PostgreSQL bindings for languages such as java (JDBC), >>>>> >> >> >>>> >> Perl and Python. >>>>> >> >> >>>> >> >>>>> >> >> >>>> >> There are more, you may refer [1] for the complete >>>>> >> >> >>>> >> documentation. >>>>> >> >> >>>> >> >>>>> >> >> >>>> >> phpPgAdmin Web Interface >>>>> >> >> >>>> >> >>>>> >> >> >>>> >> I have developed a phpPgAdmin puppet module [2] for >>>>> >> >> >>>> >> PostgreSQL server management through browsers. >>>>> >> >> >>>> >> >>>>> >> >> >>>> >> Usage >>>>> >> >> >>>> >> >>>>> >> >> >>>> >> Everything is documented in more detail here [3]. >>>>> >> >> >>>> >> >>>>> >> >> >>>> >> Sample cartridge deployment would looks like below in an >>>>> >> >> >>>> >> openstack environment, >>>>> >> >> >>>> >> >>>>> >> >> >>>> >> { >>>>> >> >> >>>> >> "type": "postgresql", >>>>> >> >> >>>> >> "provider": "data", >>>>> >> >> >>>> >> "host": "stratos.com", >>>>> >> >> >>>> >> "displayName": "postgresql", >>>>> >> >> >>>> >> "description": "postgresql Cartridge", >>>>> >> >> >>>> >> "version": "9.1", >>>>> >> >> >>>> >> "multiTenant": "false", >>>>> >> >> >>>> >> "portMapping": [ >>>>> >> >> >>>> >> { >>>>> >> >> >>>> >> "protocol": "http", >>>>> >> >> >>>> >> "port": "5432", >>>>> >> >> >>>> >> "proxyPort": "80" >>>>> >> >> >>>> >> } >>>>> >> >> >>>> >> ], >>>>> >> >> >>>> >> "deployment": {}, >>>>> >> >> >>>> >> "iaasProvider": [ >>>>> >> >> >>>> >> { >>>>> >> >> >>>> >> "type": "openstack", >>>>> >> >> >>>> >> "imageId": >>>>> >> >> >>>> >> "RegionOne/f2ddf72a-4e76-4893-a9fa-e5f4352f1a86", >>>>> >> >> >>>> >> "property": [ >>>>> >> >> >>>> >> { >>>>> >> >> >>>> >> "name": "instanceType", >>>>> >> >> >>>> >> "value": "RegionOne/3" >>>>> >> >> >>>> >> }, >>>>> >> >> >>>> >> { >>>>> >> >> >>>> >> "name": "keyPair", >>>>> >> >> >>>> >> "value": "raj-openstack" >>>>> >> >> >>>> >> }, >>>>> >> >> >>>> >> { >>>>> >> >> >>>> >> "name": "securityGroups", >>>>> >> >> >>>> >> "value": "all-open" >>>>> >> >> >>>> >> } >>>>> >> >> >>>> >> ] >>>>> >> >> >>>> >> } >>>>> >> >> >>>> >> ] >>>>> >> >> >>>> >> } >>>>> >> >> >>>> >> >>>>> >> >> >>>> >> Sample node definition (in nodes.pp) would looks like, >>>>> >> >> >>>> >> >>>>> >> >> >>>> >> # postgresql cartridge node node /postgresql/ inherits >>>>> >> >> >>>> >> base { require java class {'agent':} >>>>> >> >> >>>> >> >>>>> >> >> >>>> >> class { 'postgresql::server': >>>>> >> >> >>>> >> ip_mask_deny_postgres_user => '0.0.0.0/32', >>>>> >> >> >>>> >> ip_mask_allow_all_users => '0.0.0.0/0', listen_addresses >>>>> >> >> >>>> >> => '*', manage_firewall => true, postgres_password => >>>>> >> >> >>>> >> 'postgres' >>>>> >> >> >>>> >> } >>>>> >> >> >>>> >> >>>>> >> >> >>>> >> postgresql::server::db { 'stratos-postgres-sample': >>>>> >> >> >>>> >> user => 'root', >>>>> >> >> >>>> >> password => postgresql_password('root', 'root'), } >>>>> >> >> >>>> >> >>>>> >> >> >>>> >> class {'phppgadmin': >>>>> >> >> >>>> >> db_host => 'localhost', >>>>> >> >> >>>> >> db_port => '5432', >>>>> >> >> >>>> >> owned_only => false, >>>>> >> >> >>>> >> extra_login_security => false } >>>>> >> >> >>>> >> >>>>> >> >> >>>> >> Class['postgresql::server']->Class['phppgadmin']~> >>>>> >> >> >>>> >> Class['agent'] >>>>> >> >> >>>> >> } >>>>> >> >> >>>> >> >>>>> >> >> >>>> >> I have sent pull request 4.0.0 >>>>> >> >> >>>> >> >>>>> >> >> >>>> >> Can someone review and merge the pull request [4]? >>>>> >> >> >>>> >> >>>>> >> >> >>>> >> 1. https://forge.puppetlabs.com/puppetlabs/postgresql >>>>> >> >> >>>> >> 2. https://github.com/R-Rajkumar/phppgadmin.git >>>>> >> >> >>>> >> 3. >>>>> >> >> >>>> >> >>>>> >> >> >>>> >> >>>>> >> >> >>>> >> >>>>> >> >> >>>> >> >>>>> http://blog.rajkumarr.com/2014/08/using-postgresql-cartrid >>>>> >> >> >>>> >> ge-on-apache-stratos.html 4. >>>>> >> >> >>>> >> https://github.com/apache/stratos/pull/9 >>>>> >> >> >>>> >> >>>>> >> >> >>>> >> Thanks. >>>>> >> >> >>>> >> >>>>> >> >> >>>> >> -- >>>>> >> >> >>>> >> Rajkumar Rajaratnam >>>>> >> >> >>>> >> Software Engineer | WSO2, Inc. >>>>> >> >> >>>> >> Mobile +94777568639 | +94783498120 >>>>> >> >> >>>> > >>>>> >> >> >>>> > >>>>> >> >> >>>> > >>>>> >> >> >>>> > >>>>> >> >> >>>> > -- >>>>> >> >> >>>> > Rajkumar Rajaratnam >>>>> >> >> >>>> > Software Engineer | WSO2, Inc. >>>>> >> >> >>>> > Mobile +94777568639 | +94783498120 >>>>> >> >> >>>> >>>>> >> >> >>>> >>>>> >> >> >>>> >>>>> >> >> >>>> -- >>>>> >> >> >>>> Akila Ravihansa Perera >>>>> >> >> >>>> Software Engineer >>>>> >> >> >>>> WSO2 Inc. >>>>> >> >> >>>> http://wso2.com >>>>> >> >> >>>> >>>>> >> >> >>>> Phone: +94 77 64 154 38 >>>>> >> >> >>>> Blog: http://ravihansa3000.blogspot.com >>>>> >> >> >>> >>>>> >> >> >>> >>>>> >> >> >>> >>>>> >> >> >>> >>>>> >> >> >>> -- >>>>> >> >> >>> Rajkumar Rajaratnam >>>>> >> >> >>> Software Engineer | WSO2, Inc. >>>>> >> >> >>> Mobile +94777568639 | +94783498120 >>>>> >> >> >> >>>>> >> >> >> >>>>> >> >> >> >>>>> >> >> >> >>>>> >> >> >> -- >>>>> >> >> >> Rajkumar Rajaratnam >>>>> >> >> >> Software Engineer | WSO2, Inc. >>>>> >> >> >> Mobile +94777568639 | +94783498120 >>>>> >> >> > >>>>> >> >> > >>>>> >> >> > >>>>> >> >> > >>>>> >> >> > -- >>>>> >> >> > Rajkumar Rajaratnam >>>>> >> >> > Software Engineer | WSO2, Inc. >>>>> >> >> > Mobile +94777568639 | +94783498120 >>>>> >> > >>>>> >> > >>>>> >> > >>>>> >> > >>>>> >> > -- >>>>> >> > Rajkumar Rajaratnam >>>>> >> > Software Engineer | WSO2, Inc. >>>>> >> > Mobile +94777568639 | +94783498120 >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > -- >>>>> > Rajkumar Rajaratnam >>>>> > Software Engineer | WSO2, Inc. >>>>> > Mobile +94777568639 | +94783498120 >>>>> >>>> >>>> >>>> >>>> -- >>>> Imesh Gunaratne >>>> >>>> Technical Lead, WSO2 >>>> Committer & PPMC Member, Apache Stratos >>>> >>> > > > -- > *Lasindu Charith* > Software Engineer, WSO2 Inc. > Mobile: +94714427192 > Web: blog.lasindu.com >