Fix start/stop return active/stopped immediately in EC2 API
start/stop action is async. But the EC2 API is hard code the status as start/stop finished immediately. This patch fix start action return pending status, and stop action return stopping status. Change-Id: I0cf6db1dcb17c48a12fd62b0d707afd124b96b26 Closes-Bug: #1373230
This commit is contained in:
@@ -1072,7 +1072,7 @@ class CloudController(object):
|
||||
i['instanceId'] = ec2_id
|
||||
i['previousState'] = _state_description(previous_state['vm_state'],
|
||||
previous_state['shutdown_terminate'])
|
||||
i['currentState'] = _state_description(vm_states.STOPPED, True)
|
||||
i['currentState'] = _state_description(inst_state.STOPPING, True)
|
||||
instances_set.append(i)
|
||||
return {'instancesSet': instances_set}
|
||||
|
||||
@@ -1083,7 +1083,7 @@ class CloudController(object):
|
||||
i['instanceId'] = ec2_id
|
||||
i['previousState'] = _state_description(previous_state['vm_state'],
|
||||
previous_state['shutdown_terminate'])
|
||||
i['currentState'] = _state_description(vm_states.ACTIVE, True)
|
||||
i['currentState'] = _state_description(None, True)
|
||||
instances_set.append(i)
|
||||
return {'instancesSet': instances_set}
|
||||
|
||||
|
||||
@@ -2233,8 +2233,8 @@ class CloudTestCase(test.TestCase):
|
||||
{'instanceId': 'i-00000001',
|
||||
'previousState': {'code': 16,
|
||||
'name': 'running'},
|
||||
'currentState': {'code': 80,
|
||||
'name': 'stopped'}}]}
|
||||
'currentState': {'code': 64,
|
||||
'name': 'stopping'}}]}
|
||||
result = self.cloud.stop_instances(self.context, [instance_id])
|
||||
self.assertEqual(result, expected)
|
||||
|
||||
@@ -2242,8 +2242,8 @@ class CloudTestCase(test.TestCase):
|
||||
{'instanceId': 'i-00000001',
|
||||
'previousState': {'code': 80,
|
||||
'name': 'stopped'},
|
||||
'currentState': {'code': 16,
|
||||
'name': 'running'}}]}
|
||||
'currentState': {'code': 0,
|
||||
'name': 'pending'}}]}
|
||||
result = self.cloud.start_instances(self.context, [instance_id])
|
||||
self.assertEqual(result, expected)
|
||||
|
||||
@@ -2251,8 +2251,8 @@ class CloudTestCase(test.TestCase):
|
||||
{'instanceId': 'i-00000001',
|
||||
'previousState': {'code': 16,
|
||||
'name': 'running'},
|
||||
'currentState': {'code': 80,
|
||||
'name': 'stopped'}}]}
|
||||
'currentState': {'code': 64,
|
||||
'name': 'stopping'}}]}
|
||||
result = self.cloud.stop_instances(self.context, [instance_id])
|
||||
self.assertEqual(result, expected)
|
||||
|
||||
@@ -2278,8 +2278,8 @@ class CloudTestCase(test.TestCase):
|
||||
{'instanceId': 'i-00000001',
|
||||
'previousState': {'code': 80,
|
||||
'name': 'stopped'},
|
||||
'currentState': {'code': 16,
|
||||
'name': 'running'}}]}
|
||||
'currentState': {'code': 0,
|
||||
'name': 'pending'}}]}
|
||||
result = self.cloud.start_instances(self.context, [instance_id])
|
||||
self.assertEqual(result, expected)
|
||||
|
||||
@@ -2319,8 +2319,8 @@ class CloudTestCase(test.TestCase):
|
||||
{'instanceId': 'i-00000001',
|
||||
'previousState': {'code': 16,
|
||||
'name': 'running'},
|
||||
'currentState': {'code': 80,
|
||||
'name': 'stopped'}}]}
|
||||
'currentState': {'code': 64,
|
||||
'name': 'stopping'}}]}
|
||||
result = self.cloud.stop_instances(self.context, [instance_id])
|
||||
self.assertEqual(result, expected)
|
||||
|
||||
@@ -2426,8 +2426,8 @@ class CloudTestCase(test.TestCase):
|
||||
{'instanceId': 'i-00000001',
|
||||
'previousState': {'code': 16,
|
||||
'name': 'running'},
|
||||
'currentState': {'code': 80,
|
||||
'name': 'stopped'}}]}
|
||||
'currentState': {'code': 64,
|
||||
'name': 'stopping'}}]}
|
||||
result = self.cloud.stop_instances(self.context, [inst1])
|
||||
self.assertEqual(result, expected)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user