Return-Path: X-Original-To: apmail-brooklyn-commits-archive@minotaur.apache.org Delivered-To: apmail-brooklyn-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 37E2A1883C for ; Mon, 24 Aug 2015 08:54:03 +0000 (UTC) Received: (qmail 38287 invoked by uid 500); 24 Aug 2015 08:54:00 -0000 Delivered-To: apmail-brooklyn-commits-archive@brooklyn.apache.org Received: (qmail 38265 invoked by uid 500); 24 Aug 2015 08:54:00 -0000 Mailing-List: contact commits-help@brooklyn.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@brooklyn.incubator.apache.org Delivered-To: mailing list commits@brooklyn.incubator.apache.org Received: (qmail 38250 invoked by uid 99); 24 Aug 2015 08:54:00 -0000 Received: from Unknown (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 24 Aug 2015 08:54:00 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id A9DCC1826D6 for ; Mon, 24 Aug 2015 08:53:59 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 0.775 X-Spam-Level: X-Spam-Status: No, score=0.775 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.006, URIBL_BLOCKED=0.001] autolearn=disabled Received: from mx1-eu-west.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id ijuEUeaBl62o for ; Mon, 24 Aug 2015 08:53:51 +0000 (UTC) Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx1-eu-west.apache.org (ASF Mail Server at mx1-eu-west.apache.org) with SMTP id 2C27025CD9 for ; Mon, 24 Aug 2015 08:53:50 +0000 (UTC) Received: (qmail 38098 invoked by uid 99); 24 Aug 2015 08:53:49 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 24 Aug 2015 08:53:49 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 4A617E0509; Mon, 24 Aug 2015 08:53:49 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: sjcorbett@apache.org To: commits@brooklyn.incubator.apache.org Date: Mon, 24 Aug 2015 08:53:52 -0000 Message-Id: <337bc460332840adae6805c10e526471@git.apache.org> In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [4/6] incubator-brooklyn git commit: ByonLocationResolver handles non-lowercase values for osFamily ByonLocationResolver handles non-lowercase values for osFamily Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/c3e027b8 Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/c3e027b8 Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/c3e027b8 Branch: refs/heads/master Commit: c3e027b80826427d04e3b726bf9f71f24fc46103 Parents: d6f2f38 Author: Sam Corbett Authored: Tue Aug 18 18:19:21 2015 +0100 Committer: Sam Corbett Committed: Fri Aug 21 10:16:43 2015 +0100 ---------------------------------------------------------------------- .../brooklyn/core/location/BasicLocationRegistry.java | 2 +- .../brooklyn/location/byon/ByonLocationResolver.java | 9 +++++++-- .../location/byon/ByonLocationResolverTest.java | 14 ++++++++++---- 3 files changed, 18 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/c3e027b8/core/src/main/java/org/apache/brooklyn/core/location/BasicLocationRegistry.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/brooklyn/core/location/BasicLocationRegistry.java b/core/src/main/java/org/apache/brooklyn/core/location/BasicLocationRegistry.java index f8b7c73..573da76 100644 --- a/core/src/main/java/org/apache/brooklyn/core/location/BasicLocationRegistry.java +++ b/core/src/main/java/org/apache/brooklyn/core/location/BasicLocationRegistry.java @@ -334,7 +334,7 @@ public class BasicLocationRegistry implements LocationRegistry { try { return Maybe.of(resolver.newLocationFromString(locationFlags, spec, this)); } catch (RuntimeException e) { - return Maybe.absent(Suppliers.ofInstance(e)); + return Maybe.absent(Suppliers.ofInstance(e)); } } http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/c3e027b8/core/src/main/java/org/apache/brooklyn/location/byon/ByonLocationResolver.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/brooklyn/location/byon/ByonLocationResolver.java b/core/src/main/java/org/apache/brooklyn/location/byon/ByonLocationResolver.java index 2705f65..bef0046 100644 --- a/core/src/main/java/org/apache/brooklyn/location/byon/ByonLocationResolver.java +++ b/core/src/main/java/org/apache/brooklyn/location/byon/ByonLocationResolver.java @@ -22,6 +22,7 @@ import static com.google.common.base.Preconditions.checkArgument; import java.net.InetAddress; import java.util.List; +import java.util.Locale; import java.util.Map; import org.apache.brooklyn.api.location.Location; @@ -98,7 +99,7 @@ public class ByonLocationResolver extends AbstractLocationResolver { config.remove("hosts"); String user = (String) config.getStringKey("user"); Integer port = (Integer) TypeCoercions.coerce(config.getStringKey("port"), Integer.class); - Class locationClass = OS_TO_MACHINE_LOCATION_TYPE.get(config.get(OS_FAMILY)); + Class locationClass = getLocationClass(config.get(OS_FAMILY)); MutableMap defaultProps = MutableMap.of(); defaultProps.addIfNotNull("user", user); @@ -199,12 +200,16 @@ public class ByonLocationResolver extends AbstractLocationResolver { Class locationClassHere = locationClass; if (osfamily != null) { - locationClassHere = OS_TO_MACHINE_LOCATION_TYPE.get(osfamily); + locationClassHere = getLocationClass(osfamily); } return LocationSpec.create(locationClassHere).configure(machineConfig); } + private Class getLocationClass(String osFamily) { + return osFamily == null ? null : OS_TO_MACHINE_LOCATION_TYPE.get(osFamily.toLowerCase(Locale.ENGLISH)); + } + protected LocationSpec parseMachine(String val, Class locationClass, Map defaults, String specForErrMsg) { Map machineConfig = Maps.newLinkedHashMap(); http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/c3e027b8/core/src/test/java/org/apache/brooklyn/location/byon/ByonLocationResolverTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/brooklyn/location/byon/ByonLocationResolverTest.java b/core/src/test/java/org/apache/brooklyn/location/byon/ByonLocationResolverTest.java index 8e4e71a..51120e0 100644 --- a/core/src/test/java/org/apache/brooklyn/location/byon/ByonLocationResolverTest.java +++ b/core/src/test/java/org/apache/brooklyn/location/byon/ByonLocationResolverTest.java @@ -56,6 +56,7 @@ import org.slf4j.LoggerFactory; import org.testng.Assert; import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeMethod; +import org.testng.annotations.DataProvider; import org.testng.annotations.Test; import com.google.common.base.Function; @@ -332,14 +333,19 @@ public class ByonLocationResolverTest { Assert.assertEquals("1.1.1.1", location1.getAddress().getHostAddress()); } - @Test - public void testWindowsMachines() throws Exception { + @DataProvider(name = "windowsOsFamilies") + public Object[][] getWindowsOsFamilies() { + return new Object[][]{{"windows"}, {"WINDOWS"}, {"wInDoWs"}}; + } + + @Test(dataProvider = "windowsOsFamilies") + public void testWindowsMachines(String osFamily) throws Exception { brooklynProperties.put("brooklyn.location.byon.user", "myuser"); brooklynProperties.put("brooklyn.location.byon.password", "mypassword"); String spec = "byon"; Map flags = ImmutableMap.of( "hosts", ImmutableList.of("1.1.1.1", "2.2.2.2"), - "osfamily", "windows" + "osfamily", osFamily ); MachineProvisioningLocation provisioner = resolve(spec, flags); WinRmMachineLocation location = (WinRmMachineLocation) provisioner.obtain(ImmutableMap.of()); @@ -350,7 +356,7 @@ public class ByonLocationResolverTest { } @Test - public void testNoneWindowsMachines() throws Exception { + public void testNonWindowsMachines() throws Exception { String spec = "byon"; Map flags = ImmutableMap.of( "hosts", ImmutableList.of("1.1.1.1", "2.2.2.2"),