You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by ha...@apache.org on 2015/08/14 05:42:35 UTC
[06/54] incubator-brooklyn git commit: [BROOKLYN-162] Renaming
package brooklyn.location
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/provider/AwsEc2LocationWindowsLiveTest.groovy
----------------------------------------------------------------------
diff --git a/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/provider/AwsEc2LocationWindowsLiveTest.groovy b/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/provider/AwsEc2LocationWindowsLiveTest.groovy
new file mode 100644
index 0000000..092c85c
--- /dev/null
+++ b/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/provider/AwsEc2LocationWindowsLiveTest.groovy
@@ -0,0 +1,95 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.brooklyn.location.jclouds.provider;
+
+import static org.testng.Assert.*
+
+import org.slf4j.Logger
+import org.slf4j.LoggerFactory
+import org.testng.annotations.AfterMethod
+import org.testng.annotations.BeforeMethod
+import org.testng.annotations.Test
+
+import brooklyn.entity.basic.Entities
+import org.apache.brooklyn.location.basic.SshMachineLocation
+import org.apache.brooklyn.location.jclouds.JcloudsLocation
+import org.apache.brooklyn.location.jclouds.JcloudsSshMachineLocation
+import org.apache.brooklyn.api.management.ManagementContext
+
+import com.google.common.collect.ImmutableMap
+
+public class AwsEc2LocationWindowsLiveTest {
+ private static final Logger LOG = LoggerFactory.getLogger(AwsEc2LocationWindowsLiveTest.class)
+
+ private static final String PROVIDER = "aws-ec2"
+ private static final String EUWEST_REGION_NAME = "eu-west-1"
+ private static final String EUWEST_IMAGE_ID = EUWEST_REGION_NAME+"/"+"ami-7f0c260b";//"ami-41d3d635"
+ private static final String LOCATION_ID = "jclouds:"+PROVIDER+":"+EUWEST_REGION_NAME;
+
+ protected JcloudsLocation loc;
+ protected Collection<SshMachineLocation> machines = []
+ protected ManagementContext ctx;
+
+ @BeforeMethod(groups = "Live")
+ public void setUp() {
+ ctx = Entities.newManagementContext(ImmutableMap.of("provider", PROVIDER));
+
+ loc = ctx.locationRegistry.resolve LOCATION_ID
+ }
+
+ @AfterMethod(groups = "Live")
+ public void tearDown() {
+ List<Exception> exceptions = []
+ machines.each {
+ try {
+ loc?.release(it)
+ } catch (Exception e) {
+ LOG.warn("Error releasing machine $it; continuing...", e)
+ exceptions.add(e)
+ }
+ }
+ if (exceptions) {
+ throw exceptions.get(0)
+ }
+ machines.clear()
+ }
+
+ // TODO Note careful choice of image due to jclouds 1.4 issue 886
+ // TODO Blocks for long time, waiting for IP:22 to be reachable, before falling back to using public IP
+ // 10*2 minutes per attempt in jclouds 1.4 because done sequentially, and done twice by us so test takes 40 minutes!
+ @Test(enabled=true, groups = [ "Live" ])
+ public void testProvisionWindowsVm() {
+ JcloudsSshMachineLocation machine = obtainMachine([ imageId:EUWEST_IMAGE_ID ]);
+
+ LOG.info("Provisioned Windows VM {}; checking if has password", machine)
+ assertNotNull(machine.waitForPassword())
+ }
+
+ // Use this utility method to ensure machines are released on tearDown
+ protected SshMachineLocation obtainMachine(Map flags) {
+ SshMachineLocation result = loc.obtain(flags)
+ machines.add(result)
+ return result
+ }
+
+ protected SshMachineLocation release(SshMachineLocation machine) {
+ machines.remove(machine)
+ loc.release(machine)
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/provider/CarrenzaLocationLiveTest.groovy
----------------------------------------------------------------------
diff --git a/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/provider/CarrenzaLocationLiveTest.groovy b/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/provider/CarrenzaLocationLiveTest.groovy
new file mode 100644
index 0000000..3c23328
--- /dev/null
+++ b/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/provider/CarrenzaLocationLiveTest.groovy
@@ -0,0 +1,133 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.brooklyn.location.jclouds.provider;
+
+import static org.testng.Assert.*
+
+import org.slf4j.Logger
+import org.slf4j.LoggerFactory
+import org.testng.annotations.AfterMethod
+import org.testng.annotations.BeforeMethod
+import org.testng.annotations.Test
+
+import brooklyn.config.BrooklynProperties
+import org.apache.brooklyn.location.basic.SshMachineLocation
+import org.apache.brooklyn.location.jclouds.JcloudsLocation
+import org.apache.brooklyn.location.jclouds.JcloudsSshMachineLocation
+import brooklyn.management.internal.LocalManagementContext
+import brooklyn.util.collections.MutableMap
+
+import com.google.common.collect.ImmutableList
+
+/**
+ * Tests vcloud, with Carrenza. Uses the cloudsoft test account (hard-coding its NAT Mapping,
+ * and one of its private vApp templates). Note that the template is for a Windows 2008
+ * machine with winsshd installed.
+ *
+ * TODO Will only work with >= jclouds 1.5, due to jclouds issues 994 and 995. Therefore it
+ * will not work in brooklyn 0.4.0-M2 etc.
+ */
+class CarrenzaLocationLiveTest {
+ private static final Logger LOG = LoggerFactory.getLogger(CarrenzaLocationLiveTest.class)
+
+ private static final String PROVIDER = "vcloud"
+ private static final String ENDPOINT = "https://myvdc.carrenza.net/api"
+ private static final String LOCATION_ID = "jclouds:"+PROVIDER+":"+ENDPOINT;
+ private static final String WINDOWS_IMAGE_ID = "https://myvdc.carrenza.net/api/v1.0/vAppTemplate/vappTemplate-2bd5b0ff-ecd9-405e-8306-2f4f6c092a1b"
+
+ private BrooklynProperties brooklynProperties;
+ private LocalManagementContext managementContext;
+ private JcloudsLocation loc;
+ private Collection<SshMachineLocation> machines = []
+
+ // TODO Has not been tested since updating ot remove use of deleted LocationRegistry!
+ @BeforeMethod(groups = "Live")
+ public void setUp() {
+ System.out.println("classpath="+System.getProperty("java.class.path"));
+
+ brooklynProperties = BrooklynProperties.Factory.newDefault();
+ brooklynProperties.remove("brooklyn.jclouds."+PROVIDER+".image-description-regex");
+ brooklynProperties.remove("brooklyn.jclouds."+PROVIDER+".image-name-regex");
+ brooklynProperties.remove("brooklyn.jclouds."+PROVIDER+".image-id");
+ brooklynProperties.remove("brooklyn.jclouds."+PROVIDER+".inboundPorts");
+ brooklynProperties.remove("brooklyn.jclouds."+PROVIDER+".hardware-id");
+
+ // Also removes scriptHeader (e.g. if doing `. ~/.bashrc` and `. ~/.profile`, then that can cause "stdin: is not a tty")
+ brooklynProperties.remove("brooklyn.ssh.config.scriptHeader");
+
+ brooklynProperties.put("brooklyn.jclouds."+PROVIDER+".jclouds.endpoint", ENDPOINT)
+ brooklynProperties.put("brooklyn.jclouds."+PROVIDER+".imageId", WINDOWS_IMAGE_ID)
+ brooklynProperties.put("brooklyn.jclouds."+PROVIDER+".noDefaultSshKeys", true)
+ brooklynProperties.put("brooklyn.jclouds."+PROVIDER+".userName", "Administrator")
+ brooklynProperties.put("brooklyn.jclouds."+PROVIDER+".dontCreateUser", true)
+ brooklynProperties.put("brooklyn.jclouds."+PROVIDER+".overrideLoginUser", "Administrator")
+ brooklynProperties.put("brooklyn.jclouds."+PROVIDER+".waitForSshable", false)
+ brooklynProperties.put("brooklyn.jclouds."+PROVIDER+".runAsRoot", false)
+ brooklynProperties.put("brooklyn.jclouds."+PROVIDER+".inboundPorts", [22, 3389])
+ brooklynProperties.put("brooklyn.jclouds."+PROVIDER+".natMapping", [("192.168.0.100"):"195.3.186.200", ("192.168.0.101"):"195.3.186.42"])
+
+ managementContext = new LocalManagementContext(brooklynProperties);
+ loc = (JcloudsLocation) managementContext.getLocationRegistry().resolve(LOCATION_ID);
+ }
+
+ @AfterMethod(groups = "Live")
+ public void tearDown() {
+ List<Exception> exceptions = []
+ machines.each {
+ try {
+ loc?.release(it)
+ } catch (Exception e) {
+ LOG.warn("Error releasing machine $it; continuing...", e)
+ exceptions.add(e)
+ }
+ }
+ if (exceptions) {
+ throw exceptions.get(0)
+ }
+ machines.clear()
+ }
+
+ // FIXME Disabled because of jclouds issues #994 and #995 (fixed in jclouds 1.5, so not in brooklyn 0.4.0-M2 etc)
+ // Note the careful settings in setUp (e.g. so don't try to install ssh-keys etc
+ // Also, the windows image used has winsshd installed
+ @Test(enabled=false, groups = [ "Live" ])
+ public void testProvisionWindowsVm() {
+ JcloudsSshMachineLocation machine = obtainMachine(MutableMap.of(
+ "imageId", WINDOWS_IMAGE_ID));
+
+ LOG.info("Provisioned Windows VM {}; checking if has password", machine)
+ String password = machine.waitForPassword();
+ assertNotNull(password);
+
+ LOG.info("Checking can ssh to windows machine {} using password {}", machine, password);
+ assertEquals(machine.execCommands(MutableMap.of("password", password), "check-reachable", ImmutableList.of("hostname")), 0);
+ }
+
+ // Use this utility method to ensure machines are released on tearDown
+ protected SshMachineLocation obtainMachine(Map flags) {
+ SshMachineLocation result = loc.obtain(flags)
+ machines.add(result)
+ return result
+ }
+
+ protected SshMachineLocation release(SshMachineLocation machine) {
+ machines.remove(machine)
+ loc.release(machine)
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/provider/GoGridLocationLiveTest.groovy
----------------------------------------------------------------------
diff --git a/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/provider/GoGridLocationLiveTest.groovy b/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/provider/GoGridLocationLiveTest.groovy
new file mode 100644
index 0000000..5276302
--- /dev/null
+++ b/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/provider/GoGridLocationLiveTest.groovy
@@ -0,0 +1,52 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.brooklyn.location.jclouds.provider
+
+import org.testng.annotations.DataProvider
+
+public class GoGridLocationLiveTest extends AbstractJcloudsLocationTest {
+
+ private static final String PROVIDER = "gogrid"
+ private static final String USWEST_REGION_NAME = "1"//"us-west-1"
+ private static final String USWEST_IMAGE_ID = "1532"
+ private static final String IMAGE_NAME_PATTERN = "CentOS 5.3 (64-bit) w/ None"
+ private static final String IMAGE_OWNER = null
+
+ public GoGridLocationLiveTest() {
+ super(PROVIDER)
+ }
+
+ @Override
+ @DataProvider(name = "fromImageId")
+ public Object[][] cloudAndImageIds() {
+ return [ [USWEST_REGION_NAME, USWEST_IMAGE_ID, IMAGE_OWNER] ]
+ }
+
+ @Override
+ @DataProvider(name = "fromImageNamePattern")
+ public Object[][] cloudAndImageNamePatterns() {
+ return [ [USWEST_REGION_NAME, IMAGE_NAME_PATTERN, IMAGE_OWNER] ]
+ }
+
+ @Override
+ @DataProvider(name = "fromImageDescriptionPattern")
+ public Object[][] cloudAndImageDescriptionPatterns() {
+ return []
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/provider/RackspaceLocationLiveTest.java
----------------------------------------------------------------------
diff --git a/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/provider/RackspaceLocationLiveTest.java b/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/provider/RackspaceLocationLiveTest.java
new file mode 100644
index 0000000..737723a
--- /dev/null
+++ b/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/provider/RackspaceLocationLiveTest.java
@@ -0,0 +1,83 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.brooklyn.location.jclouds.provider;
+
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertTrue;
+
+import java.util.Map;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.testng.annotations.DataProvider;
+import org.testng.annotations.Test;
+
+import org.apache.brooklyn.location.basic.SshMachineLocation;
+import org.apache.brooklyn.location.jclouds.JcloudsLocation;
+import org.apache.brooklyn.location.jclouds.JcloudsSshMachineLocation;
+import brooklyn.util.collections.MutableMap;
+
+public class RackspaceLocationLiveTest extends AbstractJcloudsLocationTest {
+
+ private static final Logger LOG = LoggerFactory.getLogger(RackspaceLocationLiveTest.class);
+
+ private static final String PROVIDER = "rackspace-cloudservers-uk";
+ private static final String REGION_NAME = null;
+ private static final String IMAGE_ID = "LON/f70ed7c7-b42e-4d77-83d8-40fa29825b85"; // CentOS 6.4
+ private static final String IMAGE_NAME_PATTERN = "CentOS 6.4";
+ private static final String IMAGE_OWNER = null;
+
+ public RackspaceLocationLiveTest() {
+ super(PROVIDER);
+ }
+
+ @Override
+ @DataProvider(name = "fromImageId")
+ public Object[][] cloudAndImageIds() {
+ return new Object[][] {
+ new Object[] { REGION_NAME, IMAGE_ID, IMAGE_OWNER }
+ };
+ }
+
+ @Override
+ @DataProvider(name = "fromImageNamePattern")
+ public Object[][] cloudAndImageNamePatterns() {
+ return new Object[][] {
+ new Object[] { REGION_NAME, IMAGE_NAME_PATTERN, IMAGE_OWNER }
+ };
+ }
+
+ @Override
+ @DataProvider(name = "fromImageDescriptionPattern")
+ public Object[][] cloudAndImageDescriptionPatterns() {
+ return new Object[0][0];
+ }
+
+ @Test(groups = "Live")
+ public void testVmMetadata() {
+ loc = (JcloudsLocation) ctx.getLocationRegistry().resolve(PROVIDER + (REGION_NAME == null ? "" : ":" + REGION_NAME));
+ SshMachineLocation machine = obtainMachine(MutableMap.of("imageId", IMAGE_ID, "userMetadata", MutableMap.of("mykey", "myval"), JcloudsLocation.MACHINE_CREATE_ATTEMPTS, 2));
+
+ LOG.info("Provisioned {} vm {}; checking metadata and if ssh'able", PROVIDER, machine);
+
+ Map<String,String> userMetadata = ((JcloudsSshMachineLocation)machine).getNode().getUserMetadata();
+ assertEquals(userMetadata.get("mykey"), "myval", "metadata="+userMetadata);
+ assertTrue(machine.isSshable());
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/zone/AwsAvailabilityZoneExtensionTest.java
----------------------------------------------------------------------
diff --git a/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/zone/AwsAvailabilityZoneExtensionTest.java b/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/zone/AwsAvailabilityZoneExtensionTest.java
new file mode 100644
index 0000000..12e89e3
--- /dev/null
+++ b/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/zone/AwsAvailabilityZoneExtensionTest.java
@@ -0,0 +1,121 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.brooklyn.location.jclouds.zone;
+
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertTrue;
+
+import java.util.List;
+
+import org.apache.brooklyn.location.Location;
+import org.apache.brooklyn.location.jclouds.AbstractJcloudsLiveTest;
+import org.apache.brooklyn.location.jclouds.JcloudsLocation;
+import org.jclouds.domain.LocationScope;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
+import brooklyn.entity.basic.Entities;
+import org.apache.brooklyn.location.jclouds.JcloudsSshMachineLocation;
+import brooklyn.management.internal.LocalManagementContext;
+
+import com.google.common.base.Predicates;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
+
+public class AwsAvailabilityZoneExtensionTest {
+
+ public static final String PROVIDER = AbstractJcloudsLiveTest.AWS_EC2_PROVIDER;
+ public static final String REGION_NAME = AbstractJcloudsLiveTest.AWS_EC2_USEAST_REGION_NAME;
+ public static final String LOCATION_SPEC = PROVIDER + (REGION_NAME == null ? "" : ":" + REGION_NAME);
+ public static final String SMALL_HARDWARE_ID = AbstractJcloudsLiveTest.AWS_EC2_SMALL_HARDWARE_ID;
+
+ public static final String US_EAST_IMAGE_ID = "us-east-1/ami-7d7bfc14"; // centos 6.3
+
+ private LocalManagementContext mgmt;
+ private JcloudsLocation loc;
+ private AwsAvailabilityZoneExtension zoneExtension;
+
+ @BeforeMethod(alwaysRun=true)
+ public void setUp() throws Exception {
+ mgmt = new LocalManagementContext();
+ loc = (JcloudsLocation) mgmt.getLocationRegistry().resolve(LOCATION_SPEC);
+ zoneExtension = new AwsAvailabilityZoneExtension(mgmt, loc);
+ }
+
+ @AfterMethod(alwaysRun=true)
+ public void tearDown() throws Exception {
+ if (mgmt != null) Entities.destroyAll(mgmt);
+ }
+
+ @Test(groups={"Live", "Sanity"})
+ public void testFindsZones() throws Exception {
+ List<Location> subLocations = zoneExtension.getSubLocations(Integer.MAX_VALUE);
+ List<String> zoneNames = getRegionsOf(subLocations);
+ assertTrue(subLocations.size() >= 3, "zones="+subLocations);
+ assertTrue(zoneNames.containsAll(ImmutableList.of(REGION_NAME+"a", REGION_NAME+"b", REGION_NAME+"c")), "zoneNames="+zoneNames);
+ }
+
+ @Test(groups={"Live", "Sanity"})
+ public void testFiltersZones() throws Exception {
+ List<Location> subLocations = zoneExtension.getSubLocationsByName(Predicates.containsPattern(REGION_NAME+"[ab]"), Integer.MAX_VALUE);
+ List<String> zoneNames = getRegionsOf(subLocations);
+ assertTrue(subLocations.size() == 2, "zones="+subLocations);
+ assertTrue(zoneNames.containsAll(ImmutableList.of(REGION_NAME+"a", REGION_NAME+"b")), "zoneNames="+zoneNames);
+ }
+
+ // TODO choosing a specific availability zone looks dangerous!
+ // TODO report this on brooklyn issues
+ // org.jclouds.aws.AWSResponseException: request POST https://ec2.us-east-1.amazonaws.com/ HTTP/1.1 failed with code 400,
+ // error: AWSError{requestId='5d360cc7-9c43-4683-8093-de3b081de87d', requestToken='null', code='Unsupported',
+ // message='The requested Availability Zone is currently constrained and we are no longer accepting new customer requests for t1/m1/c1/m2/m3 instance types.
+ // Please retry your request by not specifying an Availability Zone or choosing us-east-1e, us-east-1b, us-east-1c.', context='{Response=, Errors=}'}
+ @Test(groups={"Live"})
+ public void testSubLocationIsUsable() throws Exception {
+ String zoneName = REGION_NAME+"b";
+ List<Location> subLocations = zoneExtension.getSubLocationsByName(Predicates.equalTo(zoneName), Integer.MAX_VALUE);
+ JcloudsLocation subLocation = (JcloudsLocation) Iterables.getOnlyElement(subLocations);
+ JcloudsSshMachineLocation machine = null;
+ try {
+ machine = (JcloudsSshMachineLocation)subLocation.obtain(ImmutableMap.builder()
+ .put(JcloudsLocation.IMAGE_ID, US_EAST_IMAGE_ID)
+ .put(JcloudsLocation.HARDWARE_ID, SMALL_HARDWARE_ID)
+ .put(JcloudsLocation.INBOUND_PORTS, ImmutableList.of(22))
+ .build());
+
+ org.jclouds.domain.Location machineLoc = machine.getNode().getLocation();
+ assertEquals(machineLoc.getScope(), LocationScope.ZONE, "machineLoc="+machineLoc);
+ assertEquals(machineLoc.getId(), zoneName, "machineLoc="+machineLoc);
+ } finally {
+ if (machine != null) {
+ subLocation.release(machine);
+ }
+ }
+ }
+
+ protected List<String> getRegionsOf(List<Location> locs) {
+ List<String> result = Lists.newArrayList();
+ for (Location loc : locs) {
+ result.add(((JcloudsLocation)loc).getRegion());
+ }
+ return result;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/locations/jclouds/src/test/resources/brooklyn/location/jclouds/jclouds-location-test-various-login-credentials.yaml
----------------------------------------------------------------------
diff --git a/locations/jclouds/src/test/resources/brooklyn/location/jclouds/jclouds-location-test-various-login-credentials.yaml b/locations/jclouds/src/test/resources/brooklyn/location/jclouds/jclouds-location-test-various-login-credentials.yaml
deleted file mode 100644
index 9230c4e..0000000
--- a/locations/jclouds/src/test/resources/brooklyn/location/jclouds/jclouds-location-test-various-login-credentials.yaml
+++ /dev/null
@@ -1,67 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-
-name: various-login-credentials-test
-
-# not live tested, but useful for manual tests
-# assumes the keys listed here exist;
-# some children should pass, some should fail...
-
-services:
-
-- type: brooklyn.entity.basic.EmptySoftwareProcess
- name: GOOD-default-should-use-id-rsa-or-create
- location:
- jclouds:aws-ec2
-
-# passphrases
-- type: brooklyn.entity.basic.EmptySoftwareProcess
- name: GOOD-key-w-passphrase-supplied
- location:
- jclouds:aws-ec2:
- privateKeyFile: ~/.ssh/passphrase-id_rsa
- privateKeyPassphrase: passphrase
-- type: brooklyn.entity.basic.EmptySoftwareProcess
- name: FAIL-missing-passphrase
- location:
- jclouds:aws-ec2:
- privateKeyFile: ~/.ssh/passphrase-id_rsa
-
-# creating a new key
-- type: brooklyn.entity.basic.EmptySoftwareProcess
- name: GOOD-no-key-create-key
- location:
- jclouds:aws-ec2:
- privateKeyFile: ""
-
-# passwords - TODO need an image which doesn't have password-ssh disabled by default!
-- type: brooklyn.entity.basic.EmptySoftwareProcess
- # depends if image allows password access
- name: MAYBE-explicit-password
- location:
- jclouds:aws-ec2:
- password: foo
-- type: brooklyn.entity.basic.EmptySoftwareProcess
- # depends if image allows password access
- name: MAYBE-explicit-password-used-and-public-key-authed
- location:
- jclouds:aws-ec2
- password: foo
- privateKeyFile: ""
- publicKeyFile: "~/.ssh/id_rsa.pub"
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/locations/jclouds/src/test/resources/org/apache/brooklyn/location/jclouds/jclouds-location-test-various-login-credentials.yaml
----------------------------------------------------------------------
diff --git a/locations/jclouds/src/test/resources/org/apache/brooklyn/location/jclouds/jclouds-location-test-various-login-credentials.yaml b/locations/jclouds/src/test/resources/org/apache/brooklyn/location/jclouds/jclouds-location-test-various-login-credentials.yaml
new file mode 100644
index 0000000..9230c4e
--- /dev/null
+++ b/locations/jclouds/src/test/resources/org/apache/brooklyn/location/jclouds/jclouds-location-test-various-login-credentials.yaml
@@ -0,0 +1,67 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+name: various-login-credentials-test
+
+# not live tested, but useful for manual tests
+# assumes the keys listed here exist;
+# some children should pass, some should fail...
+
+services:
+
+- type: brooklyn.entity.basic.EmptySoftwareProcess
+ name: GOOD-default-should-use-id-rsa-or-create
+ location:
+ jclouds:aws-ec2
+
+# passphrases
+- type: brooklyn.entity.basic.EmptySoftwareProcess
+ name: GOOD-key-w-passphrase-supplied
+ location:
+ jclouds:aws-ec2:
+ privateKeyFile: ~/.ssh/passphrase-id_rsa
+ privateKeyPassphrase: passphrase
+- type: brooklyn.entity.basic.EmptySoftwareProcess
+ name: FAIL-missing-passphrase
+ location:
+ jclouds:aws-ec2:
+ privateKeyFile: ~/.ssh/passphrase-id_rsa
+
+# creating a new key
+- type: brooklyn.entity.basic.EmptySoftwareProcess
+ name: GOOD-no-key-create-key
+ location:
+ jclouds:aws-ec2:
+ privateKeyFile: ""
+
+# passwords - TODO need an image which doesn't have password-ssh disabled by default!
+- type: brooklyn.entity.basic.EmptySoftwareProcess
+ # depends if image allows password access
+ name: MAYBE-explicit-password
+ location:
+ jclouds:aws-ec2:
+ password: foo
+- type: brooklyn.entity.basic.EmptySoftwareProcess
+ # depends if image allows password access
+ name: MAYBE-explicit-password-used-and-public-key-authed
+ location:
+ jclouds:aws-ec2
+ password: foo
+ privateKeyFile: ""
+ publicKeyFile: "~/.ssh/id_rsa.pub"
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/parent/pom.xml
----------------------------------------------------------------------
diff --git a/parent/pom.xml b/parent/pom.xml
index 6079e35..020d652 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -1150,7 +1150,7 @@
<exclude>**/*.psd</exclude>
<exclude>**/*.json</exclude>
<exclude>**/*.plxarc</exclude>
- <exclude>**/services/brooklyn.location.LocationResolver</exclude>
+ <exclude>**/services/org.apache.brooklyn.location.LocationResolver</exclude>
<exclude>**/src/test/resources/brooklyn/entity/basic/template_with_extra_substitutions.txt</exclude>
<exclude>**/src/main/resources/banner.txt</exclude>
<exclude>**/src/test/resources/ssl/certs/localhost/info.txt</exclude>
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/policy/src/main/java/brooklyn/policy/followthesun/DefaultFollowTheSunModel.java
----------------------------------------------------------------------
diff --git a/policy/src/main/java/brooklyn/policy/followthesun/DefaultFollowTheSunModel.java b/policy/src/main/java/brooklyn/policy/followthesun/DefaultFollowTheSunModel.java
index 4e94c3c..51d9ae0 100644
--- a/policy/src/main/java/brooklyn/policy/followthesun/DefaultFollowTheSunModel.java
+++ b/policy/src/main/java/brooklyn/policy/followthesun/DefaultFollowTheSunModel.java
@@ -33,8 +33,8 @@ import java.util.concurrent.ConcurrentHashMap;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import brooklyn.location.Location;
-import brooklyn.location.basic.AbstractLocation;
+import org.apache.brooklyn.location.Location;
+import org.apache.brooklyn.location.basic.AbstractLocation;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.collect.ImmutableSet;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/policy/src/main/java/brooklyn/policy/followthesun/FollowTheSunModel.java
----------------------------------------------------------------------
diff --git a/policy/src/main/java/brooklyn/policy/followthesun/FollowTheSunModel.java b/policy/src/main/java/brooklyn/policy/followthesun/FollowTheSunModel.java
index 3e682fe..a76e37c 100644
--- a/policy/src/main/java/brooklyn/policy/followthesun/FollowTheSunModel.java
+++ b/policy/src/main/java/brooklyn/policy/followthesun/FollowTheSunModel.java
@@ -21,7 +21,7 @@ package brooklyn.policy.followthesun;
import java.util.Map;
import java.util.Set;
-import brooklyn.location.Location;
+import org.apache.brooklyn.location.Location;
/**
* Captures the state of items, containers and locations for the purpose of moving items around
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/policy/src/main/java/brooklyn/policy/followthesun/FollowTheSunParameters.java
----------------------------------------------------------------------
diff --git a/policy/src/main/java/brooklyn/policy/followthesun/FollowTheSunParameters.java b/policy/src/main/java/brooklyn/policy/followthesun/FollowTheSunParameters.java
index 99c51e5..9283c7f 100644
--- a/policy/src/main/java/brooklyn/policy/followthesun/FollowTheSunParameters.java
+++ b/policy/src/main/java/brooklyn/policy/followthesun/FollowTheSunParameters.java
@@ -24,7 +24,7 @@ import java.util.Set;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import brooklyn.location.Location;
+import org.apache.brooklyn.location.Location;
public class FollowTheSunParameters {
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/policy/src/main/java/brooklyn/policy/followthesun/FollowTheSunPolicy.java
----------------------------------------------------------------------
diff --git a/policy/src/main/java/brooklyn/policy/followthesun/FollowTheSunPolicy.java b/policy/src/main/java/brooklyn/policy/followthesun/FollowTheSunPolicy.java
index 25f4e49..d89f1a8 100644
--- a/policy/src/main/java/brooklyn/policy/followthesun/FollowTheSunPolicy.java
+++ b/policy/src/main/java/brooklyn/policy/followthesun/FollowTheSunPolicy.java
@@ -40,8 +40,8 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import brooklyn.entity.basic.Attributes;
-import brooklyn.location.Location;
-import brooklyn.location.MachineProvisioningLocation;
+import org.apache.brooklyn.location.Location;
+import org.apache.brooklyn.location.MachineProvisioningLocation;
import brooklyn.policy.basic.AbstractPolicy;
import brooklyn.policy.followthesun.FollowTheSunPool.ContainerItemPair;
import brooklyn.policy.loadbalancing.Movable;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/policy/src/main/java/brooklyn/policy/followthesun/FollowTheSunStrategy.java
----------------------------------------------------------------------
diff --git a/policy/src/main/java/brooklyn/policy/followthesun/FollowTheSunStrategy.java b/policy/src/main/java/brooklyn/policy/followthesun/FollowTheSunStrategy.java
index ebe09a8..078299d 100644
--- a/policy/src/main/java/brooklyn/policy/followthesun/FollowTheSunStrategy.java
+++ b/policy/src/main/java/brooklyn/policy/followthesun/FollowTheSunStrategy.java
@@ -29,7 +29,7 @@ import org.apache.brooklyn.api.entity.Entity;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import brooklyn.location.Location;
+import org.apache.brooklyn.location.Location;
import brooklyn.policy.loadbalancing.Movable;
import com.google.common.collect.Iterables;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/policy/src/main/java/brooklyn/policy/ha/SshMachineFailureDetector.java
----------------------------------------------------------------------
diff --git a/policy/src/main/java/brooklyn/policy/ha/SshMachineFailureDetector.java b/policy/src/main/java/brooklyn/policy/ha/SshMachineFailureDetector.java
index 54bdb69..7d31cf7 100644
--- a/policy/src/main/java/brooklyn/policy/ha/SshMachineFailureDetector.java
+++ b/policy/src/main/java/brooklyn/policy/ha/SshMachineFailureDetector.java
@@ -27,8 +27,8 @@ import org.apache.brooklyn.api.catalog.Catalog;
import brooklyn.config.ConfigKey;
import brooklyn.entity.basic.ConfigKeys;
import brooklyn.event.basic.BasicNotificationSensor;
-import brooklyn.location.basic.Machines;
-import brooklyn.location.basic.SshMachineLocation;
+import org.apache.brooklyn.location.basic.Machines;
+import org.apache.brooklyn.location.basic.SshMachineLocation;
import brooklyn.policy.ha.HASensors.FailureDescriptor;
import brooklyn.util.exceptions.Exceptions;
import brooklyn.util.guava.Maybe;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/policy/src/main/java/brooklyn/policy/loadbalancing/BalanceablePoolModel.java
----------------------------------------------------------------------
diff --git a/policy/src/main/java/brooklyn/policy/loadbalancing/BalanceablePoolModel.java b/policy/src/main/java/brooklyn/policy/loadbalancing/BalanceablePoolModel.java
index dbd58ef..f3e6b6a 100644
--- a/policy/src/main/java/brooklyn/policy/loadbalancing/BalanceablePoolModel.java
+++ b/policy/src/main/java/brooklyn/policy/loadbalancing/BalanceablePoolModel.java
@@ -21,7 +21,7 @@ package brooklyn.policy.loadbalancing;
import java.util.Map;
import java.util.Set;
-import brooklyn.location.Location;
+import org.apache.brooklyn.location.Location;
/**
* Captures the state of a balanceable cluster of containers and all their constituent items, including workrates,
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/policy/src/main/java/brooklyn/policy/loadbalancing/BalancingStrategy.java
----------------------------------------------------------------------
diff --git a/policy/src/main/java/brooklyn/policy/loadbalancing/BalancingStrategy.java b/policy/src/main/java/brooklyn/policy/loadbalancing/BalancingStrategy.java
index 0aa5851..fa7f3bb 100644
--- a/policy/src/main/java/brooklyn/policy/loadbalancing/BalancingStrategy.java
+++ b/policy/src/main/java/brooklyn/policy/loadbalancing/BalancingStrategy.java
@@ -29,7 +29,7 @@ import org.apache.brooklyn.api.entity.Entity;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import brooklyn.location.Location;
+import org.apache.brooklyn.location.Location;
/**
* Represents an abstract algorithm for optimally balancing worker "items" among several "containers" based on the workloads
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/policy/src/main/java/brooklyn/policy/loadbalancing/DefaultBalanceablePoolModel.java
----------------------------------------------------------------------
diff --git a/policy/src/main/java/brooklyn/policy/loadbalancing/DefaultBalanceablePoolModel.java b/policy/src/main/java/brooklyn/policy/loadbalancing/DefaultBalanceablePoolModel.java
index 9722f78..1a37ed6 100644
--- a/policy/src/main/java/brooklyn/policy/loadbalancing/DefaultBalanceablePoolModel.java
+++ b/policy/src/main/java/brooklyn/policy/loadbalancing/DefaultBalanceablePoolModel.java
@@ -29,7 +29,7 @@ import java.util.concurrent.ConcurrentHashMap;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import brooklyn.location.Location;
+import org.apache.brooklyn.location.Location;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.collect.HashMultimap;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/policy/src/main/java/brooklyn/policy/loadbalancing/LocationConstraint.java
----------------------------------------------------------------------
diff --git a/policy/src/main/java/brooklyn/policy/loadbalancing/LocationConstraint.java b/policy/src/main/java/brooklyn/policy/loadbalancing/LocationConstraint.java
index b1beb6d..5399e89 100644
--- a/policy/src/main/java/brooklyn/policy/loadbalancing/LocationConstraint.java
+++ b/policy/src/main/java/brooklyn/policy/loadbalancing/LocationConstraint.java
@@ -18,7 +18,7 @@
*/
package brooklyn.policy.loadbalancing;
-import brooklyn.location.Location;
+import org.apache.brooklyn.location.Location;
/**
* Temporary stub to resolve dependencies in ported LoadBalancingPolicy.
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/policy/src/test/java/brooklyn/enricher/HttpLatencyDetectorTest.java
----------------------------------------------------------------------
diff --git a/policy/src/test/java/brooklyn/enricher/HttpLatencyDetectorTest.java b/policy/src/test/java/brooklyn/enricher/HttpLatencyDetectorTest.java
index 6f21d9d..9777e03 100644
--- a/policy/src/test/java/brooklyn/enricher/HttpLatencyDetectorTest.java
+++ b/policy/src/test/java/brooklyn/enricher/HttpLatencyDetectorTest.java
@@ -33,10 +33,9 @@ import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
-import brooklyn.entity.basic.ApplicationBuilder;
import brooklyn.entity.basic.Entities;
import brooklyn.event.basic.Sensors;
-import brooklyn.location.basic.LocalhostMachineProvisioningLocation;
+import org.apache.brooklyn.location.basic.LocalhostMachineProvisioningLocation;
import brooklyn.util.collections.MutableMap;
import brooklyn.util.http.BetterMockWebServer;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/policy/src/test/java/brooklyn/entity/brooklyn/BrooklynMetricsTest.java
----------------------------------------------------------------------
diff --git a/policy/src/test/java/brooklyn/entity/brooklyn/BrooklynMetricsTest.java b/policy/src/test/java/brooklyn/entity/brooklyn/BrooklynMetricsTest.java
index 7d14883..bd4fa0c 100644
--- a/policy/src/test/java/brooklyn/entity/brooklyn/BrooklynMetricsTest.java
+++ b/policy/src/test/java/brooklyn/entity/brooklyn/BrooklynMetricsTest.java
@@ -35,9 +35,8 @@ import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import brooklyn.entity.basic.ApplicationBuilder;
-import brooklyn.entity.basic.BrooklynConfigKeys;
import brooklyn.entity.basic.Entities;
-import brooklyn.location.basic.SimulatedLocation;
+import org.apache.brooklyn.location.basic.SimulatedLocation;
import brooklyn.test.Asserts;
import brooklyn.util.collections.MutableMap;
import brooklyn.util.time.Duration;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/policy/src/test/java/brooklyn/policy/autoscaling/AutoScalerPolicyRebindTest.java
----------------------------------------------------------------------
diff --git a/policy/src/test/java/brooklyn/policy/autoscaling/AutoScalerPolicyRebindTest.java b/policy/src/test/java/brooklyn/policy/autoscaling/AutoScalerPolicyRebindTest.java
index f0cc623..d317029 100644
--- a/policy/src/test/java/brooklyn/policy/autoscaling/AutoScalerPolicyRebindTest.java
+++ b/policy/src/test/java/brooklyn/policy/autoscaling/AutoScalerPolicyRebindTest.java
@@ -36,8 +36,8 @@ import brooklyn.entity.group.DynamicCluster;
import brooklyn.entity.rebind.RebindTestFixtureWithApp;
import brooklyn.event.basic.BasicNotificationSensor;
import brooklyn.event.basic.Sensors;
-import brooklyn.location.LocationSpec;
-import brooklyn.location.basic.SimulatedLocation;
+import org.apache.brooklyn.location.LocationSpec;
+import org.apache.brooklyn.location.basic.SimulatedLocation;
import brooklyn.util.time.Duration;
import com.google.common.collect.ImmutableList;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/policy/src/test/java/brooklyn/policy/followthesun/AbstractFollowTheSunPolicyTest.java
----------------------------------------------------------------------
diff --git a/policy/src/test/java/brooklyn/policy/followthesun/AbstractFollowTheSunPolicyTest.java b/policy/src/test/java/brooklyn/policy/followthesun/AbstractFollowTheSunPolicyTest.java
index ae14af0..5f12e62 100644
--- a/policy/src/test/java/brooklyn/policy/followthesun/AbstractFollowTheSunPolicyTest.java
+++ b/policy/src/test/java/brooklyn/policy/followthesun/AbstractFollowTheSunPolicyTest.java
@@ -40,9 +40,9 @@ import org.testng.annotations.BeforeMethod;
import brooklyn.entity.basic.ApplicationBuilder;
import brooklyn.entity.basic.DynamicGroup;
import brooklyn.entity.basic.Entities;
-import brooklyn.location.Location;
-import brooklyn.location.LocationSpec;
-import brooklyn.location.basic.SimulatedLocation;
+import org.apache.brooklyn.location.Location;
+import org.apache.brooklyn.location.LocationSpec;
+import org.apache.brooklyn.location.basic.SimulatedLocation;
import brooklyn.policy.loadbalancing.BalanceableContainer;
import brooklyn.policy.loadbalancing.MockContainerEntity;
import brooklyn.policy.loadbalancing.MockItemEntity;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/policy/src/test/java/brooklyn/policy/followthesun/FollowTheSunModelTest.java
----------------------------------------------------------------------
diff --git a/policy/src/test/java/brooklyn/policy/followthesun/FollowTheSunModelTest.java b/policy/src/test/java/brooklyn/policy/followthesun/FollowTheSunModelTest.java
index ef45cb0..84f4808 100644
--- a/policy/src/test/java/brooklyn/policy/followthesun/FollowTheSunModelTest.java
+++ b/policy/src/test/java/brooklyn/policy/followthesun/FollowTheSunModelTest.java
@@ -26,9 +26,8 @@ import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
-import brooklyn.entity.basic.Entities;
-import brooklyn.location.Location;
-import brooklyn.location.basic.SimulatedLocation;
+import org.apache.brooklyn.location.Location;
+import org.apache.brooklyn.location.basic.SimulatedLocation;
import brooklyn.policy.loadbalancing.MockContainerEntity;
import brooklyn.policy.loadbalancing.MockContainerEntityImpl;
import brooklyn.policy.loadbalancing.MockItemEntity;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/policy/src/test/java/brooklyn/policy/followthesun/FollowTheSunPolicySoakTest.java
----------------------------------------------------------------------
diff --git a/policy/src/test/java/brooklyn/policy/followthesun/FollowTheSunPolicySoakTest.java b/policy/src/test/java/brooklyn/policy/followthesun/FollowTheSunPolicySoakTest.java
index 6c5bcec..24c1476 100644
--- a/policy/src/test/java/brooklyn/policy/followthesun/FollowTheSunPolicySoakTest.java
+++ b/policy/src/test/java/brooklyn/policy/followthesun/FollowTheSunPolicySoakTest.java
@@ -34,8 +34,8 @@ import org.slf4j.LoggerFactory;
import org.testng.annotations.Test;
import brooklyn.entity.basic.Entities;
-import brooklyn.location.Location;
-import brooklyn.location.basic.SimulatedLocation;
+import org.apache.brooklyn.location.Location;
+import org.apache.brooklyn.location.basic.SimulatedLocation;
import brooklyn.policy.loadbalancing.BalanceableContainer;
import brooklyn.policy.loadbalancing.MockContainerEntity;
import brooklyn.policy.loadbalancing.MockItemEntity;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/policy/src/test/java/brooklyn/policy/followthesun/FollowTheSunPolicyTest.java
----------------------------------------------------------------------
diff --git a/policy/src/test/java/brooklyn/policy/followthesun/FollowTheSunPolicyTest.java b/policy/src/test/java/brooklyn/policy/followthesun/FollowTheSunPolicyTest.java
index b5a0401..feef57d 100644
--- a/policy/src/test/java/brooklyn/policy/followthesun/FollowTheSunPolicyTest.java
+++ b/policy/src/test/java/brooklyn/policy/followthesun/FollowTheSunPolicyTest.java
@@ -36,8 +36,8 @@ import org.slf4j.LoggerFactory;
import org.testng.annotations.Test;
import brooklyn.entity.basic.Entities;
-import brooklyn.location.Location;
-import brooklyn.location.basic.SimulatedLocation;
+import org.apache.brooklyn.location.Location;
+import org.apache.brooklyn.location.basic.SimulatedLocation;
import brooklyn.policy.loadbalancing.MockContainerEntity;
import brooklyn.policy.loadbalancing.MockItemEntity;
import brooklyn.policy.loadbalancing.Movable;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/policy/src/test/java/brooklyn/policy/ha/HaPolicyRebindTest.java
----------------------------------------------------------------------
diff --git a/policy/src/test/java/brooklyn/policy/ha/HaPolicyRebindTest.java b/policy/src/test/java/brooklyn/policy/ha/HaPolicyRebindTest.java
index a71f58c..3088e78 100644
--- a/policy/src/test/java/brooklyn/policy/ha/HaPolicyRebindTest.java
+++ b/policy/src/test/java/brooklyn/policy/ha/HaPolicyRebindTest.java
@@ -42,9 +42,9 @@ import brooklyn.entity.basic.Lifecycle;
import brooklyn.entity.basic.ServiceStateLogic;
import brooklyn.entity.group.DynamicCluster;
import brooklyn.entity.rebind.RebindTestFixtureWithApp;
-import brooklyn.location.Location;
-import brooklyn.location.LocationSpec;
-import brooklyn.location.basic.SimulatedLocation;
+import org.apache.brooklyn.location.Location;
+import org.apache.brooklyn.location.LocationSpec;
+import org.apache.brooklyn.location.basic.SimulatedLocation;
import brooklyn.policy.ha.HASensors.FailureDescriptor;
import brooklyn.test.Asserts;
import brooklyn.util.collections.MutableMap;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/policy/src/test/java/brooklyn/policy/ha/ServiceReplacerTest.java
----------------------------------------------------------------------
diff --git a/policy/src/test/java/brooklyn/policy/ha/ServiceReplacerTest.java b/policy/src/test/java/brooklyn/policy/ha/ServiceReplacerTest.java
index e686466..b8e5379 100644
--- a/policy/src/test/java/brooklyn/policy/ha/ServiceReplacerTest.java
+++ b/policy/src/test/java/brooklyn/policy/ha/ServiceReplacerTest.java
@@ -53,9 +53,9 @@ import brooklyn.entity.basic.QuorumCheck;
import brooklyn.entity.basic.ServiceStateLogic.ComputeServiceIndicatorsFromChildrenAndMembers;
import brooklyn.entity.group.DynamicCluster;
import brooklyn.entity.trait.FailingEntity;
-import brooklyn.location.Location;
-import brooklyn.location.LocationSpec;
-import brooklyn.location.basic.SimulatedLocation;
+import org.apache.brooklyn.location.Location;
+import org.apache.brooklyn.location.LocationSpec;
+import org.apache.brooklyn.location.basic.SimulatedLocation;
import brooklyn.policy.ha.HASensors.FailureDescriptor;
import brooklyn.test.Asserts;
import brooklyn.util.config.ConfigBag;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/policy/src/test/java/brooklyn/policy/loadbalancing/AbstractLoadBalancingPolicyTest.java
----------------------------------------------------------------------
diff --git a/policy/src/test/java/brooklyn/policy/loadbalancing/AbstractLoadBalancingPolicyTest.java b/policy/src/test/java/brooklyn/policy/loadbalancing/AbstractLoadBalancingPolicyTest.java
index 5306d83..68db44c 100644
--- a/policy/src/test/java/brooklyn/policy/loadbalancing/AbstractLoadBalancingPolicyTest.java
+++ b/policy/src/test/java/brooklyn/policy/loadbalancing/AbstractLoadBalancingPolicyTest.java
@@ -38,12 +38,11 @@ import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import brooklyn.config.ConfigKey;
-import brooklyn.entity.basic.ApplicationBuilder;
import brooklyn.entity.basic.DynamicGroup;
import brooklyn.entity.basic.Entities;
import brooklyn.event.basic.BasicConfigKey;
import brooklyn.event.basic.Sensors;
-import brooklyn.location.basic.SimulatedLocation;
+import org.apache.brooklyn.location.basic.SimulatedLocation;
import brooklyn.test.Asserts;
import brooklyn.util.collections.MutableMap;
import brooklyn.util.time.Time;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/policy/src/test/java/brooklyn/policy/loadbalancing/BalanceableWorkerPoolTest.java
----------------------------------------------------------------------
diff --git a/policy/src/test/java/brooklyn/policy/loadbalancing/BalanceableWorkerPoolTest.java b/policy/src/test/java/brooklyn/policy/loadbalancing/BalanceableWorkerPoolTest.java
index a816983..e744720 100644
--- a/policy/src/test/java/brooklyn/policy/loadbalancing/BalanceableWorkerPoolTest.java
+++ b/policy/src/test/java/brooklyn/policy/loadbalancing/BalanceableWorkerPoolTest.java
@@ -37,7 +37,7 @@ import brooklyn.entity.basic.ApplicationBuilder;
import brooklyn.entity.basic.DynamicGroup;
import brooklyn.entity.basic.Entities;
import brooklyn.entity.trait.Resizable;
-import brooklyn.location.basic.SimulatedLocation;
+import org.apache.brooklyn.location.basic.SimulatedLocation;
import brooklyn.util.collections.MutableMap;
import brooklyn.util.exceptions.Exceptions;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/policy/src/test/java/brooklyn/policy/loadbalancing/ItemsInContainersGroupTest.java
----------------------------------------------------------------------
diff --git a/policy/src/test/java/brooklyn/policy/loadbalancing/ItemsInContainersGroupTest.java b/policy/src/test/java/brooklyn/policy/loadbalancing/ItemsInContainersGroupTest.java
index 0217f8c..cf47359 100644
--- a/policy/src/test/java/brooklyn/policy/loadbalancing/ItemsInContainersGroupTest.java
+++ b/policy/src/test/java/brooklyn/policy/loadbalancing/ItemsInContainersGroupTest.java
@@ -31,7 +31,7 @@ import org.testng.annotations.Test;
import brooklyn.entity.basic.ApplicationBuilder;
import brooklyn.entity.basic.DynamicGroup;
import brooklyn.entity.basic.Entities;
-import brooklyn.location.basic.SimulatedLocation;
+import org.apache.brooklyn.location.basic.SimulatedLocation;
import brooklyn.test.Asserts;
import brooklyn.util.collections.MutableMap;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/policy/src/test/java/brooklyn/policy/loadbalancing/MockContainerEntityImpl.java
----------------------------------------------------------------------
diff --git a/policy/src/test/java/brooklyn/policy/loadbalancing/MockContainerEntityImpl.java b/policy/src/test/java/brooklyn/policy/loadbalancing/MockContainerEntityImpl.java
index f02a3c6..f72fed3 100644
--- a/policy/src/test/java/brooklyn/policy/loadbalancing/MockContainerEntityImpl.java
+++ b/policy/src/test/java/brooklyn/policy/loadbalancing/MockContainerEntityImpl.java
@@ -33,7 +33,7 @@ import org.slf4j.LoggerFactory;
import brooklyn.entity.basic.AbstractGroupImpl;
import brooklyn.entity.basic.Attributes;
-import brooklyn.location.Location;
+import org.apache.brooklyn.location.Location;
import brooklyn.util.collections.MutableList;
import brooklyn.util.time.Time;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/software/base/src/main/java/brooklyn/entity/basic/AbstractSoftwareProcessDriver.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/brooklyn/entity/basic/AbstractSoftwareProcessDriver.java b/software/base/src/main/java/brooklyn/entity/basic/AbstractSoftwareProcessDriver.java
index 103ad49..7fc4ea7 100644
--- a/software/base/src/main/java/brooklyn/entity/basic/AbstractSoftwareProcessDriver.java
+++ b/software/base/src/main/java/brooklyn/entity/basic/AbstractSoftwareProcessDriver.java
@@ -32,7 +32,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import brooklyn.config.ConfigKey;
-import brooklyn.location.Location;
+import org.apache.brooklyn.location.Location;
import brooklyn.util.ResourceUtils;
import brooklyn.util.collections.MutableMap;
import brooklyn.util.exceptions.Exceptions;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/software/base/src/main/java/brooklyn/entity/basic/AbstractSoftwareProcessSshDriver.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/brooklyn/entity/basic/AbstractSoftwareProcessSshDriver.java b/software/base/src/main/java/brooklyn/entity/basic/AbstractSoftwareProcessSshDriver.java
index 2ca32e9..c8efbb9 100644
--- a/software/base/src/main/java/brooklyn/entity/basic/AbstractSoftwareProcessSshDriver.java
+++ b/software/base/src/main/java/brooklyn/entity/basic/AbstractSoftwareProcessSshDriver.java
@@ -45,7 +45,7 @@ import brooklyn.entity.basic.lifecycle.ScriptHelper;
import brooklyn.entity.effector.EffectorTasks;
import brooklyn.entity.software.SshEffectorTasks;
import brooklyn.event.feed.ConfigToAttributes;
-import brooklyn.location.basic.SshMachineLocation;
+import org.apache.brooklyn.location.basic.SshMachineLocation;
import brooklyn.util.exceptions.Exceptions;
import brooklyn.util.guava.Maybe;
import brooklyn.util.internal.ssh.SshTool;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/software/base/src/main/java/brooklyn/entity/basic/AbstractSoftwareProcessWinRmDriver.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/brooklyn/entity/basic/AbstractSoftwareProcessWinRmDriver.java b/software/base/src/main/java/brooklyn/entity/basic/AbstractSoftwareProcessWinRmDriver.java
index 3e3a9eb..e80af91 100644
--- a/software/base/src/main/java/brooklyn/entity/basic/AbstractSoftwareProcessWinRmDriver.java
+++ b/software/base/src/main/java/brooklyn/entity/basic/AbstractSoftwareProcessWinRmDriver.java
@@ -31,7 +31,7 @@ import org.python.core.PyException;
import brooklyn.config.ConfigKey;
import brooklyn.event.basic.Sensors;
-import brooklyn.location.basic.WinRmMachineLocation;
+import org.apache.brooklyn.location.basic.WinRmMachineLocation;
import brooklyn.util.exceptions.ReferenceWithError;
import brooklyn.util.repeat.Repeater;
import brooklyn.util.time.Duration;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/software/base/src/main/java/brooklyn/entity/basic/EmptySoftwareProcessSshDriver.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/brooklyn/entity/basic/EmptySoftwareProcessSshDriver.java b/software/base/src/main/java/brooklyn/entity/basic/EmptySoftwareProcessSshDriver.java
index dbafa65..ce1282b 100644
--- a/software/base/src/main/java/brooklyn/entity/basic/EmptySoftwareProcessSshDriver.java
+++ b/software/base/src/main/java/brooklyn/entity/basic/EmptySoftwareProcessSshDriver.java
@@ -21,7 +21,7 @@ package brooklyn.entity.basic;
import java.util.Map;
import java.util.concurrent.atomic.AtomicBoolean;
-import brooklyn.location.basic.SshMachineLocation;
+import org.apache.brooklyn.location.basic.SshMachineLocation;
public class EmptySoftwareProcessSshDriver extends AbstractSoftwareProcessSshDriver implements EmptySoftwareProcessDriver {
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/software/base/src/main/java/brooklyn/entity/basic/SameServerDriverLifecycleEffectorTasks.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/brooklyn/entity/basic/SameServerDriverLifecycleEffectorTasks.java b/software/base/src/main/java/brooklyn/entity/basic/SameServerDriverLifecycleEffectorTasks.java
index 247ba98..f7d2122 100644
--- a/software/base/src/main/java/brooklyn/entity/basic/SameServerDriverLifecycleEffectorTasks.java
+++ b/software/base/src/main/java/brooklyn/entity/basic/SameServerDriverLifecycleEffectorTasks.java
@@ -36,10 +36,10 @@ import com.google.common.reflect.TypeToken;
import brooklyn.config.ConfigKey;
import brooklyn.entity.software.MachineLifecycleEffectorTasks;
import brooklyn.entity.trait.StartableMethods;
-import brooklyn.location.MachineLocation;
-import brooklyn.location.MachineProvisioningLocation;
-import brooklyn.location.PortRange;
-import brooklyn.location.basic.LocationConfigKeys;
+import org.apache.brooklyn.location.MachineLocation;
+import org.apache.brooklyn.location.MachineProvisioningLocation;
+import org.apache.brooklyn.location.PortRange;
+import org.apache.brooklyn.location.basic.LocationConfigKeys;
import brooklyn.util.collections.MutableSet;
import brooklyn.util.flags.TypeCoercions;
import brooklyn.util.guava.Maybe;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/software/base/src/main/java/brooklyn/entity/basic/SameServerEntity.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/brooklyn/entity/basic/SameServerEntity.java b/software/base/src/main/java/brooklyn/entity/basic/SameServerEntity.java
index cca5493..09f8dea 100644
--- a/software/base/src/main/java/brooklyn/entity/basic/SameServerEntity.java
+++ b/software/base/src/main/java/brooklyn/entity/basic/SameServerEntity.java
@@ -28,7 +28,7 @@ import brooklyn.config.ConfigKey;
import brooklyn.entity.basic.ServiceStateLogic.ComputeServiceIndicatorsFromChildrenAndMembers;
import brooklyn.entity.trait.Startable;
import brooklyn.event.basic.BasicAttributeSensor;
-import brooklyn.location.MachineProvisioningLocation;
+import org.apache.brooklyn.location.MachineProvisioningLocation;
import brooklyn.util.collections.MutableMap;
import brooklyn.util.collections.QuorumCheck;
import brooklyn.util.flags.SetFromFlag;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/software/base/src/main/java/brooklyn/entity/basic/SameServerEntityImpl.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/brooklyn/entity/basic/SameServerEntityImpl.java b/software/base/src/main/java/brooklyn/entity/basic/SameServerEntityImpl.java
index 912a2f7..7bfdb59 100644
--- a/software/base/src/main/java/brooklyn/entity/basic/SameServerEntityImpl.java
+++ b/software/base/src/main/java/brooklyn/entity/basic/SameServerEntityImpl.java
@@ -26,7 +26,7 @@ import org.apache.brooklyn.api.management.Task;
import brooklyn.entity.basic.ServiceStateLogic.ComputeServiceIndicatorsFromChildrenAndMembers;
import brooklyn.entity.software.MachineLifecycleEffectorTasks;
-import brooklyn.location.Location;
+import org.apache.brooklyn.location.Location;
import brooklyn.util.collections.QuorumCheck;
import brooklyn.util.config.ConfigBag;
import brooklyn.util.task.DynamicTasks;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/software/base/src/main/java/brooklyn/entity/basic/SoftwareProcess.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/brooklyn/entity/basic/SoftwareProcess.java b/software/base/src/main/java/brooklyn/entity/basic/SoftwareProcess.java
index 4e03fee..de12a0c 100644
--- a/software/base/src/main/java/brooklyn/entity/basic/SoftwareProcess.java
+++ b/software/base/src/main/java/brooklyn/entity/basic/SoftwareProcess.java
@@ -31,7 +31,7 @@ import brooklyn.entity.trait.Startable;
import brooklyn.event.basic.AttributeSensorAndConfigKey;
import brooklyn.event.basic.MapConfigKey;
import brooklyn.event.basic.Sensors;
-import brooklyn.location.MachineProvisioningLocation;
+import org.apache.brooklyn.location.MachineProvisioningLocation;
import brooklyn.util.collections.MutableMap;
import brooklyn.util.flags.SetFromFlag;
import brooklyn.util.time.Duration;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/software/base/src/main/java/brooklyn/entity/basic/SoftwareProcessDriverLifecycleEffectorTasks.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/brooklyn/entity/basic/SoftwareProcessDriverLifecycleEffectorTasks.java b/software/base/src/main/java/brooklyn/entity/basic/SoftwareProcessDriverLifecycleEffectorTasks.java
index f2427f3..5af5a27 100644
--- a/software/base/src/main/java/brooklyn/entity/basic/SoftwareProcessDriverLifecycleEffectorTasks.java
+++ b/software/base/src/main/java/brooklyn/entity/basic/SoftwareProcessDriverLifecycleEffectorTasks.java
@@ -29,8 +29,8 @@ import brooklyn.entity.basic.SoftwareProcess.RestartSoftwareParameters;
import brooklyn.entity.basic.SoftwareProcess.RestartSoftwareParameters.RestartMachineMode;
import brooklyn.entity.software.MachineLifecycleEffectorTasks;
import brooklyn.entity.trait.StartableMethods;
-import brooklyn.location.MachineLocation;
-import brooklyn.location.MachineProvisioningLocation;
+import org.apache.brooklyn.location.MachineLocation;
+import org.apache.brooklyn.location.MachineProvisioningLocation;
import brooklyn.util.config.ConfigBag;
import brooklyn.util.task.DynamicTasks;
import brooklyn.util.text.Strings;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/software/base/src/main/java/brooklyn/entity/basic/SoftwareProcessImpl.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/brooklyn/entity/basic/SoftwareProcessImpl.java b/software/base/src/main/java/brooklyn/entity/basic/SoftwareProcessImpl.java
index fedaf11..f96b961 100644
--- a/software/base/src/main/java/brooklyn/entity/basic/SoftwareProcessImpl.java
+++ b/software/base/src/main/java/brooklyn/entity/basic/SoftwareProcessImpl.java
@@ -47,13 +47,13 @@ import brooklyn.entity.basic.Lifecycle.Transition;
import brooklyn.entity.basic.ServiceStateLogic.ServiceNotUpLogic;
import brooklyn.event.feed.function.FunctionFeed;
import brooklyn.event.feed.function.FunctionPollConfig;
-import brooklyn.location.Location;
-import brooklyn.location.MachineLocation;
-import brooklyn.location.MachineProvisioningLocation;
-import brooklyn.location.PortRange;
-import brooklyn.location.basic.LocationConfigKeys;
-import brooklyn.location.basic.SshMachineLocation;
-import brooklyn.location.cloud.CloudLocationConfig;
+import org.apache.brooklyn.location.Location;
+import org.apache.brooklyn.location.MachineLocation;
+import org.apache.brooklyn.location.MachineProvisioningLocation;
+import org.apache.brooklyn.location.PortRange;
+import org.apache.brooklyn.location.basic.LocationConfigKeys;
+import org.apache.brooklyn.location.basic.SshMachineLocation;
+import org.apache.brooklyn.location.cloud.CloudLocationConfig;
import brooklyn.util.collections.MutableMap;
import brooklyn.util.collections.MutableSet;
import brooklyn.util.config.ConfigBag;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/software/base/src/main/java/brooklyn/entity/basic/VanillaSoftwareProcessSshDriver.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/brooklyn/entity/basic/VanillaSoftwareProcessSshDriver.java b/software/base/src/main/java/brooklyn/entity/basic/VanillaSoftwareProcessSshDriver.java
index af89c40..b66bd62 100644
--- a/software/base/src/main/java/brooklyn/entity/basic/VanillaSoftwareProcessSshDriver.java
+++ b/software/base/src/main/java/brooklyn/entity/basic/VanillaSoftwareProcessSshDriver.java
@@ -26,7 +26,7 @@ import org.apache.brooklyn.api.entity.basic.EntityLocal;
import org.apache.brooklyn.api.entity.drivers.downloads.DownloadResolver;
import brooklyn.entity.basic.lifecycle.ScriptHelper;
-import brooklyn.location.basic.SshMachineLocation;
+import org.apache.brooklyn.location.basic.SshMachineLocation;
import brooklyn.util.collections.MutableMap;
import brooklyn.util.file.ArchiveUtils;
import brooklyn.util.guava.Maybe;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/software/base/src/main/java/brooklyn/entity/basic/VanillaWindowsProcessWinRmDriver.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/brooklyn/entity/basic/VanillaWindowsProcessWinRmDriver.java b/software/base/src/main/java/brooklyn/entity/basic/VanillaWindowsProcessWinRmDriver.java
index 68a2f16..8be1fa5 100644
--- a/software/base/src/main/java/brooklyn/entity/basic/VanillaWindowsProcessWinRmDriver.java
+++ b/software/base/src/main/java/brooklyn/entity/basic/VanillaWindowsProcessWinRmDriver.java
@@ -20,7 +20,7 @@ package brooklyn.entity.basic;
import org.apache.brooklyn.api.entity.basic.EntityLocal;
-import brooklyn.location.basic.WinRmMachineLocation;
+import org.apache.brooklyn.location.basic.WinRmMachineLocation;
import brooklyn.util.net.UserAndHostAndPort;
public class VanillaWindowsProcessWinRmDriver extends AbstractSoftwareProcessWinRmDriver implements VanillaWindowsProcessDriver {
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/software/base/src/main/java/brooklyn/entity/basic/lifecycle/ScriptHelper.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/brooklyn/entity/basic/lifecycle/ScriptHelper.java b/software/base/src/main/java/brooklyn/entity/basic/lifecycle/ScriptHelper.java
index c8844d5..07532f8 100644
--- a/software/base/src/main/java/brooklyn/entity/basic/lifecycle/ScriptHelper.java
+++ b/software/base/src/main/java/brooklyn/entity/basic/lifecycle/ScriptHelper.java
@@ -40,7 +40,7 @@ import org.slf4j.LoggerFactory;
import brooklyn.config.ConfigKey;
import brooklyn.entity.basic.BrooklynTaskTags;
-import brooklyn.location.basic.SshMachineLocation;
+import org.apache.brooklyn.location.basic.SshMachineLocation;
import brooklyn.util.GroovyJavaMethods;
import brooklyn.util.collections.MutableMap;
import brooklyn.util.exceptions.RuntimeInterruptedException;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/software/base/src/main/java/brooklyn/entity/brooklynnode/BrooklynNodeImpl.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/brooklyn/entity/brooklynnode/BrooklynNodeImpl.java b/software/base/src/main/java/brooklyn/entity/brooklynnode/BrooklynNodeImpl.java
index 0861c34..4250b74 100644
--- a/software/base/src/main/java/brooklyn/entity/brooklynnode/BrooklynNodeImpl.java
+++ b/software/base/src/main/java/brooklyn/entity/brooklynnode/BrooklynNodeImpl.java
@@ -59,8 +59,8 @@ import brooklyn.event.feed.http.HttpFeed;
import brooklyn.event.feed.http.HttpPollConfig;
import brooklyn.event.feed.http.HttpValueFunctions;
import brooklyn.event.feed.http.JsonFunctions;
-import brooklyn.location.access.BrooklynAccessUtils;
-import brooklyn.location.basic.Locations;
+import org.apache.brooklyn.location.access.BrooklynAccessUtils;
+import org.apache.brooklyn.location.basic.Locations;
import brooklyn.util.collections.Jsonya;
import brooklyn.util.collections.MutableMap;
import brooklyn.util.config.ConfigBag;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/software/base/src/main/java/brooklyn/entity/brooklynnode/BrooklynNodeSshDriver.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/brooklyn/entity/brooklynnode/BrooklynNodeSshDriver.java b/software/base/src/main/java/brooklyn/entity/brooklynnode/BrooklynNodeSshDriver.java
index bd1a2d4..ab4ffb2 100644
--- a/software/base/src/main/java/brooklyn/entity/brooklynnode/BrooklynNodeSshDriver.java
+++ b/software/base/src/main/java/brooklyn/entity/brooklynnode/BrooklynNodeSshDriver.java
@@ -34,7 +34,7 @@ import brooklyn.entity.brooklynnode.BrooklynNode.ExistingFileBehaviour;
import brooklyn.entity.drivers.downloads.DownloadSubstituters;
import brooklyn.entity.java.JavaSoftwareProcessSshDriver;
import brooklyn.entity.software.SshEffectorTasks;
-import brooklyn.location.basic.SshMachineLocation;
+import org.apache.brooklyn.location.basic.SshMachineLocation;
import brooklyn.util.collections.MutableMap;
import brooklyn.util.file.ArchiveBuilder;
import brooklyn.util.file.ArchiveUtils;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/software/base/src/main/java/brooklyn/entity/chef/ChefLifecycleEffectorTasks.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/brooklyn/entity/chef/ChefLifecycleEffectorTasks.java b/software/base/src/main/java/brooklyn/entity/chef/ChefLifecycleEffectorTasks.java
index eca280a..ca7d561 100644
--- a/software/base/src/main/java/brooklyn/entity/chef/ChefLifecycleEffectorTasks.java
+++ b/software/base/src/main/java/brooklyn/entity/chef/ChefLifecycleEffectorTasks.java
@@ -30,8 +30,8 @@ import brooklyn.entity.basic.Lifecycle;
import brooklyn.entity.basic.SoftwareProcess;
import brooklyn.entity.software.MachineLifecycleEffectorTasks;
import brooklyn.entity.software.SshEffectorTasks;
-import brooklyn.location.MachineLocation;
-import brooklyn.location.basic.Machines;
+import org.apache.brooklyn.location.MachineLocation;
+import org.apache.brooklyn.location.basic.Machines;
import brooklyn.util.collections.Jsonya;
import brooklyn.util.collections.Jsonya.Navigator;
import brooklyn.util.collections.MutableMap;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/software/base/src/main/java/brooklyn/entity/chef/ChefServerTasks.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/brooklyn/entity/chef/ChefServerTasks.java b/software/base/src/main/java/brooklyn/entity/chef/ChefServerTasks.java
index 76d3842..743e335 100644
--- a/software/base/src/main/java/brooklyn/entity/chef/ChefServerTasks.java
+++ b/software/base/src/main/java/brooklyn/entity/chef/ChefServerTasks.java
@@ -24,7 +24,7 @@ import java.io.IOException;
import java.nio.charset.Charset;
import java.security.KeyPair;
-import brooklyn.location.basic.SshMachineLocation;
+import org.apache.brooklyn.location.basic.SshMachineLocation;
import brooklyn.util.crypto.SecureKeys;
import com.google.common.base.Throwables;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/software/base/src/main/java/brooklyn/entity/chef/ChefSoloDriver.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/brooklyn/entity/chef/ChefSoloDriver.java b/software/base/src/main/java/brooklyn/entity/chef/ChefSoloDriver.java
index 963ec8e..0d9935c 100644
--- a/software/base/src/main/java/brooklyn/entity/chef/ChefSoloDriver.java
+++ b/software/base/src/main/java/brooklyn/entity/chef/ChefSoloDriver.java
@@ -25,7 +25,7 @@ import org.apache.brooklyn.api.management.TaskFactory;
import brooklyn.config.ConfigKey;
import brooklyn.entity.basic.AbstractSoftwareProcessSshDriver;
import brooklyn.entity.basic.ConfigKeys;
-import brooklyn.location.basic.SshMachineLocation;
+import org.apache.brooklyn.location.basic.SshMachineLocation;
import brooklyn.util.task.DynamicTasks;
import com.google.common.annotations.Beta;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/software/base/src/main/java/brooklyn/entity/chef/KnifeConvergeTaskFactory.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/brooklyn/entity/chef/KnifeConvergeTaskFactory.java b/software/base/src/main/java/brooklyn/entity/chef/KnifeConvergeTaskFactory.java
index 0d4dfdb..f9ec730 100644
--- a/software/base/src/main/java/brooklyn/entity/chef/KnifeConvergeTaskFactory.java
+++ b/software/base/src/main/java/brooklyn/entity/chef/KnifeConvergeTaskFactory.java
@@ -33,7 +33,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import brooklyn.entity.effector.EffectorTasks;
-import brooklyn.location.basic.SshMachineLocation;
+import org.apache.brooklyn.location.basic.SshMachineLocation;
import brooklyn.util.collections.Jsonya;
import brooklyn.util.collections.MutableList;
import brooklyn.util.collections.MutableMap;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/software/base/src/main/java/brooklyn/entity/java/JavaSoftwareProcessSshDriver.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/brooklyn/entity/java/JavaSoftwareProcessSshDriver.java b/software/base/src/main/java/brooklyn/entity/java/JavaSoftwareProcessSshDriver.java
index de223fb..1853259 100644
--- a/software/base/src/main/java/brooklyn/entity/java/JavaSoftwareProcessSshDriver.java
+++ b/software/base/src/main/java/brooklyn/entity/java/JavaSoftwareProcessSshDriver.java
@@ -48,7 +48,7 @@ import brooklyn.entity.basic.Entities;
import brooklyn.entity.basic.EntityInternal;
import brooklyn.entity.effector.EffectorTasks;
import brooklyn.entity.software.SshEffectorTasks;
-import brooklyn.location.basic.SshMachineLocation;
+import org.apache.brooklyn.location.basic.SshMachineLocation;
import brooklyn.util.collections.MutableMap;
import brooklyn.util.collections.MutableSet;
import brooklyn.util.exceptions.Exceptions;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/software/base/src/main/java/brooklyn/entity/java/JmxSupport.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/brooklyn/entity/java/JmxSupport.java b/software/base/src/main/java/brooklyn/entity/java/JmxSupport.java
index 463b009..2f88ff8 100644
--- a/software/base/src/main/java/brooklyn/entity/java/JmxSupport.java
+++ b/software/base/src/main/java/brooklyn/entity/java/JmxSupport.java
@@ -33,9 +33,9 @@ import brooklyn.config.ConfigKey;
import brooklyn.config.ConfigKey.HasConfigKey;
import brooklyn.entity.basic.EntityInternal;
import brooklyn.event.feed.jmx.JmxHelper;
-import brooklyn.location.access.BrooklynAccessUtils;
-import brooklyn.location.basic.Locations;
-import brooklyn.location.basic.SshMachineLocation;
+import org.apache.brooklyn.location.access.BrooklynAccessUtils;
+import org.apache.brooklyn.location.basic.Locations;
+import org.apache.brooklyn.location.basic.SshMachineLocation;
import brooklyn.util.BrooklynMavenArtifacts;
import brooklyn.util.ResourceUtils;
import brooklyn.util.collections.MutableList;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/software/base/src/main/java/brooklyn/entity/java/UsesJmx.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/brooklyn/entity/java/UsesJmx.java b/software/base/src/main/java/brooklyn/entity/java/UsesJmx.java
index 4901e02..6bc9de4 100644
--- a/software/base/src/main/java/brooklyn/entity/java/UsesJmx.java
+++ b/software/base/src/main/java/brooklyn/entity/java/UsesJmx.java
@@ -30,8 +30,8 @@ import brooklyn.event.basic.AttributeSensorAndConfigKey;
import brooklyn.event.basic.BasicAttributeSensorAndConfigKey;
import brooklyn.event.basic.BasicConfigKey;
import brooklyn.event.basic.PortAttributeSensorAndConfigKey;
-import brooklyn.location.PortRange;
-import brooklyn.location.basic.PortRanges;
+import org.apache.brooklyn.location.PortRange;
+import org.apache.brooklyn.location.basic.PortRanges;
import brooklyn.util.flags.SetFromFlag;
public interface UsesJmx extends UsesJava {
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/software/base/src/main/java/brooklyn/entity/java/VanillaJavaAppSshDriver.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/brooklyn/entity/java/VanillaJavaAppSshDriver.java b/software/base/src/main/java/brooklyn/entity/java/VanillaJavaAppSshDriver.java
index e746677..104dd7d 100644
--- a/software/base/src/main/java/brooklyn/entity/java/VanillaJavaAppSshDriver.java
+++ b/software/base/src/main/java/brooklyn/entity/java/VanillaJavaAppSshDriver.java
@@ -28,7 +28,7 @@ import java.util.Map;
import javax.annotation.Nullable;
import brooklyn.entity.basic.lifecycle.ScriptHelper;
-import brooklyn.location.basic.SshMachineLocation;
+import org.apache.brooklyn.location.basic.SshMachineLocation;
import brooklyn.util.collections.MutableList;
import brooklyn.util.collections.MutableMap;
import brooklyn.util.exceptions.Exceptions;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/software/base/src/main/java/brooklyn/entity/machine/MachineEntityImpl.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/brooklyn/entity/machine/MachineEntityImpl.java b/software/base/src/main/java/brooklyn/entity/machine/MachineEntityImpl.java
index a0f45a9..f101e66 100644
--- a/software/base/src/main/java/brooklyn/entity/machine/MachineEntityImpl.java
+++ b/software/base/src/main/java/brooklyn/entity/machine/MachineEntityImpl.java
@@ -31,11 +31,10 @@ import brooklyn.entity.software.SshEffectorTasks;
import brooklyn.event.feed.ssh.SshFeed;
import brooklyn.event.feed.ssh.SshPollConfig;
import brooklyn.event.feed.ssh.SshPollValue;
-import brooklyn.location.basic.Machines;
-import brooklyn.location.basic.SshMachineLocation;
+import org.apache.brooklyn.location.basic.Machines;
+import org.apache.brooklyn.location.basic.SshMachineLocation;
import brooklyn.util.exceptions.Exceptions;
import brooklyn.util.task.DynamicTasks;
-import brooklyn.util.task.system.ProcessTaskStub.ScriptReturnType;
import brooklyn.util.task.system.ProcessTaskWrapper;
import brooklyn.util.text.Strings;
import brooklyn.util.time.Duration;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/software/base/src/main/java/brooklyn/entity/pool/ServerPool.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/brooklyn/entity/pool/ServerPool.java b/software/base/src/main/java/brooklyn/entity/pool/ServerPool.java
index 28cf503..c0b2b5f 100644
--- a/software/base/src/main/java/brooklyn/entity/pool/ServerPool.java
+++ b/software/base/src/main/java/brooklyn/entity/pool/ServerPool.java
@@ -37,9 +37,10 @@ import brooklyn.entity.basic.MethodEffector;
import brooklyn.entity.group.DynamicCluster;
import brooklyn.entity.machine.MachineEntity;
import brooklyn.event.basic.Sensors;
-import brooklyn.location.MachineLocation;
-import brooklyn.location.NoMachinesAvailableException;
-import brooklyn.location.dynamic.LocationOwner;
+import org.apache.brooklyn.location.MachineLocation;
+import org.apache.brooklyn.location.NoMachinesAvailableException;
+import org.apache.brooklyn.location.cloud.CloudLocationConfig;
+import org.apache.brooklyn.location.dynamic.LocationOwner;
/**
* A preallocated server pool is an entity that other applications can deploy to.
@@ -51,7 +52,7 @@ import brooklyn.location.dynamic.LocationOwner;
* The pool does not configure ports appropriately for applications subsequently
* deployed. If an entity that is to be run in the pool requires any ports open
* other than port 22 then thoses port should be configured with the
- * {@link brooklyn.location.cloud.CloudLocationConfig#INBOUND_PORTS INBOUND_PORTS}
+ * {@link CloudLocationConfig#INBOUND_PORTS INBOUND_PORTS}
* config key as part of the pool's
* {@link brooklyn.entity.basic.SoftwareProcess#PROVISIONING_PROPERTIES PROVISIONING_PROPERTIES}.
* For example, in YAML:
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/software/base/src/main/java/brooklyn/entity/pool/ServerPoolImpl.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/brooklyn/entity/pool/ServerPoolImpl.java b/software/base/src/main/java/brooklyn/entity/pool/ServerPoolImpl.java
index e7fb72d..2876b31 100644
--- a/software/base/src/main/java/brooklyn/entity/pool/ServerPoolImpl.java
+++ b/software/base/src/main/java/brooklyn/entity/pool/ServerPoolImpl.java
@@ -40,13 +40,13 @@ import brooklyn.entity.group.AbstractMembershipTrackingPolicy;
import brooklyn.entity.group.DynamicClusterImpl;
import brooklyn.entity.trait.Startable;
import brooklyn.event.basic.Sensors;
-import brooklyn.location.Location;
-import brooklyn.location.LocationDefinition;
-import brooklyn.location.MachineLocation;
-import brooklyn.location.NoMachinesAvailableException;
-import brooklyn.location.basic.BasicLocationDefinition;
-import brooklyn.location.basic.Machines;
-import brooklyn.location.dynamic.DynamicLocation;
+import org.apache.brooklyn.location.Location;
+import org.apache.brooklyn.location.LocationDefinition;
+import org.apache.brooklyn.location.MachineLocation;
+import org.apache.brooklyn.location.NoMachinesAvailableException;
+import org.apache.brooklyn.location.basic.BasicLocationDefinition;
+import org.apache.brooklyn.location.basic.Machines;
+import org.apache.brooklyn.location.dynamic.DynamicLocation;
import brooklyn.util.collections.MutableMap;
import brooklyn.util.guava.Maybe;
import brooklyn.util.task.DynamicTasks;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/software/base/src/main/java/brooklyn/entity/pool/ServerPoolLocation.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/brooklyn/entity/pool/ServerPoolLocation.java b/software/base/src/main/java/brooklyn/entity/pool/ServerPoolLocation.java
index ed04ea2..7123760 100644
--- a/software/base/src/main/java/brooklyn/entity/pool/ServerPoolLocation.java
+++ b/software/base/src/main/java/brooklyn/entity/pool/ServerPoolLocation.java
@@ -30,11 +30,11 @@ import com.google.common.collect.Maps;
import brooklyn.config.ConfigKey;
import brooklyn.entity.basic.ConfigKeys;
-import brooklyn.location.MachineLocation;
-import brooklyn.location.MachineProvisioningLocation;
-import brooklyn.location.NoMachinesAvailableException;
-import brooklyn.location.basic.AbstractLocation;
-import brooklyn.location.dynamic.DynamicLocation;
+import org.apache.brooklyn.location.MachineLocation;
+import org.apache.brooklyn.location.MachineProvisioningLocation;
+import org.apache.brooklyn.location.NoMachinesAvailableException;
+import org.apache.brooklyn.location.basic.AbstractLocation;
+import org.apache.brooklyn.location.dynamic.DynamicLocation;
import brooklyn.util.flags.SetFromFlag;
public class ServerPoolLocation extends AbstractLocation implements MachineProvisioningLocation<MachineLocation>,
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/software/base/src/main/java/brooklyn/entity/pool/ServerPoolLocationResolver.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/brooklyn/entity/pool/ServerPoolLocationResolver.java b/software/base/src/main/java/brooklyn/entity/pool/ServerPoolLocationResolver.java
index ba6608b..2de1da2 100644
--- a/software/base/src/main/java/brooklyn/entity/pool/ServerPoolLocationResolver.java
+++ b/software/base/src/main/java/brooklyn/entity/pool/ServerPoolLocationResolver.java
@@ -35,14 +35,14 @@ import com.google.common.base.Joiner;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Sets;
-import brooklyn.location.Location;
-import brooklyn.location.LocationRegistry;
-import brooklyn.location.LocationResolver.EnableableLocationResolver;
-import brooklyn.location.LocationSpec;
-import brooklyn.location.basic.BasicLocationRegistry;
-import brooklyn.location.basic.LocationInternal;
-import brooklyn.location.basic.LocationPropertiesFromBrooklynProperties;
-import brooklyn.location.dynamic.DynamicLocation;
+import org.apache.brooklyn.location.Location;
+import org.apache.brooklyn.location.LocationRegistry;
+import org.apache.brooklyn.location.LocationResolver.EnableableLocationResolver;
+import org.apache.brooklyn.location.LocationSpec;
+import org.apache.brooklyn.location.basic.BasicLocationRegistry;
+import org.apache.brooklyn.location.basic.LocationInternal;
+import org.apache.brooklyn.location.basic.LocationPropertiesFromBrooklynProperties;
+import org.apache.brooklyn.location.dynamic.DynamicLocation;
import brooklyn.util.collections.MutableMap;
import brooklyn.util.text.KeyValueParser;
import brooklyn.util.text.Strings;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/software/base/src/main/java/brooklyn/entity/service/InitdServiceInstaller.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/brooklyn/entity/service/InitdServiceInstaller.java b/software/base/src/main/java/brooklyn/entity/service/InitdServiceInstaller.java
index 4503ef9..3d51ccf 100644
--- a/software/base/src/main/java/brooklyn/entity/service/InitdServiceInstaller.java
+++ b/software/base/src/main/java/brooklyn/entity/service/InitdServiceInstaller.java
@@ -34,8 +34,8 @@ import brooklyn.entity.basic.ConfigKeys;
import brooklyn.entity.basic.EntityInternal;
import brooklyn.entity.basic.SoftwareProcess;
import brooklyn.entity.effector.EffectorTasks;
-import brooklyn.location.basic.SshMachineLocation;
-import brooklyn.location.cloud.names.AbstractCloudMachineNamer;
+import org.apache.brooklyn.location.basic.SshMachineLocation;
+import org.apache.brooklyn.location.cloud.names.AbstractCloudMachineNamer;
import brooklyn.util.ResourceUtils;
import brooklyn.util.collections.MutableMap;
import brooklyn.util.os.Os;