Did you guys discuss with Chamith on this? Chamith, this is similar to what you guys are doing for cloud?
On Tue, Dec 16, 2014 at 9:59 AM, Suhan Dharmasuriya <[email protected]> wrote: > We have successfully migrated to the new cloud: > https://openstackstg.private.wso2.com/ > > Hypervisor Summary as follows. > Memory available 30.8 GB > Disk available 1.8 TB > VCPUs available 16 > > Thanks, > Suhan > > On Tue, Dec 16, 2014 at 9:38 AM, Suhan Dharmasuriya <[email protected]> > wrote: >> >> Hi, >> >> We have introduced a new configuration file deployment.cfg [1]. Python >> will load the relevant initial configurations from >> this file including server node names. Therefore nodes.txt file is >> removed. >> >> When loading node names in the cluster initially had a problem of >> spawning instances in OpenStack in a random order. This issue was solved >> using python collections.OrderedDict [3] instead of using default >> dictionary (unordered). >> >> Cluster information is kept in a config.pp file [2]. >> >> [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] >> http://stackoverflow.com/questions/27483096/python-config-parser-array-sort-according-to-file-content-sequence/27483584#27483584 >> >> Thanks, >> Suhan >> >> On Mon, Dec 15, 2014 at 11:27 AM, Suhan Dharmasuriya <[email protected]> >> wrote: >>> >>> Adding Ramith... >>> >>> On Fri, Dec 12, 2014 at 11:43 AM, Suhan Dharmasuriya <[email protected]> >>> wrote: >>>> >>>> >>>> >>>> >>>> On Fri, Dec 12, 2014 at 11:40 AM, Suhan Dharmasuriya <[email protected]> >>>> wrote: >>>> >>>>> Hi all, >>>>> >>>>> We are working on developing a deployment automation process which >>>>> will be integrated in to the test automation framework to run test suites >>>>> on different product platforms. >>>>> >>>>> Following is the current process of deployment automation process. >>>>> >>>>> Nodes information file contains all the names of nodes in the cluster >>>>> of which the collective behavior is tested. It will contain hostnames of >>>>> the nodes such as appserver-mgr1 appserver-wkr1. >>>>> >>>>> Configuration data for each node in the cluster will be kept as a data >>>>> structure in another configuration file which will be restructured >>>>> according to the spawned instances information (in OpenStack) and >>>>> reflected >>>>> in puppet master. This configuration file was initially created as an xml >>>>> file similar to the product configuration files following the same xml >>>>> hierarchical pattern. Following DevOps practices the configuration >>>>> xml file is removed and puppet data structure file is introduced. >>>>> >>>>> Using python novaclient API, equal number of instances are spawned in >>>>> the environment (OpenStack). When instances are being created a >>>>> preconfigured OpenStack image [1] will be used from an image repository. >>>>> This image includes preconfigured puppet agent and ganglia client services >>>>> (aware of puppet master and ganglia monitor locations). >>>>> >>>>> Once the instances are spawned in OpenStack, the relevant information >>>>> of the node is retrieved using facter [2]. This information will be cross >>>>> mapped and merged with the configuration file with the relevant >>>>> information >>>>> such as IP addresses, hostnames of the instances to create a puppet >>>>> central >>>>> configuration file. >>>>> >>>>> Puppet will be taking over its operations once this configuration file >>>>> is in place. By mapping the hostname of the incoming puppet agent request >>>>> against the configuration file, puppet master performs the following >>>>> operations. >>>>> >>>>> - >>>>> >>>>> Ensure essential packages such as unzip are present in agent node >>>>> prior starting server operations. >>>>> - >>>>> >>>>> Remove old extractions and installations of conflicting product >>>>> packs. >>>>> - >>>>> >>>>> Install the defined jdk to the instance. >>>>> - >>>>> >>>>> Extract product pack file. >>>>> - >>>>> >>>>> Retrieve node specific values and update product pack >>>>> configuration (axis2.xml, carbon.xml, catalina-server.xml, etc...). >>>>> - >>>>> >>>>> Start the server with given server options. >>>>> >>>>> >>>>> In future deployment automation module will be expanded to support >>>>> OpenStack, EC2, Physical networked machines and Local environments. >>>>> Currently development started with OpenStack using python novaclient API. >>>>> Issues encountered and findings are logged in [3], [4] and [5]. >>>>> >>>>> In the next phase Docker will be evaluated to facilitate cross >>>>> platform test execution (Multiple DBs, JDKs, User Stores, OS etc..) >>>>> >>>>> Please share your ideas for improvement. We are planning to have an >>>>> architectural review with DevOps team within next week. >>>>> >>>>> Attached diagram represents the proposed architecture. >>>>> >>>>> >>>>> >>>>> [1] >>>>> https://docs.google.com/a/wso2.com/document/d/1XVEs_5Aq5I7S1IbgFKjvzMX-_xCKOX--Yo6SXgk6JYY/edit >>>>> >>>>> [2]http://packages.ubuntu.com/trusty/facter >>>>> >>>>> [3]http://suhan-opensource.blogspot.com/ >>>>> >>>>> [4] >>>>> https://docs.google.com/a/wso2.com/document/d/16kNIQVoWYTa8mBj1bZhh8qqrh_6EuB6D53eykFUPduk/edit >>>>> >>>>> [5] stackoverflow >>>>> >>>>> 1. >>>>> >>>>> >>>>> >>>>> http://stackoverflow.com/questions/26754915/novaclient-create-cloud-server-using-boot-error-badrequest-multiple-pos >>>>> 2. >>>>> >>>>> >>>>> >>>>> http://stackoverflow.com/questions/27125371/puppet-catalog-run-error-error-400-on-server-not-authorized-to-call-find-on-p >>>>> 3. >>>>> >>>>> >>>>> >>>>> http://stackoverflow.com/questions/27183036/puppet-fill-templates-with-ip-addresses-of-newly-spawned-instances >>>>> 4. >>>>> >>>>> >>>>> >>>>> http://stackoverflow.com/questions/27222189/puppet-iteration-with-2-dimensional-array-to-fill-template >>>>> 5. >>>>> >>>>> >>>>> >>>>> http://stackoverflow.com/questions/27286731/puppet-fill-template-values-using-params-pp-complex-data-structures >>>>> 6. >>>>> >>>>> http://stackoverflow.com/questions/27402037/puppet-site-pp-applying-node-definition-config-for-nodes-with-same-hostname-pref >>>>> >>>>> >>>>> 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/ >>>>> >>>> >>>> >>>> >>>> -- >>>> 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/ >>>> >>> >>> >>> -- >>> 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/ >>> >> >> >> -- >> 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/ >> > > > -- > 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/ > -- S.Uthaiyashankar VP Engineering WSO2 Inc. http://wso2.com/ - "lean . enterprise . middleware" Phone: +94 714897591
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
