SLIDER-1259 Slider does not work in multi homed environments. It now uses the value of yarn.nodemanager.bind-host to set the hostname, if set
Contributed by Steve Loughran.
diff --git a/slider-core/src/main/java/org/apache/slider/server/appmaster/SliderAppMaster.java b/slider-core/src/main/java/org/apache/slider/server/appmaster/SliderAppMaster.java
index c12fae8..b416bed 100644
--- a/slider-core/src/main/java/org/apache/slider/server/appmaster/SliderAppMaster.java
+++ b/slider-core/src/main/java/org/apache/slider/server/appmaster/SliderAppMaster.java
@@ -1678,7 +1678,16 @@
             protobufRelay);
 
     int port = getPortToRequest();
-    InetSocketAddress rpcAddress = new InetSocketAddress("0.0.0.0", port);
+
+    // use the same host and address options as the NM
+    InetSocketAddress rpcAddress = getConfig().getSocketAddr(
+        YarnConfiguration.NM_BIND_HOST,
+        YarnConfiguration.NM_ADDRESS,
+        "0.0.0.0:" + port,
+        port);
+    // but force in the desired port, irrespective of the value
+    // in the configuration fields.
+    rpcAddress = new InetSocketAddress(rpcAddress.getAddress(), port);
     rpcService =
         new WorkflowRpcService("SliderRPC",
             RpcBinder.createProtobufServer(rpcAddress, getConfig(),