In this commit [1] I changed the predicate that checks if the node is running to monitor the status of the droplet instead of the creation event, to avoid race conditions I found in the state changes. And it seems I silently broke seceral things.
The offending line is this one [2]. It should use the "dropletCreated.id()" instead of the id of the action. There is no exception thrown because there is no status check after the predicate times out. A status check should be added immediately after the predicate is called, like in the status change methods [3]. Those methods are wrong too. The predicate should take the dropletId and not the event. You may also need to have a look at the tests. Ping us if you need help or ask directly in the #jclouds IRC at Freenode. I. [1] https://github.com/jclouds/jclouds-labs/commit/3e4ae9980fdb55bc6fd6217801d0e1d76b0ca742 [2] https://github.com/jclouds/jclouds-labs/blob/master/digitalocean2/src/main/java/org/jclouds/digitalocean2/compute/DigitalOcean2ComputeServiceAdapter.java#L121 [3] https://github.com/jclouds/jclouds-labs/blob/master/digitalocean2/src/main/java/org/jclouds/digitalocean2/compute/DigitalOcean2ComputeServiceAdapter.java#L218-241 Hi everyone, I found a problem with digitalocean2, as the instances takes about 5 minutes to build because of jclouds is checking the incorrect droplet id when the build is on progress. I have created a ticket at https://issues.apache.org/jira/browse/JCLOUDS-1027, a fix would be greatly appreciated. I wish I could try to fix it myself, but I am having some trouble with jclouds development environment - I will send the details in another email. Regards, Ruben