stratos-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rajkumar Rajaratnam <rajkum...@wso2.com>
Subject Re: PostgreSQL Cartridge for Apache Stratos
Date Tue, 05 Aug 2014 14:09:02 GMT
Hi Nirmal,

Puppet module tool can download specific version of a module.

For example,

puppet module install puppetlabs-apache --version 0.0.2

Idea is to have a comma separated list of modules along with information
such as version, etc and download those using puppet module tool. IMO, we
don't need to modify puppet master script. We can have separate script for
doing this stuff. This way, this becomes optional. If a user wants, he can
use this script to do stuffs. Or he can download modules and put them into
puppet master manually.

Thanks.


On Tue, Aug 5, 2014 at 7:26 PM, Nirmal Fernando <nirmal070125@gmail.com>
wrote:

> Can we guarantee that latest puppet dependency modules won't break the
> puppet module which uses those dependencies? IMO this approach would result
> in lot of issues.
>
>
> On Tue, Aug 5, 2014 at 7:08 PM, chris snow <chsnow123@gmail.com> wrote:
>
>> 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_installing.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-cartridge-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
>>
>
>
>
> --
> Best Regards,
> Nirmal
>
> Nirmal Fernando.
> PPMC Member & Committer of Apache Stratos,
> Senior Software Engineer, WSO2 Inc.
>
> Blog: http://nirmalfdo.blogspot.com/
>



-- 
Rajkumar Rajaratnam
Software Engineer | WSO2, Inc.
Mobile +94777568639 | +94783498120

Mime
View raw message