This issue may be related, or may be completely different than Sunil
Shah's recent thread on 2-letter DNS names when creating GCE nodes, but
ultimately boils down to the same exception at the same line of code. I
debated whether to reply to that thread or start a new one, and elected
the latter. I will take a look at JIRA where the issues may possibly be
combined.
My specific symptoms/situation:
- jclouds 1.7.3
- I had manually created (through website API) several Rackspace cloud
servers, with the names Cloud-Server-30, Cloud-Server-31, etc. These
were the default names provided on the website and I chose (by virtue of
laziness) to leave them as they were.
- My code deletes these servers when it is done using them. I do this
by passing the private IP address of the server to this code:
nodes = computeService
.destroyNodesMatching(new Predicate<NodeMetadata>() {
@Override
public boolean apply(final NodeMetadata input) {
return input.getPrivateAddresses().contains(ipAddr);
}
});
- Note that my code never uses the server name, nor is even aware of
it. I simply want to tell Rackspace, "delete the server with this IP
address."
- This code worked fine for 34 out of 35 servers, 15 of which had
Cloud-Server-## names. However, on the very last server (named
Cloud-Server-35), passing the String ipAddr = "10.208.232.65" , I got
this exception:
java.lang.IllegalArgumentException: Object 'Cloud-Server' doesn't
match dns naming constraints. Reason: Should be only lowercase.
- Full stack trace here: http://pastebin.com/PKuMqkqz (ServerDeletor:110
is the destroyNodesMatching() call listed above.)