FINALLY figured out what is going on here...
Turns out that the instance dict returned from POST /servers recently changed. The key_name key was added to this return.
However, the instance dicts returned in a call to GET /servers DO NOT contain this key_name key. This is what caused the line:
self.assertTrue(self.s1 in servers)
to fail, because the dicts were not equal, as shown in this Python shell output:
>>> print sorted(d.keys()) [u'OS-DCF:diskConfig', u'OS-EXT-STS:power_state', u'OS-EXT-STS:task_state', u'OS-EXT-STS:vm_state', u'accessIPv4', u'accessIPv6', u'addresses', u'config_drive', u'created', u'flavor', u'hostId', u'id', u'image', u'key_name', u'links', u'metadata', u'name', u'progress', u'status', u'tenant_id', u'updated', u'user_id'] >>> print sorted(i1[0].keys()) [u'OS-DCF:diskConfig', u'OS-EXT-STS:power_state', u'OS-EXT-STS:task_state', u'OS-EXT-STS:vm_state', u'accessIPv4', u'accessIPv6', u'addresses', u'config_drive', u'created', u'flavor', u'hostId', u'id', u'image', u'links', u'metadata', u'name', u'progress', u'status', u'tenant_id', u'updated', u'user_id']
The top dict is what is returned from POST /servers and the bottom dict is what is returned from GET /servers.
Bottom line solution is really to fix the fragile test in Tempest. That said, however, it is a good warning when API results change in Nova! :)
FINALLY figured out what is going on here...
Turns out that the instance dict returned from POST /servers recently changed. The key_name key was added to this return.
However, the instance dicts returned in a call to GET /servers DO NOT contain this key_name key. This is what caused the line:
self.assertTrue (self.s1 in servers)
to fail, because the dicts were not equal, as shown in this Python shell output:
>>> print sorted(d.keys()) diskConfig' , u'OS-EXT- STS:power_ state', u'OS-EXT- STS:task_ state', u'OS-EXT- STS:vm_ state', u'accessIPv4', u'accessIPv6', u'addresses', u'config_drive', u'created', u'flavor', u'hostId', u'id', u'image', u'key_name', u'links', u'metadata', u'name', u'progress', u'status', u'tenant_id', u'updated', u'user_id'] i1[0].keys( )) diskConfig' , u'OS-EXT- STS:power_ state', u'OS-EXT- STS:task_ state', u'OS-EXT- STS:vm_ state', u'accessIPv4', u'accessIPv6', u'addresses', u'config_drive', u'created', u'flavor', u'hostId', u'id', u'image', u'links', u'metadata', u'name', u'progress', u'status', u'tenant_id', u'updated', u'user_id']
[u'OS-DCF:
>>> print sorted(
[u'OS-DCF:
The top dict is what is returned from POST /servers and the bottom dict is what is returned from GET /servers.
Bottom line solution is really to fix the fragile test in Tempest. That said, however, it is a good warning when API results change in Nova! :)