Thanks Manula. Will look for the possibility and move the central puppet config.pp file contents out of the module.
Thanks, Suhan On Mon, Jan 5, 2015 at 3:09 PM, Manula Waidyanatha <man...@wso2.com> wrote: > Hi Suhan, > You have to use regex if you want to have different configurations for > each server (hostname). If you can move all the node specific data out of > the module (to node.pp or site.pp) > > On Mon, Jan 5, 2015 at 10:45 AM, Suhan Dharmasuriya <suh...@wso2.com> > wrote: > >> 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/ >> > > > > -- > Regards, > Manula Waidyanatha > Systems Engineer, WSO2, Inc. > Phone: +94 774 195853 > Blog: blog.manula.org > -- 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 Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture