There was a race condition when destroying a node in Abiquo using the 
ComputeService: jclouds performed the active wait until the node was in state 
TERMINATED, and used the transformation functions to convert an Abiquo 
VirtualMachine to a NodeMetadata. If the node was effectively deleted during 
this transformation, a NPE was raised. This is because there are a couple of 
API calls that are executed in that transformation to retrieve all information 
required to build the NodeMetadata.

To prevent this, the AbiquoComputeServiceAdapter will block until the node has 
been actually deleted instead of delegating that to jclouds. This way there is 
no need to run the transformation functions that had the race condition.
You can merge this Pull Request by running:

  git pull https://github.com/nacx/jclouds-labs 171-abiquo-destroy-node

Or you can view, comment on it, or merge it online at:

  https://github.com/jclouds/jclouds-labs/pull/11

-- Commit Summary --

  * JCLOUDS-171: Fixed NPE when destroying nodes in Abiquo

-- File Changes --

    M 
abiquo/src/main/java/org/jclouds/abiquo/compute/strategy/AbiquoComputeServiceAdapter.java
 (3)

-- Patch Links --

https://github.com/jclouds/jclouds-labs/pull/11.patch
https://github.com/jclouds/jclouds-labs/pull/11.diff

Reply via email to