You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by viola lu <vi...@gmail.com> on 2009/09/22 11:25:40 UTC

Server farm management based on plugins

Hi, David:
 According to jira https://issues.apache.org/jira/browse/GERONIMO-4284,
there should be a FarmComand.groovy file under
server/trunk/framework/modules/geronimo-commands/src/main/groovy/org/apache/geronimo/commands/FarmCommand.groovy<http://svn.apache.org/viewcvs.cgi//geronimo/server/trunk/framework/modules/geronimo-commands/src/main/groovy/org/apache/geronimo/commands/FarmCommand.groovy/?rev=693703&view=markup>,
which should implement deploy/farm, but from Geronimo 2.2 branch and
server trunk, this file is missing.

And also from doc
http://cwiki.apache.org/GMOxDOC22/plugin-based-farming.html, there should be
a GShell *deploy/farm* command to mange farm.But after i installed plugins
below,
org.apache.geronimo.configs/plugin-farm-datasource/2.2-SNAPSHOT/car<http://localhost:8080/console/portal//Services/Repository/__ac0x3console-base0x2RepositoryViewer%21604305819%7C0/__pm0x3console-base0x2RepositoryViewer%21604305819%7C0_view?res=org.apache.geronimo.configs%2Fplugin-farm-datasource%2F2.2-SNAPSHOT%2Fcar&action=usage&formId=-5661674799437896392>
org.apache.geronimo.configs/plugin-farm-member/2.2-SNAPSHOT/car<http://localhost:8080/console/portal//Services/Repository/__ac0x3console-base0x2RepositoryViewer%21604305819%7C0/__pm0x3console-base0x2RepositoryViewer%21604305819%7C0_view?res=org.apache.geronimo.configs%2Fplugin-farm-member%2F2.2-SNAPSHOT%2Fcar&action=usage&formId=-5661674799437896392>
org.apache.geronimo.configs/plugin-farm/2.2-SNAPSHOT/car<http://localhost:8080/console/portal//Services/Repository/__ac0x3console-base0x2RepositoryViewer%21604305819%7C0/__pm0x3console-base0x2RepositoryViewer%21604305819%7C0_view?res=org.apache.geronimo.configs%2Fplugin-farm%2F2.2-SNAPSHOT%2Fcar&action=usage&formId=-5661674799437896392>
i still can't find out this command via gshell command, just cluster/deploy
and cluster/heartmonitor.Can you give some hints?

And "Server farm management based on plugins" means install plugins to farm
members, but if we want to deploy applications (non-plugin forma) to farm
members, we still follow "Farming using
Deployment<http://cwiki.apache.org/GMOxDOC22/farming-using-deployment.html>"
article:
http://cwiki.apache.org/GMOxDOC22/farming-using-deployment.html, right?

Thanks.




-- 
viola

Re: Server farm management based on plugins

Posted by David Jencks <da...@yahoo.com>.
Hi Viola,

On Sep 25, 2009, at 1:04 AM, viola lu wrote:

> Thanks. David.
>
> I tried this function, and some details to confirm with you:
>
>  1.Farm Controller should install plugin-farm, plugin-farm- 
> datasource plugins , set its DefaultPluginRepository attribute in  
> file config-substitutions.properties as a share repository  
> accessible by all farm members.If farm members has no access  
> authority to this share repository, farm deploy will fail.

yes...
>
>  2.Every farm member should install plugin-farm-member plugin, set  
> NodeName, and ServerHostname=[NODE_IP] attributes in file config- 
> substitutions.properties.If ServerHostname is not set to its  
> corresponding IP, this farm node will not be added into this farm  
> goup.Also farm member should add share install plugin repository to  
> its file plugin-repositories.properties including access username  
> and password like
> http\://9.186.10.67\:8080/plugin/maven-repo/=system 
> \={Simple}rO0ABXNyABlqYXZheC5jcnlwdG8uU2VhbGVkT2JqZWN0PjY9psO3VHACAARbAA1lbmNvZGVkUGFyYW1zdAACW0JbABBlbmNyeXB0ZWRDb250ZW50cQB+AAFMAAlwYXJhbXNBbGd0ABJMamF2YS9sYW5nL1N0cmluZztMAAdzZWFsQWxncQB+AAJ4cHB1cgACW0Ks8xf4BghU4AIAAHhwAAAAEHnh03EmiNu4VTuWH+xZiRBwdAADQUVT

