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

Reply via email to