stratos-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Shaheed Haque <shahh...@cisco.com>
Subject Re: MQTT Messaging + Python Cartridge Agent Testing Strategy
Date Thu, 25 Sep 2014 07:20:50 GMT

I knew that there was a Python Cartridge Agent in the works, but did I miss any recent 
the discussion of it? I provided some details comments/requirements on some related 
discussions in May/June [1],[2] but got no responses to suggest if those would be 
considered or not.

In case I have been asleep, one thing I would like to ensure the new agent supports is 
restartability. This is required because the CA is not stateless: at least in the 
start_servers extension point, when used in "proxy" mode [3], if the proxy server 
hosting the CAs for a bunch of proxied VMs dies, the current CA cannot be restarted 
on a failover server *in* the start_servers state.

Note that [3] was written originally in terms of the need to make a cartridge out of a 
VM that did not support Java: even with a Python CA the following two classes of 
equivalent problem still remain:
     *  VMs that don't have Python.
     *  "Hostile" VMs which are simply not open to having a CA inserted for 
Cartridgification.
These are surprisingly common in the NFV world.

Thanks, Shaheed

[1] Cartridge Agent Extension Points
[2] autoscaling - load average and memory consumption on docker/lxc instances
[3] Cartridge agent for a VM without Java


On Tuesday 23 Sep 2014 20:34:09 Chamila De Alwis wrote:


Hi,

For $subject, we decided to implement the following steps.

Following aspects need to be tested from agent's point of view.

1) Listening to and publishing instance related events2) Managing artifacts3) 
Managing tenants based on tenant related events4) Managing log publishing

We chose the following three cartridge types to cover the above basic scenarios.

1) PHP - Single tenant framework cartridge2) MySQL - Single tenant data cartridge3) 
WSO2AS - Multi tenant cartridge



The initial test cases are as follows.It is a work in progress, however further test cases

will be added in the future. 



Please add your suggestions on any improvements. 




*Cartridge Agent successfully publishes instance status events*
*Prerequisites *
Stratos Installed
Puppet master configured
Stratos policies deployed
A base cartridge configured
MySQL cartridge definition deployed




*Steps*
*Step*
*Expected result*
Log in to Stratos admin console
My Cartridges page will be displayed
Subscribe to MySQL cartridge
MySQL subscription page will be loaded
Enter a name for the cartridge and click Subscribe
Subscription page will be displayed with MySQL cartridge marked as subscribed
Wait until cartridge is spawned
wso2carbon.log will output "Instance is successfully starting up." when the instance is 
spawning.
SSH in to the spawned instance 
Successfully SSH in to the instance
Check the log file, /tmp/puppet_log 
/tmp/puppet_log will out put "Initialization completed successfully." after puppet has 
successfully configured the instance
Check the wso2carbon.log for the InstanceStartedEvent published from the cartridge 
agent
wso2carbon.log will output the received event details.
Check the wso2carbon.log for the InstanceActivatedEvent published from the cartridge 
agent
wso2carbon.log will output the received event details.












*Cartridge Agent successfully listenes to instance notifier events*
*Prerequisites *
Stratos Installed
Puppet master configured
Stratos policies deployed
A base cartridge configured
PHP cartridge definition deployed




*Steps*
*Step*
*Expected result*
Log in to Stratos admin console
My Cartridges page will be displayed
Mime
View raw message