You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@stratos.apache.org by Imesh Gunaratne <im...@apache.org> on 2013/12/26 10:19:12 UTC

[Discuss] [Milestone] [M5] Integration Test Results

Hi All,

An integration test was carried out on the latest code base and the basic
functional tests were passed.
Please find test scenario details below:

*Test Flow*

1. A new Stratos environment was installed on Amazon EC2:

1.1 The following products were installed and configured on a single node.
Installation instructions will be added to Wiki.
- Cloud Controller
- Autoscaler
- Stratos Manager
- Complex Event Processor
- Message Broker

1.2 A Puppet Master was installed on a separate virtual machine.
1.3 A base cartridge image was created with Puppet Agent.
1.4 A load balancer cartridge was created (non puppet).
1.5 A set of puppet scripts were created to setup a PHP cartridge using
puppet. These files are checked into git.

2. A sample partition, deployment policy, autoscaling policy, load balancer
cartridge and PHP cartridge were defined in JSON. Please fine these
artifacts attached with this mail.

3. Stratos servers and Puppet Master were started.

4. Artifacts defined in step 2 were deployed via the Stratos CLI in the
following order:
- Partition
- Deployment Policy
- Autoscaling Policy
- Load Balancer Cartridge
- PHP Cartridge

5. A subscription was made to the PHP service via the Stratos CLI.

*Test Result*

1. A load balancer instance was spawned for the given network partition
(also known as the partition group).
2. A PHP instance was spawned in the given cloud partition.
3. PHP instance was joined to the load balancer.
4. Cartridge Agent in load balancer and PHP instance were sending
statistics to CEP.
5. CEP was sending summarized statistics to Autoscaler.


*Scale Up Test Flow* *(Autoscaling)*

1. One php instance was running.
2. Average In-Flight Request Count defined in autoscaling policy was 10.
3. A request load was sent to the PHP cluster using 100 clients
simultaneously (simulated via Apache JMeter).
4. Two new PHP instances were spawned.
5. The resulting PHP instance count was 3.

*Trace Log*

TID: [0] [Autoscaler] [2013-12-25 22:18:48,541] DEBUG
{org.apache.stratos.autoscaler.rule.RuleLog} -  Running scale up rule:
[network-partition] partition-group1
{org.apache.stratos.autoscaler.rule.RuleLog}
TID: [0] [Autoscaler] [2013-12-25 22:18:48,553] DEBUG
{org.apache.stratos.autoscaler.rule.RuleLog} -  algorithm name
one-after-another {org.apache.stratos.autoscaler.rule.RuleLog}
TID: [0] [Autoscaler] [2013-12-25 22:18:48,554] DEBUG
{org.apache.stratos.autoscaler.rule.RuleTasksDelegator} -  Partition
algorithm is  {org.apache.stratos.autoscaler.rule.RuleTasksDelegator}
TID: [0] [Autoscaler] [2013-12-25 22:18:48,555] DEBUG
{org.apache.stratos.autoscaler.rule.RuleLog} -  algorithm
org.apache.stratos.autoscaler.algorithm.OneAfterAnother@2bab7497{org.apache.stratos.autoscaler.rule.RuleLog}
TID: [0] [Autoscaler] [2013-12-25 22:18:48,558] DEBUG
{org.apache.stratos.autoscaler.algorithm.OneAfterAnother} -  Selecting a
partition from 'One After Another' algorithm, 1 partitions in the [network
partition]: partition-group1
{org.apache.stratos.autoscaler.algorithm.OneAfterAnother}
TID: [0] [Autoscaler] [2013-12-25 22:18:48,558] DEBUG
{org.apache.stratos.autoscaler.algorithm.OneAfterAnother} -  Free space
found in partition p1
{org.apache.stratos.autoscaler.algorithm.OneAfterAnother}
TID: [0] [Autoscaler] [2013-12-25 22:18:48,579] DEBUG
{org.apache.stratos.autoscaler.rule.RuleLog} -  predicted value:
192.1147417128086 {org.apache.stratos.autoscaler.rule.RuleLog}
TID: [0] [Autoscaler] [2013-12-25 22:18:48,579] DEBUG
{org.apache.stratos.autoscaler.rule.RuleLog} -  average limit:
10.0{org.apache.stratos.autoscaler.rule.RuleLog}
TID: [0] [Autoscaler] [2013-12-25 22:18:48,581] DEBUG
{org.apache.stratos.autoscaler.rule.RuleLog} -  scale-up factor:
0.8{org.apache.stratos.autoscaler.rule.RuleLog}
TID: [0] [Autoscaler] [2013-12-25 22:18:48,585] DEBUG
{org.apache.stratos.autoscaler.rule.RuleLog} -  scaling up
{org.apache.stratos.autoscaler.rule.RuleLog}




