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/
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
