Oh yes, I could not agree more. I am delighted to see progress on this front.

You might be interested to know that just in order to have extensibility in 
Python with the current Java CA (for the Health Statistics plugin), I had to 
implement a bridging plugin in Jython, but I would hesitate to call that a 
general solution (wonderful though Jython 2.7b3 is).

From: Lakmal Warusawithana [mailto:[email protected]]
Sent: 25 September 2014 09:31
To: [email protected]
Cc: Chamila De Alwis
Subject: Re: MQTT Messaging + Python Cartridge Agent Testing Strategy

Hi Shaheed,

All 3 mention thread has discussed lot of ideas.  As far as my understand all 
[1][2][3] will address eventually. As a first step we need to written in python 
is very important, what i can see, when we moving to docker, containers can 
boot up within 1,2 second and light weight agent is must. Also python more 
devops friendly interpreter language, its easy to extent when and there. IMO, 
we have to start in somewhere and keep improving it, to our needs

thanks

On Thu, Sep 25, 2014 at 12:50 PM, Shaheed Haque 
<[email protected]<mailto:[email protected]>> wrote:



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 events
2) Managing artifacts
3) Managing tenants based on tenant related events
4) Managing log publishing

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

1) PHP - Single tenant framework cartridge
2) MySQL - Single tenant data cartridge
3) 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


Subscribe to PHP cartridge


PHP subscription page will be loaded


Enter a name and the repository for the cartridge and click Subscribe


Subscription page will be displayed with PHP 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 for CompleteTopologyEvent and CompleteTenantEvent being listened to by 
the agent


/var/log/apache-stratos/cartridge-agent-extensions.log file will out put 
information received with the mentioned events


Update the remote repository with new files and check if the 
ArtifactUpdatedEvent was received by the cartridge agent


/var/log/apache-stratos/cartridge-agent-extensions.log file will out put 
information received with the mentioned events


Refresh the served pages and check if the updated pages are served


Web application is updated with the new artifacts



Regards,

Chamila de Alwis

Software Engineer | WSO2 | +94772207163<tel:%2B94772207163>

Blog:

code.chamiladealwis.com<http://code.chamiladealwis.com>







--
Lakmal Warusawithana
Vice President, Apache Stratos
Director - Cloud Architecture; WSO2 Inc.
Mobile : +94714289692
Blog : http://lakmalsview.blogspot.com/

Reply via email to