You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@whirr.apache.org by to...@apache.org on 2011/07/15 20:18:44 UTC

svn commit: r1147269 - in /incubator/whirr/trunk: CHANGES.txt core/src/main/java/org/apache/whirr/util/DnsUtil.java

Author: tomwhite
Date: Fri Jul 15 18:18:43 2011
New Revision: 1147269

URL: http://svn.apache.org/viewvc?rev=1147269&view=rev
Log:
WHIRR-338. byon cluster with hostnames defined in /etc/hosts. Contributed by Bruno Dumon.

Modified:
    incubator/whirr/trunk/CHANGES.txt
    incubator/whirr/trunk/core/src/main/java/org/apache/whirr/util/DnsUtil.java

Modified: incubator/whirr/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/incubator/whirr/trunk/CHANGES.txt?rev=1147269&r1=1147268&r2=1147269&view=diff
==============================================================================
--- incubator/whirr/trunk/CHANGES.txt (original)
+++ incubator/whirr/trunk/CHANGES.txt Fri Jul 15 18:18:43 2011
@@ -31,6 +31,9 @@ Trunk (unreleased changes)
     WHIRR-331. Add the ability to specify tarball URLs that are local 
     to the remote machine (asavu)
 
+    WHIRR-338. byon cluster with hostnames defined in /etc/hosts.
+    (Bruno Dumon via tomwhite)
+
   BUG FIXES
 
     WHIRR-315. Temporary override Providers#withIds until jclouds 

Modified: incubator/whirr/trunk/core/src/main/java/org/apache/whirr/util/DnsUtil.java
URL: http://svn.apache.org/viewvc/incubator/whirr/trunk/core/src/main/java/org/apache/whirr/util/DnsUtil.java?rev=1147269&r1=1147268&r2=1147269&view=diff
==============================================================================
--- incubator/whirr/trunk/core/src/main/java/org/apache/whirr/util/DnsUtil.java (original)
+++ incubator/whirr/trunk/core/src/main/java/org/apache/whirr/util/DnsUtil.java Fri Jul 15 18:18:43 2011
@@ -19,6 +19,7 @@
 package org.apache.whirr.util;
 
 import java.io.IOException;
+import java.net.InetSocketAddress;
 
 import org.xbill.DNS.DClass;
 import org.xbill.DNS.ExtendedResolver;
@@ -54,9 +55,10 @@ public class DnsUtil {
     Message response = res.send(query);
 
     Record[] answers = response.getSectionArray(Section.ANSWER);
-    if (answers.length == 0)
-      return hostIp;
-    else {
+    if (answers.length == 0) {
+      // Fall back to standard Java: in contrast to dnsjava, this also reads /etc/hosts
+      return new InetSocketAddress(hostIp, 0).getAddress().getCanonicalHostName();
+    } else {
       String revaddr = answers[0].rdataToString();
       return revaddr.endsWith(".") ? revaddr.substring(0, revaddr.length() - 1) : revaddr;
     }