​

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

Reply via email to