Fix the current state name as 'shutting-down'

Currently, the TerminateInstance returns the currentstate name
as previous state name. Ideally the TerminateInstance return
element's currentstate named as "shutting-down".

Addressed the issue and below is the terminateinstance response with fix:
==
<TerminateInstancesResponse xmlns="http://ec2.amazonaws.com/doc/2013-10-15/">
  <requestId>req-c15f5c7d-2551-4a08-b8b8-255462a09592</requestId>
  <instancesSet>
    <item>
      <instanceId>i-00000001</instanceId>
      <currentState>
        <code>32</code>
        <name>shutting-down</name>
      </currentState>
      <previousState>
        <code>16</code>
        <name>running</name>
      </previousState>
    </item>
  </instancesSet>
</TerminateInstancesResponse>
==

And also updated the testcases in nova/tests/api/ec2/test_cloud.py
appropriately.

Closes-bug: #1322025

Change-Id: I790e7d86ef8fd9f4fc1612bae2788e0ae7ef9719
This commit is contained in:
Swami Reddy 2014-08-27 14:03:05 +05:30
parent 3ab81c9b3e
commit e15ce7735e
2 changed files with 18 additions and 18 deletions

View File

@ -1060,8 +1060,8 @@ class CloudController(object):
i['currentState'] = _state_description(instance['vm_state'],
instance['shutdown_terminate'])
except exception.NotFound:
i['currentState'] = _state_description(vm_states.DELETED,
True)
i['currentState'] = _state_description(
inst_state.SHUTTING_DOWN, True)
instances_set.append(i)
return {'instancesSet': instances_set}

View File

@ -2260,8 +2260,8 @@ class CloudTestCase(test.TestCase):
{'instanceId': 'i-00000001',
'previousState': {'code': 80,
'name': 'stopped'},
'currentState': {'code': 48,
'name': 'terminated'}}]}
'currentState': {'code': 32,
'name': 'shutting-down'}}]}
result = self.cloud.terminate_instances(self.context, [instance_id])
self.assertEqual(result, expected)
@ -2287,8 +2287,8 @@ class CloudTestCase(test.TestCase):
{'instanceId': 'i-00000001',
'previousState': {'code': 16,
'name': 'running'},
'currentState': {'code': 48,
'name': 'terminated'}}]}
'currentState': {'code': 32,
'name': 'shutting-down'}}]}
result = self.cloud.terminate_instances(self.context, [instance_id])
self.assertEqual(result, expected)
self._restart_compute_service()
@ -2328,8 +2328,8 @@ class CloudTestCase(test.TestCase):
{'instanceId': 'i-00000001',
'previousState': {'code': 80,
'name': 'stopped'},
'currentState': {'code': 48,
'name': 'terminated'}}]}
'currentState': {'code': 32,
'name': 'shutting-down'}}]}
result = self.cloud.terminate_instances(self.context, [instance_id])
self.assertEqual(result, expected)
self._restart_compute_service()
@ -2365,8 +2365,8 @@ class CloudTestCase(test.TestCase):
{'instanceId': 'i-00000001',
'previousState': {'code': 16,
'name': 'running'},
'currentState': {'code': 48,
'name': 'terminated'}}]}
'currentState': {'code': 32,
'name': 'shutting-down'}}]}
result = self.cloud.terminate_instances(self.context, [instance_id])
self.assertEqual(result, expected)
self._restart_compute_service()
@ -2409,8 +2409,8 @@ class CloudTestCase(test.TestCase):
{'instanceId': 'i-00000001',
'previousState': {'code': 16,
'name': 'running'},
'currentState': {'code': 48,
'name': 'terminated'}}]}
'currentState': {'code': 32,
'name': 'shutting-down'}}]}
result = self.cloud.terminate_instances(self.context, [instance_id])
self.assertEqual(result, expected)
self._restart_compute_service()
@ -2435,13 +2435,13 @@ class CloudTestCase(test.TestCase):
{'instanceId': 'i-00000001',
'previousState': {'code': 80,
'name': 'stopped'},
'currentState': {'code': 48,
'name': 'terminated'}},
'currentState': {'code': 32,
'name': 'shutting-down'}},
{'instanceId': 'i-00000002',
'previousState': {'code': 16,
'name': 'running'},
'currentState': {'code': 48,
'name': 'terminated'}}]}
'currentState': {'code': 32,
'name': 'shutting-down'}}]}
result = self.cloud.terminate_instances(self.context, [inst1, inst2])
self.assertEqual(result, expected)
self._restart_compute_service()
@ -2801,8 +2801,8 @@ class CloudTestCase(test.TestCase):
{'instanceId': instance_id,
'previousState': {'code': 16,
'name': 'running'},
'currentState': {'code': 48,
'name': 'terminated'}}]}
'currentState': {'code': 32,
'name': 'shutting-down'}}]}
result = self.cloud.terminate_instances(self.context,
[instance_id])
self.assertEqual(result, expected)