stratos-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Imesh Gunaratne (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (STRATOS-322) Cloud Controller StartInstance() Method is Not Atomic
Date Sat, 28 Dec 2013 21:12:50 GMT

     [ 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)

Mime
View raw message