*EC2 Instances[image: Inline image 1]*

Please feel free to add your thoughts to this.

Many Thanks
Imesh

Re: [Discuss] [Milestone] [M5] Integration Test Results

Posted by Imesh Gunaratne <im...@apache.org>.
+1 There are more flows to be documented and tested.

Thanks


On Thu, Dec 26, 2013 at 2:56 PM, Nirmal Fernando <ni...@gmail.com>wrote:

> Hi Imesh,
>
> In addition to these, we need to verify the scaling down too IMO.
> Basically, once the load test is stopped, instances should scale down
> gradually and Stratos should keep the minimum instance count intact.
>
>
> On Thu, Dec 26, 2013 at 2:49 PM, Imesh Gunaratne <im...@apache.org> wrote:
>
>> Hi All,
>>
>> An integration test was carried out on the latest code base and the basic
>> functional tests were passed.
>> Please find test scenario details below:
>>
>> *Test Flow*
>>
>> 1. A new Stratos environment was installed on Amazon EC2:
>>
>> 1.1 The following products were installed and configured on a single
>> node. Installation instructions will be added to Wiki.
>> - Cloud Controller
>> - Autoscaler
>> - Stratos Manager
>> - Complex Event Processor
>> - Message Broker
>>
>> 1.2 A Puppet Master was installed on a separate virtual machine.
>> 1.3 A base cartridge image was created with Puppet Agent.
>> 1.4 A load balancer cartridge was created (non puppet).
>> 1.5 A set of puppet scripts were created to setup a PHP cartridge using
>> puppet. These files are checked into git.
>>
>> 2. A sample partition, deployment policy, autoscaling policy, load
>> balancer cartridge and PHP cartridge were defined in JSON. Please fine
>> these artifacts attached with this mail.
>>
>> 3. Stratos servers and Puppet Master were started.
>>
>> 4. Artifacts defined in step 2 were deployed via the Stratos CLI in the
>> following order:
>> - Partition
>> - Deployment Policy
>> - Autoscaling Policy
>> - Load Balancer Cartridge
>> - PHP Cartridge
>>
>> 5. A subscription was made to the PHP service via the Stratos CLI.
>>
>> *Test Result*
>>
>> 1. A load balancer instance was spawned for the given network partition
>> (also known as the partition group).
>> 2. A PHP instance was spawned in the given cloud partition.
>> 3. PHP instance was joined to the load balancer.
>> 4. Cartridge Agent in load balancer and PHP instance were sending
>> statistics to CEP.
>> 5. CEP was sending summarized statistics to Autoscaler.
>>
>>
>> *Scale Up Test Flow* *(Autoscaling)*
>>
>> 1. One php instance was running.
>> 2. Average In-Flight Request Count defined in autoscaling policy was 10.
>> 3. A request load was sent to the PHP cluster using 100 clients
>> simultaneously (simulated via Apache JMeter).
>> 4. Two new PHP instances were spawned.
>> 5. The resulting PHP instance count was 3.
>>
>> *Trace Log*
>>
>> TID: [0] [Autoscaler] [2013-12-25 22:18:48,541] DEBUG
>> {org.apache.stratos.autoscaler.rule.RuleLog} -  Running scale up rule:
>> [network-partition] partition-group1
>> {org.apache.stratos.autoscaler.rule.RuleLog}
>> TID: [0] [Autoscaler] [2013-12-25 22:18:48,553] DEBUG
>> {org.apache.stratos.autoscaler.rule.RuleLog} -  algorithm name
>> one-after-another {org.apache.stratos.autoscaler.rule.RuleLog}
>> TID: [0] [Autoscaler] [2013-12-25 22:18:48,554] DEBUG
>> {org.apache.stratos.autoscaler.rule.RuleTasksDelegator} -  Partition
>> algorithm is  {org.apache.stratos.autoscaler.rule.RuleTasksDelegator}
>> TID: [0] [Autoscaler] [2013-12-25 22:18:48,555] DEBUG
>> {org.apache.stratos.autoscaler.rule.RuleLog} -  algorithm
>> org.apache.stratos.autoscaler.algorithm.OneAfterAnother@2bab7497{org.apache.stratos.autoscaler.rule.RuleLog}
>> TID: [0] [Autoscaler] [2013-12-25 22:18:48,558] DEBUG
>> {org.apache.stratos.autoscaler.algorithm.OneAfterAnother} -  Selecting a
>> partition from 'One After Another' algorithm, 1 partitions in the [network
>> partition]: partition-group1
>> {org.apache.stratos.autoscaler.algorithm.OneAfterAnother}
>> TID: [0] [Autoscaler] [2013-12-25 22:18:48,558] DEBUG
>> {org.apache.stratos.autoscaler.algorithm.OneAfterAnother} -  Free space
>> found in partition p1
>> {org.apache.stratos.autoscaler.algorithm.OneAfterAnother}
>> TID: [0] [Autoscaler] [2013-12-25 22:18:48,579] DEBUG
>> {org.apache.stratos.autoscaler.rule.RuleLog} -  predicted value:
>> 192.1147417128086 {org.apache.stratos.autoscaler.rule.RuleLog}
>> TID: [0] [Autoscaler] [2013-12-25 22:18:48,579] DEBUG
>> {org.apache.stratos.autoscaler.rule.RuleLog} -  average limit: 10.0{org.apache.stratos.autoscaler.rule.RuleLog}
>> TID: [0] [Autoscaler] [2013-12-25 22:18:48,581] DEBUG
>> {org.apache.stratos.autoscaler.rule.RuleLog} -  scale-up factor: 0.8{org.apache.stratos.autoscaler.rule.RuleLog}
>> TID: [0] [Autoscaler] [2013-12-25 22:18:48,585] DEBUG
>> {org.apache.stratos.autoscaler.rule.RuleLog} -  scaling up
>> {org.apache.stratos.autoscaler.rule.RuleLog}
>>
>>
>>
>>
>> *EC2 Instances[image: Inline image 1]*
>>
>> Please feel free to add your thoughts to this.
>>
>> Many Thanks
>> Imesh
>>
>>
>
>
> --
> Best Regards,
> Nirmal
>
> Nirmal Fernando.
> PPMC Member & Committer of Apache Stratos,
> Senior Software Engineer, WSO2 Inc.
>
> Blog: http://nirmalfdo.blogspot.com/
>

Re: [Discuss] [Milestone] [M5] Integration Test Results

Posted by Nirmal Fernando <ni...@gmail.com>.
Hi Imesh,

In addition to these, we need to verify the scaling down too IMO.
Basically, once the load test is stopped, instances should scale down
gradually and Stratos should keep the minimum instance count intact.


On Thu, Dec 26, 2013 at 2:49 PM, Imesh Gunaratne <im...@apache.org> wrote:

> Hi All,
>
> An integration test was carried out on the latest code base and the basic
> functional tests were passed.
> Please find test scenario details below:
>
> *Test Flow*
>
> 1. A new Stratos environment was installed on Amazon EC2:
>
> 1.1 The following products were installed and configured on a single node.
> Installation instructions will be added to Wiki.
> - Cloud Controller
> - Autoscaler
> - Stratos Manager
> - Complex Event Processor
> - Message Broker
>
> 1.2 A Puppet Master was installed on a separate virtual machine.
> 1.3 A base cartridge image was created with Puppet Agent.
> 1.4 A load balancer cartridge was created (non puppet).
> 1.5 A set of puppet scripts were created to setup a PHP cartridge using
> puppet. These files are checked into git.
>
> 2. A sample partition, deployment policy, autoscaling policy, load
> balancer cartridge and PHP cartridge were defined in JSON. Please fine
> these artifacts attached with this mail.
>
> 3. Stratos servers and Puppet Master were started.
>
> 4. Artifacts defined in step 2 were deployed via the Stratos CLI in the
> following order:
> - Partition
> - Deployment Policy
> - Autoscaling Policy
> - Load Balancer Cartridge
> - PHP Cartridge
>
> 5. A subscription was made to the PHP service via the Stratos CLI.
>
> *Test Result*
>
> 1. A load balancer instance was spawned for the given network partition
> (also known as the partition group).
> 2. A PHP instance was spawned in the given cloud partition.
> 3. PHP instance was joined to the load balancer.
> 4. Cartridge Agent in load balancer and PHP instance were sending
> statistics to CEP.
> 5. CEP was sending summarized statistics to Autoscaler.
>
>
> *Scale Up Test Flow* *(Autoscaling)*
>
> 1. One php instance was running.
> 2. Average In-Flight Request Count defined in autoscaling policy was 10.
> 3. A request load was sent to the PHP cluster using 100 clients
> simultaneously (simulated via Apache JMeter).
> 4. Two new PHP instances were spawned.
> 5. The resulting PHP instance count was 3.
>
> *Trace Log*
>
> TID: [0] [Autoscaler] [2013-12-25 22:18:48,541] DEBUG
> {org.apache.stratos.autoscaler.rule.RuleLog} -  Running scale up rule:
> [network-partition] partition-group1
> {org.apache.stratos.autoscaler.rule.RuleLog}
> TID: [0] [Autoscaler] [2013-12-25 22:18:48,553] DEBUG
> {org.apache.stratos.autoscaler.rule.RuleLog} -  algorithm name
> one-after-another {org.apache.stratos.autoscaler.rule.RuleLog}
> TID: [0] [Autoscaler] [2013-12-25 22:18:48,554] DEBUG
> {org.apache.stratos.autoscaler.rule.RuleTasksDelegator} -  Partition
> algorithm is  {org.apache.stratos.autoscaler.rule.RuleTasksDelegator}
> TID: [0] [Autoscaler] [2013-12-25 22:18:48,555] DEBUG
> {org.apache.stratos.autoscaler.rule.RuleLog} -  algorithm
> org.apache.stratos.autoscaler.algorithm.OneAfterAnother@2bab7497{org.apache.stratos.autoscaler.rule.RuleLog}
> TID: [0] [Autoscaler] [2013-12-25 22:18:48,558] DEBUG
> {org.apache.stratos.autoscaler.algorithm.OneAfterAnother} -  Selecting a
> partition from 'One After Another' algorithm, 1 partitions in the [network
> partition]: partition-group1
> {org.apache.stratos.autoscaler.algorithm.OneAfterAnother}
> TID: [0] [Autoscaler] [2013-12-25 22:18:48,558] DEBUG
> {org.apache.stratos.autoscaler.algorithm.OneAfterAnother} -  Free space
> found in partition p1
> {org.apache.stratos.autoscaler.algorithm.OneAfterAnother}
> TID: [0] [Autoscaler] [2013-12-25 22:18:48,579] DEBUG
> {org.apache.stratos.autoscaler.rule.RuleLog} -  predicted value:
> 192.1147417128086 {org.apache.stratos.autoscaler.rule.RuleLog}
> TID: [0] [Autoscaler] [2013-12-25 22:18:48,579] DEBUG
> {org.apache.stratos.autoscaler.rule.RuleLog} -  average limit: 10.0{org.apache.stratos.autoscaler.rule.RuleLog}
> TID: [0] [Autoscaler] [2013-12-25 22:18:48,581] DEBUG
> {org.apache.stratos.autoscaler.rule.RuleLog} -  scale-up factor: 0.8{org.apache.stratos.autoscaler.rule.RuleLog}
> TID: [0] [Autoscaler] [2013-12-25 22:18:48,585] DEBUG
> {org.apache.stratos.autoscaler.rule.RuleLog} -  scaling up
> {org.apache.stratos.autoscaler.rule.RuleLog}
>
>
>
>
> *EC2 Instances[image: Inline image 1]*
>
> Please feel free to add your thoughts to this.
>
> Many Thanks
> Imesh
>
>


-- 
Best Regards,
Nirmal

Nirmal Fernando.
PPMC Member & Committer of Apache Stratos,
Senior Software Engineer, WSO2 Inc.

Blog: http://nirmalfdo.blogspot.com/