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 2016/10/05 20:13:48 UTC
[2/4] brooklyn-server git commit: pollForFirstReachableEnabled only
if WAIT_FOR_WINRM_AVAILABLE or WAIT_FOR_SSHABLE
pollForFirstReachableEnabled only if WAIT_FOR_WINRM_AVAILABLE or WAIT_FOR_SSHABLE
Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo
Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/4feaf810
Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/4feaf810
Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/4feaf810
Branch: refs/heads/master
Commit: 4feaf810f2616ee832e28192fab9abb213841e48
Parents: 00f5457
Author: Valentin Aitken <bo...@gmail.com>
Authored: Tue Oct 4 20:09:44 2016 +0300
Committer: Valentin Aitken <bo...@gmail.com>
Committed: Tue Oct 4 22:18:00 2016 +0300
----------------------------------------------------------------------
.../brooklyn/location/jclouds/JcloudsLocation.java | 15 ++++++++-------
.../JcloudsReachableAddressStubbedTest.java | 8 ++++----
2 files changed, 12 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/4feaf810/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsLocation.java
----------------------------------------------------------------------
diff --git a/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsLocation.java b/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsLocation.java
index f521d81..422dc66 100644
--- a/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsLocation.java
+++ b/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsLocation.java
@@ -774,9 +774,9 @@ public class JcloudsLocation extends AbstractCloudMachineProvisioningLocation im
String vmHostname = getPublicHostname(node, sshHostAndPortOverride, userCredentials, setup);
LoginCredentials initialCredentials = node.getCredentials();
- final HostAndPort managementHostAndPort = resolveManagementHostAndPort(computeService, node, vmHostname, sshHostAndPortOverride, setup);
+ boolean waitForConnectable = (windows) ? waitForWinRmable : waitForSshable;
+ final HostAndPort managementHostAndPort = resolveManagementHostAndPort(computeService, node, vmHostname, sshHostAndPortOverride, waitForConnectable, setup);
if (skipJcloudsSshing) {
- boolean waitForConnectable = (windows) ? waitForWinRmable : waitForSshable;
if (waitForConnectable) {
if (windows) {
// TODO Does jclouds support any windows user setup?
@@ -1955,13 +1955,13 @@ public class JcloudsLocation extends AbstractCloudMachineProvisioningLocation im
return userCreation.createdUserCredentials;
}
- protected HostAndPort resolveManagementHostAndPort(ComputeService computeService, NodeMetadata node, String vmHostname, Optional<HostAndPort> hostAndPortOverride, ConfigBag config) {
- return resolveManagementHostAndPort(computeService, node, vmHostname, hostAndPortOverride, config, false);
+ protected HostAndPort resolveManagementHostAndPort(ComputeService computeService, NodeMetadata node, String vmHostname, Optional<HostAndPort> hostAndPortOverride, boolean waitForMakingManagementConnection, ConfigBag config) {
+ return resolveManagementHostAndPort(computeService, node, vmHostname, hostAndPortOverride, config, waitForMakingManagementConnection, false);
}
- protected HostAndPort resolveManagementHostAndPort(ComputeService computeService, NodeMetadata node, String vmHostname, Optional<HostAndPort> hostAndPortOverride, ConfigBag config, boolean useOnlyVmHostNameAndHostAndPortOverride) {
+ protected HostAndPort resolveManagementHostAndPort(ComputeService computeService, NodeMetadata node, String vmHostname, Optional<HostAndPort> hostAndPortOverride, ConfigBag config, boolean waitForMakingManagementConnection, boolean useOnlyVmHostNameAndHostAndPortOverride) {
String pollForFirstReachable = config.get(POLL_FOR_FIRST_REACHABLE_ADDRESS);
- boolean pollForFirstReachableEnabled = !useOnlyVmHostNameAndHostAndPortOverride && !"false".equalsIgnoreCase(pollForFirstReachable);
+ boolean pollForFirstReachableEnabled = !useOnlyVmHostNameAndHostAndPortOverride && !"false".equalsIgnoreCase(pollForFirstReachable) && waitForMakingManagementConnection;
String managementAddress = hostAndPortOverride.isPresent() ? hostAndPortOverride.get().getHostText() :
(pollForFirstReachableEnabled ? getFirstReachableAddress(node, config) : vmHostname);
@@ -2295,7 +2295,8 @@ public class JcloudsLocation extends AbstractCloudMachineProvisioningLocation im
protected JcloudsMachineLocation registerMachineLocation(ConfigBag setup, NodeMetadata node) {
ComputeService computeService = getComputeService(setup);
String vmHostname = getPublicHostname(node, Optional.<HostAndPort>absent(), Suppliers.<LoginCredentials>ofInstance(null), setup);
- HostAndPort managementHostAndPort = resolveManagementHostAndPort(computeService, node, vmHostname, Optional.<HostAndPort>absent(), setup, true);
+ boolean waitForMakingManagementConnection = isWindows(node, setup) ? !"false".equalsIgnoreCase(setup.get(WAIT_FOR_WINRM_AVAILABLE)) : !"false".equalsIgnoreCase(setup.get(WAIT_FOR_SSHABLE));
+ HostAndPort managementHostAndPort = resolveManagementHostAndPort(computeService, node, vmHostname, Optional.<HostAndPort>absent(), setup, waitForMakingManagementConnection, true);
if (isWindows(node, setup)) {
return registerWinRmMachineLocation(computeService, node, managementHostAndPort, Optional.<HostAndPort>absent(), setup);
} else {
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/4feaf810/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/networking/JcloudsReachableAddressStubbedTest.java
----------------------------------------------------------------------
diff --git a/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/networking/JcloudsReachableAddressStubbedTest.java b/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/networking/JcloudsReachableAddressStubbedTest.java
index 2ba966b..8f78d94 100644
--- a/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/networking/JcloudsReachableAddressStubbedTest.java
+++ b/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/networking/JcloudsReachableAddressStubbedTest.java
@@ -183,7 +183,7 @@ public class JcloudsReachableAddressStubbedTest extends AbstractJcloudsLiveTest
* Only one public and one private; private is reachable;
* With waitForSshable=true; pollForFirstReachableAddress=true; and custom reachable-predicate
*/
- @Test(enabled = false, groups = "WIP")
+ @Test
public void testMachineUsesVanillaPrivateAddress() throws Exception {
initNodeCreatorAndJcloudsLocation(ImmutableList.of("1.1.1.1"), ImmutableList.of("2.1.1.1"), ImmutableMap.of());
reachableIp = "2.1.1.1";
@@ -197,7 +197,7 @@ public class JcloudsReachableAddressStubbedTest extends AbstractJcloudsLiveTest
assertEquals(RecordingSshTool.getLastExecCmd().constructorProps.get(SshTool.PROP_HOST.getName()), reachableIp);
assertEquals(machine.getAddress().getHostAddress(), reachableIp);
- assertEquals(machine.getHostname(), reachableIp);
+ assertEquals(machine.getHostname(), "1.1.1.1");
assertEquals(machine.getSubnetIp(), reachableIp);
}
@@ -205,7 +205,7 @@ public class JcloudsReachableAddressStubbedTest extends AbstractJcloudsLiveTest
* Multiple public addresses; chooses the reachable one;
* With waitForSshable=true; pollForFirstReachableAddress=true; and custom reachable-predicate
*/
- @Test(enabled = false, groups = "WIP")
+ @Test
public void testMachineUsesReachablePublicAddress() throws Exception {
initNodeCreatorAndJcloudsLocation(ImmutableList.of("1.1.1.1", "1.1.1.2", "1.1.1.2"), ImmutableList.of("2.1.1.1"), ImmutableMap.of());
reachableIp = "1.1.1.2";
@@ -219,7 +219,7 @@ public class JcloudsReachableAddressStubbedTest extends AbstractJcloudsLiveTest
assertEquals(RecordingSshTool.getLastExecCmd().constructorProps.get(SshTool.PROP_HOST.getName()), reachableIp);
assertEquals(machine.getAddress().getHostAddress(), reachableIp);
- assertEquals(machine.getHostname(), reachableIp);
+ assertEquals(machine.getHostname(), "1.1.1.1");
assertEquals(machine.getSubnetIp(), "2.1.1.1");
}