You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by al...@apache.org on 2015/07/29 01:13:08 UTC

[4/6] incubator-brooklyn git commit: Set subnet_address if has HasNetworkAddresses.privateAddresses

Set subnet_address if has HasNetworkAddresses.privateAddresses


Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/4980904f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/4980904f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/4980904f

Branch: refs/heads/master
Commit: 4980904fe1a93f5b5580484ccc5124d2a68152c4
Parents: 9633236
Author: Aled Sage <al...@gmail.com>
Authored: Fri Jul 24 19:15:43 2015 -0700
Committer: Aled Sage <al...@gmail.com>
Committed: Mon Jul 27 13:50:00 2015 +0100

----------------------------------------------------------------------
 core/src/main/java/brooklyn/location/basic/Machines.java | 11 +++++++++++
 1 file changed, 11 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4980904f/core/src/main/java/brooklyn/location/basic/Machines.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/location/basic/Machines.java b/core/src/main/java/brooklyn/location/basic/Machines.java
index 103870f..7c143a8 100644
--- a/core/src/main/java/brooklyn/location/basic/Machines.java
+++ b/core/src/main/java/brooklyn/location/basic/Machines.java
@@ -21,16 +21,20 @@ package brooklyn.location.basic;
 import java.net.InetAddress;
 import java.util.Collection;
 import java.util.Iterator;
+import java.util.Set;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.google.common.collect.Iterables;
+
 import brooklyn.entity.Entity;
 import brooklyn.entity.basic.Attributes;
 import brooklyn.location.Location;
 import brooklyn.location.MachineLocation;
 import brooklyn.location.basic.LocalhostMachineProvisioningLocation.LocalhostMachine;
 import brooklyn.util.guava.Maybe;
+import brooklyn.util.net.HasNetworkAddresses;
 
 /** utilities for working with MachineLocations */
 public class Machines {
@@ -38,6 +42,7 @@ public class Machines {
     private static final Logger log = LoggerFactory.getLogger(Machines.class);
     
     public static Maybe<String> getSubnetHostname(Location where) {
+        // TODO Should we look at HasNetworkAddresses? But that's not a hostname.
         String hostname = null;
         if (where instanceof HasSubnetHostname) {
             hostname = ((HasSubnetHostname) where).getSubnetHostname();
@@ -58,6 +63,12 @@ public class Machines {
         if (where instanceof HasSubnetHostname) {
             result = ((HasSubnetHostname) where).getSubnetIp();
         }
+        if (where instanceof HasNetworkAddresses) {
+            Set<String> privateAddrs = ((HasNetworkAddresses) where).getPrivateAddresses();
+            if (privateAddrs.size() > 0) {
+                result = Iterables.get(privateAddrs, 0);
+            }
+        }
         if (result == null && where instanceof MachineLocation) {
             InetAddress addr = ((MachineLocation) where).getAddress();
             if (addr != null) result = addr.getHostAddress();