Zack,
I am able to reproduce this exception at will, using jclouds 1.8.0.
The exception appears associated with deleting the very last server on
the account, when it has a mixed-case name.
This was the ONLY server on my account. I could not get this to
reproduce with any other servers running, or even in a
creating/deleting/error state.
Here is the sequence:
1. Create a server on Rackspace (via website) named "Cloud-Server-01".
- If it's relevant, the server was subsequently connected to my
managed server network via RackConnect.
- If it's relevant, I created from a saved image.
2. Shut down the server using the below code (the ipAddr string passed
to the below code was "10.176.1.165")
nodes = computeService
.destroyNodesMatching(new Predicate<NodeMetadata>() {
@Override
public boolean apply(final NodeMetadata input) {
return input.getPrivateAddresses().contains(ipAddr);
}
});
Result: java.lang.IllegalArgumentException: Object 'Cloud-Server'
doesn't match dns naming constraints. Reason: Should be only lowercase.
Stack trace for the deletion-by-IP at: http://pastebin.com/gJ8ti7yX
Additionally I can reproduce the exception by destroying server by
groupname using
computeService.destroyNodesMatching(inGroup("Cloud-Server")). While
there is clearly a mixed-case string involved with this test, by the
time the code gets to the "cleanup" phase it's only passing around
NodeMetaData and not the string.
Stack trace for the group deletion: http://pastebin.com/NW76Vms5
Dan
On 8/11/14, 10:29 PM, Zack Shoylev wrote:
Hi Daniel,
I am still working on reproducing this, but have not been able to yet.
My (generic) advice for now would be to update to the latest jclouds (1.8.0)
and let us know if this happens again.
I will let you know if we make some progress reproducing this.
Also, if I remember correctly, the group is usually based on how the server is
named.
-Zack