Fix OpenStack Alpha No Longer Returning Node Data on Server Create #40
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
WHY THIS HAD TO BE DONE
OpenStack Alpha at http://alpha.auth.api.rackspacecloud.com:5000/v2.0/ has started conforming to the spec and not returning any node data back except for new password on node create.
See: http://docs.openstack.org/cactus/openstack-compute/developer/openstack-compute-api-1.1/content/CreateServers.html
"Note that when creating a server only the server ID, its links, and the admin password are guaranteed to be returned in the request. Additional attributes may be retrieved by performing subsequent GETs on the server."
Specifically the OpenStack 1.1 node driver was failing on create_node as it was attempting to fill the information to create a libcloud node from the server response (which is not just returning ID and admin password).
WHAT
The implementation I took here was to do the follow-up GET to get the node information. There is enough information returned there to make a libcloud node object, though some of it won't be filled in until the server has gone from BUILD to ACTIVE (for example, ip addresses).
I changed some of the create_node test data to match the existing asserts.