Hi,
Test Automation team is currently in to R&D of deployment automation.
Currently we are focusing on deployment of WSO2 Application Server clusters
of worker manager pattern.
As of now, we have configured deployment automation in a way that the
cluster node names in a deployment configuration file [1] and the product
configuration information (appserver's axis2.xml, carbon.xml, etc...) in a
config.pp [2] file which will be placed as
/etc/puppet/modules/appserver/params.pp after running the main python
script.
Therefore when new instances are spawned in OpenStack according to the node
names in config file [1] puppet agents pre-installed in them will retrieve
their respective xml configurations from
/etc/puppet/modules/appserver/params.pp file and perform puppet catalog
runs.
Refer Github repo [3] python_scripts for more clarifications.
Currently node names are matched directly against the product configuration
puppet file $servers names [2].
Our next step is to give the number of worker/manager subdomain node
combination and spawn
the cluster in to existence on OpenStack environment.
We are planning of fronting an elb for each worker/manager subdomain.
Then, our deployment.cfg file will be modified as follows by indicating the
number of sub domain nodes.
[nodes]
appserver-mgr = 10
appserver-wkr = 20
config.pp file will be as follows.
$servers = { appserver-mgr => { axis2 => {subDomain => 'mgt', members => ['
elb1-ip', 'elb2-ip']}, carbon => {subDomain => 'mgt',}, serverOptions => '
-Dsetup', server_home => $carbon_home, }, appserver-wkr => { axis2 => {
subDomain => 'worker', members => ['elb1-ip', 'elb2-ip']}, carbon => {
subDomain => 'worker',}, serverOptions => '-DworkerNode=true', server_home
=> $carbon_home, }, }
Instances will be spawned in OpenStack as follows.
appserver-mgr-1
appserver-mgr-2
...
appserver-mgr-10
appserver-wkr-1
appserver-wkr-2
...
appserver-wkr-20
How can I match the new server names against the new product configuration
file?
Can I use regular expressions? Is it a recommended approach?
Is there any better alternative for pushing product configurations in terms
of standards, practices and performance for clusters with large number of
nodes?
[1]
https://github.com/suhand/Deployment-Automation/blob/master/deployment-automation-total-puppet/python_scripts/deployment.cfg
[2]
https://github.com/suhand/Deployment-Automation/blob/master/deployment-automation-total-puppet/python_scripts/config.pp
[3]
https://github.com/suhand/Deployment-Automation/tree/master/deployment-automation-total-puppet
Thanks,
Suhan
--
Suhan Dharmasuriya
Software Engineer - Test Automation
*WSO2, Inc. *
lean . enterprise . middleware
Tel: +94 112 145345
Mob: +94 779 869138
Blog: http://suhan-opensource.blogspot.com/
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture