Hi Reka,

Thanks and looks good.
Shall we also introduce an interfaces for spawning and terminating several
instances at once?

These instances might be from different partitions. i.e. spawn 1 instance
from EC2, Asia region and spawn 2 instances from EC2, Europe region. Same
way for termination.

Thanks.


On Tue, Oct 22, 2013 at 10:48 AM, Reka Thirunavukkarasu <[email protected]>wrote:

> Hi Lahiru and Devs,
>
> Please find the service methods to talk to jclouds as below. Also, Please
> provide your suggestions to make the interface more flexible. Let me
> explain, why we have to change the interface?
>
> With the new architecture, autoscaler can take more robust decision from
> the stats, its collects from the Event Processing Engine. In the case of
> scale down or scale up, it can start/terminate instances  within a cloud,
> within a region, within a zone, within a network and within a host. If any
> of them is not specified in the Locationscope, the cloud controller will
> take the decision with the default location. Also, autoscaler can terminate
> the unhealthy instances by providing the instance ID.
>
>   /**
>      * Calling this method will result in an instance startup, which is
> belong
>      * to the provided Cluster ID. Also note that the instance that is
> starting up
>      * belongs to the group whose name is derived from its Cluster ID,
> replacing <i>.</i>
>      * by a hyphen (<i>-</i>).
>      *
>      * @param clusterId
>      *            cluster ID of the instance to be started up.
>      * @param locationScope
>      *            It contains the region, zone, network and host of a IaaS
> where
>      *            an instance need to be started.
>      * @return public IP which is associated with the newly started
> instance.
>      */
>     public String startInstance(String clusterId, LocationScope
> locationScope);
>
>     /**
>      * Calling this method will result in termination of an instance which
> is belong
>      * to the provided cluster Id and the location scope..
>      *
>      * @param clusterId
>      *            cluster ID of the instance to be terminated.
>      * @param locationScope
>      *            It contains the region, zone, network and host of a IaaS
> where
>      *            an instance need to be terminated..
>      * @return whether an instance terminated successfully or not.
>      */
>     public boolean terminateInstance(String clusterId, LocationScope
> locationScope);
>
>      /**
>      * Calling this method will result in termination of an instance which
> is belong
>      * to the provided instance Id.
>      *
>      * @param instanceId
>      *            instance Id of the instance to be terminated.
>      * @return whether an instance terminated successfully or not.
>      */
>     public boolean terminateInstance(String instanceId);
>
>     /**
>      * Calling this method will result in termination of all instances
> belong
>      * to the provided cluster ID.
>      *
>      * @param clusterId
>      *            cluster ID of the instance to be terminated.
>      * @return whether an instance terminated successfully or not.
>      */
>     public boolean terminateAllInstances(String clusterId);
>
>
>     /**
>      * Calling this method will result in termination of the lastly
> spawned instance which is
>      * belong to the provided clusterID.
>      *
>      * @param clusterId
>      *            service domain of the instance to be terminated.
>      * @return whether the termination is successful or not.
>      */
>     public boolean terminateLastlySpawnedInstance(String clusterId);
>
>
> The LocationScope can be found as below:
>
> public class LocationScope {
>     private String zone;
>     private String network;
>     private String host;
>     private String region;
>     private String cloud;
> ............
> }
>
>
> Thanks,
> Reka
>
>
> On Tue, Oct 22, 2013 at 8:09 AM, Lahiru Sandaruwan <[email protected]>wrote:
>
>> Hi Reka,
>>
>> What will be the $subject? Just want to get an idea what kind of service
>> methods they would be.
>>
>> Thanks.
>>
>> --
>> --
>> Lahiru Sandaruwan
>> Software Engineer,
>> Platform Technologies,
>> WSO2 Inc., http://wso2.com
>> lean.enterprise.middleware
>>
>> email: [email protected] cell: (+94) 773 325 954
>> blog: http://lahiruwrites.blogspot.com/
>> twitter: http://twitter.com/lahirus
>> linked-in: http://lk.linkedin.com/pub/lahiru-sandaruwan/16/153/146
>>
>>
>
>
> --
> Reka Thirunavukkarasu
> Software Engineer,
> WSO2, Inc.:http://wso2.com,
> Mobile: +94776442007
>
>
>


-- 
--
Lahiru Sandaruwan
Software Engineer,
Platform Technologies,
WSO2 Inc., http://wso2.com
lean.enterprise.middleware

email: [email protected] cell: (+94) 773 325 954
blog: http://lahiruwrites.blogspot.com/
twitter: http://twitter.com/lahirus
linked-in: http://lk.linkedin.com/pub/lahiru-sandaruwan/16/153/146

Reply via email to