Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
Deltacloud git commit version: c13da7b50bbbbdc529b42207f58dbe5099006ad1
RHEL 6.2, Fedora 16
Openstack V2.0
Description
Instance states: Instance go from RUNNING ->PENDING ->Not Existing. According to "instance states", the instances should transition from RUNNING -> STOPPING -> STOPPED
---------- output after stopping an instance ----------------
curl -X GET --user "<un>:<pw>" "http://qe-blade-14.idm.lab.bos.redhat.com:3008/api/instances?format=xml"
<?xml version='1.0' encoding='utf-8' ?>
<instances>
<instance href='http://qe-blade-14.idm.lab.bos.redhat.com:3008/api/instances/115705' id='115705'>
<name>rlandyGUIInstance</name>
<owner_id>rlandy@redhat.com</owner_id>
<image href='http://qe-blade-14.idm.lab.bos.redhat.com:3008/api/images/5575' id='5575'></image>
<realm href='http://qe-blade-14.idm.lab.bos.redhat.com:3008/api/realms/default' id='default'></realm>
<state>PENDING</state>
<hardware_profile href='http://qe-blade-14.idm.lab.bos.redhat.com:3008/api/hardware_profiles/101' id='101'>
</hardware_profile>
<actions>
</actions>
<public_addresses></public_addresses>
<private_addresses><address type='ipv4'>10.4.107.241</address>
<address type='ipv4'>15.185.101.117</address>
<address type='ipv4'>15.185.108.87</address></private_addresses>
<authentication type='password'>
<login>
<username>root</username>
<password><![CDATA[]]></password>
</login>
</authentication>
</instance>
</instances>
[rlandy@localhost ~]$ curl -X GET --user "<un>:<pw>" "http://qe-blade-14.idm.lab.bos.redhat.com:3008/api/instances?format=xml"
<?xml version='1.0' encoding='utf-8' ?>
<instances>
</instances>
-------- Now getting instance_states --------------
curl -X GET --user "<un>:<pw>" "http://qe-blade-14.idm.lab.bos.redhat.com:3008/api/instance_states?format=xml"
<states>
<state name='start'>
<transition action='create' to='pending'></transition>
</state>
<state name='pending'>
<transition auto='true' to='running'></transition>
</state>
<state name='running'>
<transition action='reboot' to='running'></transition>
<transition action='stop' to='stopping'></transition>
</state>
<state name='stopping'>
<transition auto='true' to='stopped'></transition>
</state>
<state name='stopped'>
<transition auto='true' to='finish'></transition>
</state>
<state name='finish'>
</state>
</states>
****************
Note from Marios:
Easy fix on deltacloud side - we need to be more fine grained in translating the state reported back from HP (right now, 'ACTIVE' becomes 'RUNNING' and everything else becomes 'PENDING' - so even when HP says 'DELETED', instead of reporting 'STOPPING' we say 'PENDING' and then the instance disappears...)
****************
Note from Matt Wagner:
(Openstack instance launched through Conductor) it seems like, when an instance is stopped, it immediately stops being reported, so Conductor marks it as 'vanished' because it never sees it in 'stopped' state before it disappears.
Not sure how much of that is the state change issue noted in Deltacloud, vs. how much is the OpenStack API itself immediately withdrawing instances after they are stopped.