[ 
https://issues.apache.org/jira/browse/STRATOS-322?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Imesh Gunaratne updated STRATOS-322:
------------------------------------

    Fix Version/s: 4.0.0 M5

> Cloud Controller StartInstance() Method is Not Atomic
> -----------------------------------------------------
>
>                 Key: STRATOS-322
>                 URL: https://issues.apache.org/jira/browse/STRATOS-322
>             Project: Stratos
>          Issue Type: Bug
>            Reporter: Imesh Gunaratne
>            Assignee: Lahiru Sandaruwan
>             Fix For: 4.0.0 M5
>
>
> As we found when Autoscaler invokes the StartInstance() service method in 
> Cloud Controller it spawn a new VM instance and then try to execute the 
> following operations:
> 1. Assign a public IP
> 2. Publish Instance Spawned event.
> However if an error occurred while trying to assign a public IP (even after 
> spawning the instance) the StartInstance() method throw an exception to the 
> caller. As a result Autoscaler assume that the instance was not spawned and 
> another call is made. This is not correct.
> Proposed Solution:
> 1. Autoscaler invokes cloud controller -> startInstance() 
> 2. Cloud controller:
>     2.1 Spawn a new instance
>     2.2 Start a background thread to assign IPs
>     2.3 Send the Instance Spawned event if IPs successfully assigned in the 
> background thread.
>     2.4 Return the startInstance() method call without waiting for the above 
> background thread.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to