yes...
>
> So that access passes.
>
>  3.After run cluster/deploy remove -l pluginlist1 -a **/hello/**,  
> this will remove the plugin from all farm members, but fail to  
> delete the plugin record from table PLUGINLIST_PLUGIN of   
> PluginFarmDatatabase db on controller node,

this command turns into farm.removePluginFromPluginList, so this seems  
like a bug.

> this will result in duplicate(redundant) records in db, and if  i  
> run cluster/deploy remove -c cluster1 -l pluginlist1, plugin list  
> will be removed from table PLUGINLIST_CLUSTER, but pluginlist1 is  
> still kept in table PLUGINLIST,

this seems correct to me, a plugin list can exist even if it is not  
associated with any clusters

> when add a pluginlist to cluster, both tables are updated meantime,

I'd expect this to create records in cluster and pluginlist if they  
are missing, and then insert into cluster_pluginlist.

> so seems PluginFarmDatatabase can't keep integrity when delete.

I think you found some bugs :-)

Looking at the groovy ClusterCommand, I'd guess that we need some more  
remove commands:

remove --cluster deletes a cluster from the cluster table after  
removing any cluster_pluginlist records that refer to the cluster
remove --pluginlist deletes a pluginlist from the pluginlist table  
after removing appropriate cluster_pluginlist and pluginlst_plugin  
records
remove --pluginartifact deletes a plugin from the plugin table after  
removing appropriate pluginlist_plugin records.

Does this make sense to you?

thanks
david jencks
>
> Thanks.
>
>
> After
>
> On Wed, Sep 23, 2009 at 9:19 AM, David Jencks  
> <da...@yahoo.com> wrote:
>
> On Sep 22, 2009, at 2:25 AM, viola lu wrote:
>
>> Hi, David:
>>  According to jira https://issues.apache.org/jira/browse/GERONIMO-4284 
>> , there should be a FarmComand.groovy file under server/trunk/ 
>> framework/modules/geronimo-commands/src/main/groovy/org/apache/ 
>> geronimo/commands/FarmCommand.groovy , which should implement  
>> deploy/farm, but from Geronimo 2.2 branch and server trunk, this  
>> file is missing.
>>
>> And also from doc http://cwiki.apache.org/GMOxDOC22/plugin-based-farming.html 
>> , there should be a GShell deploy/farm command to mange farm.But  
>> after i installed plugins below,
>> org.apache.geronimo.configs/plugin-farm-datasource/2.2-SNAPSHOT/car
>> org.apache.geronimo.configs/plugin-farm-member/2.2-SNAPSHOT/car
>> org.apache.geronimo.configs/plugin-farm/2.2-SNAPSHOT/car
>>
>> i still can't find out this command via gshell command, just  
>> cluster/deploy and cluster/heartmonitor.Can you give some hints?
>
> At some point the "farm" commands were renamed to "cluster".  AFAIK  
> there are no gshell commands related to deployment based clustering  
> since you set that up with some special repositories in the server  
> that are then accessed using normal gshell commands.
>
>>
>> And "Server farm management based on plugins" means install plugins  
>> to farm members, but if we want to deploy applications (non-plugin  
>> forma) to farm members, we still follow "Farming using Deployment "  
>> article: http://cwiki.apache.org/GMOxDOC22/farming-using-deployment.html 
>> , right?
>
> I think you should first consider which farm technology better suits  
> your needs, then decide whether to pre-deploy your apps as plugins  
> and use the plugin based clustering or deploy your apps directly to  
> a deployment based cluster.  I can't think of any good reasons to  
> use the deployment based cluster, but other people might be able to.
>
>
> hope this is correct and helps
> thanks
> david jencks
>
>>
>> Thanks.
>>
>>
>>
>>
>> -- 
>> viola
>
>
>
>
> -- 
> viola


Re: Server farm management based on plugins

Posted by viola lu <vi...@gmail.com>.
Thanks. David.

I tried this function, and some details to confirm with you:

 1.Farm Controller should install plugin-farm, plugin-farm-datasource
plugins , set its DefaultPluginRepository attribute in file
config-substitutions.properties as a share repository accessible by all farm
members.If farm members has no access authority to this share repository,
farm deploy will fail.

 2.Every farm member should install plugin-farm-member plugin, set NodeName,
and ServerHostname=[NODE_IP] attributes in file
config-substitutions.properties.If ServerHostname is not set to its
corresponding IP, this farm node will not be added into this farm goup.Also
farm member should add share install plugin repository to its file
plugin-repositories.properties including access username and password like
http\://9.186.10.67
\:8080/plugin/maven-repo/=system\={Simple}rO0ABXNyABlqYXZheC5jcnlwdG8uU2VhbGVkT2JqZWN0PjY9psO3VHACAARbAA1lbmNvZGVkUGFyYW1zdAACW0JbABBlbmNyeXB0ZWRDb250ZW50cQB+AAFMAAlwYXJhbXNBbGd0ABJMamF2YS9sYW5nL1N0cmluZztMAAdzZWFsQWxncQB+AAJ4cHB1cgACW0Ks8xf4BghU4AIAAHhwAAAAEHnh03EmiNu4VTuWH+xZiRBwdAADQUVT

So that access passes.

 3.After run cluster/deploy remove -l pluginlist1 -a **/hello/**, this will
remove the plugin from all farm members, but fail to delete the plugin
record from table PLUGINLIST_PLUGIN of  PluginFarmDatatabase db on
controller node,  this will result in duplicate(redundant) records in db,
and if  i run cluster/deploy remove -c cluster1 -l pluginlist1, plugin list
will be removed from table PLUGINLIST_CLUSTER, but pluginlist1 is still kept
in table PLUGINLIST, when add a pluginlist to cluster, both tables are
updated meantime, so seems PluginFarmDatatabase can't keep integrity when
delete.

Thanks.


After

On Wed, Sep 23, 2009 at 9:19 AM, David Jencks <da...@yahoo.com>wrote:

>
> On Sep 22, 2009, at 2:25 AM, viola lu wrote:
>
> Hi, David:
>  According to jira https://issues.apache.org/jira/browse/GERONIMO-4284,
> there should be a FarmComand.groovy file under
> server/trunk/framework/modules/geronimo-commands/src/main/groovy/org/apache/geronimo/commands/FarmCommand.groovy<http://svn.apache.org/viewcvs.cgi//geronimo/server/trunk/framework/modules/geronimo-commands/src/main/groovy/org/apache/geronimo/commands/FarmCommand.groovy/?rev=693703&view=markup>, which should implement deploy/farm, but from Geronimo 2.2 branch and
> server trunk, this file is missing.
>
> And also from doc
> http://cwiki.apache.org/GMOxDOC22/plugin-based-farming.html, there should
> be a GShell *deploy/farm* command to mange farm.But after i installed
> plugins below,
> org.apache.geronimo.configs/plugin-farm-datasource/2.2-SNAPSHOT/car<http://localhost:8080/console/portal//Services/Repository/__ac0x3console-base0x2RepositoryViewer%21604305819%7C0/__pm0x3console-base0x2RepositoryViewer%21604305819%7C0_view?res=org.apache.geronimo.configs%2Fplugin-farm-datasource%2F2.2-SNAPSHOT%2Fcar&action=usage&formId=-5661674799437896392>
> org.apache.geronimo.configs/plugin-farm-member/2.2-SNAPSHOT/car<http://localhost:8080/console/portal//Services/Repository/__ac0x3console-base0x2RepositoryViewer%21604305819%7C0/__pm0x3console-base0x2RepositoryViewer%21604305819%7C0_view?res=org.apache.geronimo.configs%2Fplugin-farm-member%2F2.2-SNAPSHOT%2Fcar&action=usage&formId=-5661674799437896392>
> org.apache.geronimo.configs/plugin-farm/2.2-SNAPSHOT/car<http://localhost:8080/console/portal//Services/Repository/__ac0x3console-base0x2RepositoryViewer%21604305819%7C0/__pm0x3console-base0x2RepositoryViewer%21604305819%7C0_view?res=org.apache.geronimo.configs%2Fplugin-farm%2F2.2-SNAPSHOT%2Fcar&action=usage&formId=-5661674799437896392>
> i still can't find out this command via gshell command, just cluster/deploy
> and cluster/heartmonitor.Can you give some hints?
>
>
> At some point the "farm" commands were renamed to "cluster".  AFAIK there
> are no gshell commands related to deployment based clustering since you set
> that up with some special repositories in the server that are then accessed
> using normal gshell commands.
>
>
> And "Server farm management based on plugins" means install plugins to farm
> members, but if we want to deploy applications (non-plugin forma) to farm
> members, we still follow "Farming using Deployment<http://cwiki.apache.org/GMOxDOC22/farming-using-deployment.html>" article:
> http://cwiki.apache.org/GMOxDOC22/farming-using-deployment.html, right?
>
>
> I think you should first consider which farm technology better suits your
> needs, then decide whether to pre-deploy your apps as plugins and use the
> plugin based clustering or deploy your apps directly to a deployment based
> cluster.  I can't think of any good reasons to use the deployment based
> cluster, but other people might be able to.
>
>
> hope this is correct and helps
> thanks
> david jencks
>
>
> Thanks.
>
>
>
>
> --
> viola
>
>
>


-- 
viola

Re: Server farm management based on plugins

Posted by David Jencks <da...@yahoo.com>.
On Sep 22, 2009, at 2:25 AM, viola lu wrote:

> Hi, David:
>  According to jira https://issues.apache.org/jira/browse/ 
> GERONIMO-4284, there should be a FarmComand.groovy file under server/ 
> trunk/framework/modules/geronimo-commands/src/main/groovy/org/apache/ 
> geronimo/commands/FarmCommand.groovy , which should implement deploy/ 
> farm, but from Geronimo 2.2 branch and server trunk, this file is  
> missing.
>
> And also from doc http://cwiki.apache.org/GMOxDOC22/plugin-based-farming.html 
> , there should be a GShell deploy/farm command to mange farm.But  
> after i installed plugins below,
> org.apache.geronimo.configs/plugin-farm-datasource/2.2-SNAPSHOT/car
> org.apache.geronimo.configs/plugin-farm-member/2.2-SNAPSHOT/car
> org.apache.geronimo.configs/plugin-farm/2.2-SNAPSHOT/car
>
> i still can't find out this command via gshell command, just cluster/ 
> deploy and cluster/heartmonitor.Can you give some hints?

At some point the "farm" commands were renamed to "cluster".  AFAIK  
there are no gshell commands related to deployment based clustering  
since you set that up with some special repositories in the server  
that are then accessed using normal gshell commands.
>
> And "Server farm management based on plugins" means install plugins  
> to farm members, but if we want to deploy applications (non-plugin  
> forma) to farm members, we still follow "Farming using Deployment "  
> article: http://cwiki.apache.org/GMOxDOC22/farming-using-deployment.html 
> , right?

I think you should first consider which farm technology better suits  
your needs, then decide whether to pre-deploy your apps as plugins and  
use the plugin based clustering or deploy your apps directly to a  
deployment based cluster.  I can't think of any good reasons to use  
the deployment based cluster, but other people might be able to.


hope this is correct and helps
thanks
david jencks

>
> Thanks.
>
>
>
>
> -- 
> viola