stratos-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From chris snow <chsnow...@gmail.com>
Subject Re: PostgreSQL Cartridge for Apache Stratos
Date Thu, 14 Aug 2014 06:45:01 GMT
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" <lasindu@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 <chsnow123@gmail.com> wrote:
>
>> Hi Rajkumar, could option 1 be scripted so that it can be automated?
>>  On 9 Aug 2014 04:11, "Rajkumar Rajaratnam" <rajkumarr@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 <imesh@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 <
>>>> dchalfant@greaterbrain.com> wrote:
>>>>
>>>>> Keep it decoupled as suggested below has its advantages.
>>>>>
>>>>> -----Original Message-----
>>>>> From: chris snow [mailto:chsnow123@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 <
>>>>> rajkumarr@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 <chsnow123@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
>>>>> >> <rajkumarr@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 <chsnow123@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
>>>>> >> >> <rajkumarr@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
>>>>> >> >> > <rajkumarr@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
>>>>> >> >> >> <rajkumarr@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
>>>>> >> >> >>> <ravihansa@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
>>>>> >> >> >>>> <rajkumarr@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
>>>>> >> >> >>>> > <rajkumarr@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
>

Mime
View raw message