Hi Reka,

Shall we move LocationScope class to where Topology classes resides?(May be
rename as CloudPartition)
This is similar to cloud partition we use in Autoscaler. So we can re use
this.

Also in topology we should keep the Partition as an instance of Member
Object for explaining member information.
Cloud controller can add it when member life cycle starts itself.
Autoscaler uses it.


Thanks.



On Thu, Oct 24, 2013 at 12:07 PM, Reka Thirunavukkarasu <[email protected]>wrote:

> Hi Lahiru,
>
> Sorry for the delay..I have made the changes to the interface as following:
>
>  /**
>      * Calling this method will spawn more than one ininstances in the
>       * specified locationScope for the particular cluster
>
>      *
>      * @param clusterId
>      *            cluster ID of the instance to be started up.
>      * @param noOfInstancesToBeSpawned
>      *            no of instances 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, int noOfInstancesToBeSpawned);
>
>
>   /**
>      * Calling this method will result in termination of an instance which
> is belong
>      * to the provided cluster Id and the location scope..
>      *
>      * @param noOfInstances
>      *            no of instances to be started up
>
>      * @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 noOfInstances, String
> clusterId, LocationScope locationScope);
>
> Thanks,
> Reka
>
>
> On Wed, Oct 23, 2013 at 3:21 PM, Reka Thirunavukkarasu <[email protected]>wrote:
>
>> +1. Will define the interface for that and share it with you ASAP..
>>
>> Thanks,
>> Reka
>>
>>
>> On Wed, Oct 23, 2013 at 3:17 PM, Lahiru Sandaruwan <[email protected]>wrote:
>>
>>> 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
>>>
>>>
>>
>>
>> --
>> Reka Thirunavukkarasu
>> Software Engineer,
>> WSO2, Inc.:http://wso2.com,
>> Mobile: +94776442007
>>
>>
>>
>
>
> --
> 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