You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by na...@apache.org on 2016/10/17 11:02:30 UTC

[2/3] jclouds-labs git commit: PR Fixes

PR Fixes


Project: http://git-wip-us.apache.org/repos/asf/jclouds-labs/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds-labs/commit/c9542dc0
Tree: http://git-wip-us.apache.org/repos/asf/jclouds-labs/tree/c9542dc0
Diff: http://git-wip-us.apache.org/repos/asf/jclouds-labs/diff/c9542dc0

Branch: refs/heads/resource-group-location
Commit: c9542dc03d3df396d28225bdec14dd06d561a0e7
Parents: e678546
Author: Ignasi Barrera <na...@apache.org>
Authored: Mon Oct 17 12:01:09 2016 +0200
Committer: Ignasi Barrera <na...@apache.org>
Committed: Mon Oct 17 12:01:09 2016 +0200

----------------------------------------------------------------------
 .../arm/compute/AzureComputeServiceAdapter.java | 211 +++++++++----------
 .../compute/AzureComputeServiceLiveTest.java    |  23 +-
 .../compute/AzureTemplateBuilderLiveTest.java   |  14 +-
 .../AzureComputeImageExtensionLiveTest.java     |  23 +-
 .../arm/internal/AzureLiveTestUtils.java        |  25 ++-
 5 files changed, 125 insertions(+), 171 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/c9542dc0/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/AzureComputeServiceAdapter.java
----------------------------------------------------------------------
diff --git a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/AzureComputeServiceAdapter.java b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/AzureComputeServiceAdapter.java
index 94f255c..a2660d7 100644
--- a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/AzureComputeServiceAdapter.java
+++ b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/AzureComputeServiceAdapter.java
@@ -89,8 +89,8 @@ import com.google.common.collect.Iterables;
 import com.google.common.collect.Lists;
 
 /**
- * Defines the connection between the {@link AzureComputeApi} implementation and the jclouds
- * {@link org.jclouds.compute.ComputeService}.
+ * Defines the connection between the {@link AzureComputeApi} implementation and
+ * the jclouds {@link org.jclouds.compute.ComputeService}.
  */
 @Singleton
 public class AzureComputeServiceAdapter implements ComputeServiceAdapter<VirtualMachine, VMHardware, VMImage, Location> {
@@ -105,8 +105,7 @@ public class AzureComputeServiceAdapter implements ComputeServiceAdapter<Virtual
    @Inject
    AzureComputeServiceAdapter(final AzureComputeApi api, final AzureComputeConstants azureComputeConstants,
          CleanupResources cleanupResources, @Region Supplier<Set<String>> regionIds,
-         PublicIpAvailablePredicateFactory publicIpAvailable,
-         LocationToResourceGroupName locationToResourceGroupName) {
+         PublicIpAvailablePredicateFactory publicIpAvailable, LocationToResourceGroupName locationToResourceGroupName) {
       this.api = api;
       this.azureComputeConstants = azureComputeConstants;
       this.cleanupResources = cleanupResources;
@@ -116,38 +115,41 @@ public class AzureComputeServiceAdapter implements ComputeServiceAdapter<Virtual
    }
 
    @Override
-   public NodeAndInitialCredentials<VirtualMachine> createNodeWithGroupEncodedIntoName(
-           final String group, final String name, final Template template) {
+   public NodeAndInitialCredentials<VirtualMachine> createNodeWithGroupEncodedIntoName(final String group,
+         final String name, final Template template) {
 
       AzureTemplateOptions templateOptions = template.getOptions().as(AzureTemplateOptions.class);
       String azureGroup = locationToResourceGroupName.apply(template.getLocation().getId());
 
-      // TODO Store group apart from the name to be able to identify nodes with custom names in the configured group
+      // TODO Store group apart from the name to be able to identify nodes with
+      // custom names in the configured group
       // TODO ARM specific options
       // TODO user metadata and tags
       // TODO network ids => create one nic in each network
       // TODO inbound ports
-      
+
       String locationName = template.getLocation().getId();
       String subnetId = templateOptions.getSubnetId();
       NetworkInterfaceCard nic = createNetworkInterfaceCard(subnetId, name, locationName, azureGroup);
       StorageProfile storageProfile = createStorageProfile(name, template.getImage(), templateOptions.getBlob());
       HardwareProfile hardwareProfile = HardwareProfile.builder().vmSize(template.getHardware().getId()).build();
       OSProfile osProfile = createOsProfile(name, template);
-      NetworkProfile networkProfile = NetworkProfile.builder().networkInterfaces(ImmutableList.of(IdReference.create(nic.id()))).build();
+      NetworkProfile networkProfile = NetworkProfile.builder()
+            .networkInterfaces(ImmutableList.of(IdReference.create(nic.id()))).build();
       VirtualMachineProperties virtualMachineProperties = VirtualMachineProperties.builder()
-              .licenseType(null) // TODO
-              .availabilitySet(null) // TODO
-              .hardwareProfile(hardwareProfile)
-              .storageProfile(storageProfile)
-              .osProfile(osProfile)
-              .networkProfile(networkProfile)
-              .build();
-
-      VirtualMachine virtualMachine = api.getVirtualMachineApi(azureGroup).create(name, template.getLocation().getId(), virtualMachineProperties);
-
-      // Safe to pass null credentials here, as jclouds will default populate the node with the default credentials from the image, or the ones in the options, if provided.
-      return new NodeAndInitialCredentials<VirtualMachine>(virtualMachine, name, null);
+            .licenseType(null) // TODO
+            .availabilitySet(null) // TODO
+            .hardwareProfile(hardwareProfile).storageProfile(storageProfile).osProfile(osProfile)
+            .networkProfile(networkProfile).build();
+
+      VirtualMachine virtualMachine = api.getVirtualMachineApi(azureGroup).create(name, template.getLocation().getId(),
+            virtualMachineProperties);
+
+      // Safe to pass null credentials here, as jclouds will default populate
+      // the node with the default credentials from the image, or the ones in
+      // the options, if provided.
+      RegionAndId regionAndId = RegionAndId.fromRegionAndId(template.getLocation().getId(), name);
+      return new NodeAndInitialCredentials<VirtualMachine>(virtualMachine, regionAndId.slashEncode(), null);
    }
 
    @Override
@@ -155,16 +157,11 @@ public class AzureComputeServiceAdapter implements ComputeServiceAdapter<Virtual
       final List<VMHardware> hwProfiles = Lists.newArrayList();
       for (Location location : listLocations()) {
          Iterable<VMSize> vmSizes = api.getVMSizeApi(location.name()).list();
-         for (VMSize vmSize : vmSizes){
-            VMHardware hwProfile = VMHardware.create(
-                    vmSize.name(),
-                    vmSize.numberOfCores(),
-                    vmSize.osDiskSizeInMB(),
-                    vmSize.resourceDiskSizeInMB(),
-                    vmSize.memoryInMB(),
-                    vmSize.maxDataDiskCount(),
-                    location.name(),
-                    false);
+         for (VMSize vmSize : vmSizes) {
+            VMHardware hwProfile = VMHardware
+                  .create(vmSize.name(), vmSize.numberOfCores(), vmSize.osDiskSizeInMB(),
+                        vmSize.resourceDiskSizeInMB(), vmSize.memoryInMB(), vmSize.maxDataDiskCount(), location.name(),
+                        false);
             hwProfiles.add(hwProfile);
          }
       }
@@ -193,7 +190,8 @@ public class AzureComputeServiceAdapter implements ComputeServiceAdapter<Virtual
 
    private List<VMImage> listImagesByLocation(String location) {
       final List<VMImage> osImages = Lists.newArrayList();
-      Iterable<String> publishers = Splitter.on(',').trimResults().omitEmptyStrings().split(this.azureComputeConstants.azureImagePublishers());
+      Iterable<String> publishers = Splitter.on(',').trimResults().omitEmptyStrings()
+            .split(this.azureComputeConstants.azureImagePublishers());
       for (String publisher : publishers) {
          osImages.addAll(getImagesFromPublisher(publisher, location));
       }
@@ -204,15 +202,15 @@ public class AzureComputeServiceAdapter implements ComputeServiceAdapter<Virtual
    public Iterable<VMImage> listImages() {
       final List<VMImage> osImages = Lists.newArrayList();
 
-      for (Location location : listLocations()){
+      for (Location location : listLocations()) {
          osImages.addAll(listImagesByLocation(location.name()));
       }
-      
+
       // list custom images
       for (ResourceGroup resourceGroup : api.getResourceGroupApi().list()) {
          String azureGroup = resourceGroup.name();
          List<StorageService> storages = api.getStorageAccountApi(azureGroup).list();
-         
+
          for (StorageService storage : storages) {
             String name = storage.name();
             StorageService storageService = api.getStorageAccountApi(azureGroup).get(name);
@@ -230,7 +228,7 @@ public class AzureComputeServiceAdapter implements ComputeServiceAdapter<Virtual
             }
          }
       }
-      
+
       return osImages;
    }
 
@@ -238,15 +236,16 @@ public class AzureComputeServiceAdapter implements ComputeServiceAdapter<Virtual
    public VMImage getImage(final String id) {
       VMImage image = decodeFieldsFromUniqueId(id);
       String azureGroup = locationToResourceGroupName.apply(image.location());
-      
+
       if (image.custom()) {
          VMImage customImage = null;
          StorageServiceKeys keys = api.getStorageAccountApi(azureGroup).getKeys(image.storage());
          if (keys == null) {
-            // If the storage account for the image does not exist, it means the image was deleted
+            // If the storage account for the image does not exist, it means the
+            // image was deleted
             return null;
          }
-         
+
          BlobHelper blobHelper = new BlobHelper(image.storage(), keys.key1());
          try {
             if (blobHelper.customImageExists()) {
@@ -282,33 +281,29 @@ public class AzureComputeServiceAdapter implements ComputeServiceAdapter<Virtual
    @Override
    public Iterable<Location> listLocations() {
       final Iterable<String> vmLocations = FluentIterable.from(api.getResourceProviderApi().get("Microsoft.Compute"))
-              .filter(new Predicate<ResourceProviderMetaData>() {
-                 @Override
-                 public boolean apply(ResourceProviderMetaData input) {
-                    return input.resourceType().equals("virtualMachines");
-                 }
-              })
-              .transformAndConcat(new Function<ResourceProviderMetaData, Iterable<String>>() {
-                 @Override
-                 public Iterable<String> apply(ResourceProviderMetaData resourceProviderMetaData) {
-                    return resourceProviderMetaData.locations();
-                 }
-              });
-
-      List<Location> locations = FluentIterable.from(api.getLocationApi().list())
-              .filter(new Predicate<Location>() {
-                 @Override
-                 public boolean apply(Location location) {
-                    return Iterables.contains(vmLocations, location.displayName());
-                 }
-              })
-              .filter(new Predicate<Location>() {
-                 @Override
-                 public boolean apply(Location location) {
-                    return regionIds.get().isEmpty() ? true : regionIds.get().contains(location.name());
-                 }
-              })
-              .toList();
+            .filter(new Predicate<ResourceProviderMetaData>() {
+               @Override
+               public boolean apply(ResourceProviderMetaData input) {
+                  return input.resourceType().equals("virtualMachines");
+               }
+            }).transformAndConcat(new Function<ResourceProviderMetaData, Iterable<String>>() {
+               @Override
+               public Iterable<String> apply(ResourceProviderMetaData resourceProviderMetaData) {
+                  return resourceProviderMetaData.locations();
+               }
+            });
+
+      List<Location> locations = FluentIterable.from(api.getLocationApi().list()).filter(new Predicate<Location>() {
+         @Override
+         public boolean apply(Location location) {
+            return Iterables.contains(vmLocations, location.displayName());
+         }
+      }).filter(new Predicate<Location>() {
+         @Override
+         public boolean apply(Location location) {
+            return regionIds.get().isEmpty() ? true : regionIds.get().contains(location.name());
+         }
+      }).toList();
 
       return locations;
    }
@@ -317,7 +312,7 @@ public class AzureComputeServiceAdapter implements ComputeServiceAdapter<Virtual
    public VirtualMachine getNode(final String id) {
       RegionAndId regionAndId = RegionAndId.fromSlashEncoded(id);
       String azureGroup = locationToResourceGroupName.apply(regionAndId.region());
-      return api.getVirtualMachineApi(azureGroup).get(id);
+      return api.getVirtualMachineApi(azureGroup).get(regionAndId.id());
    }
 
    @Override
@@ -329,21 +324,21 @@ public class AzureComputeServiceAdapter implements ComputeServiceAdapter<Virtual
    public void rebootNode(final String id) {
       RegionAndId regionAndId = RegionAndId.fromSlashEncoded(id);
       String azureGroup = locationToResourceGroupName.apply(regionAndId.region());
-      api.getVirtualMachineApi(azureGroup).restart(id);
+      api.getVirtualMachineApi(azureGroup).restart(regionAndId.id());
    }
 
    @Override
    public void resumeNode(final String id) {
       RegionAndId regionAndId = RegionAndId.fromSlashEncoded(id);
       String azureGroup = locationToResourceGroupName.apply(regionAndId.region());
-      api.getVirtualMachineApi(azureGroup).start(id);
+      api.getVirtualMachineApi(azureGroup).start(regionAndId.id());
    }
 
    @Override
    public void suspendNode(final String id) {
       RegionAndId regionAndId = RegionAndId.fromSlashEncoded(id);
       String azureGroup = locationToResourceGroupName.apply(regionAndId.region());
-      api.getVirtualMachineApi(azureGroup).stop(id);
+      api.getVirtualMachineApi(azureGroup).stop(regionAndId.id());
    }
 
    @Override
@@ -365,59 +360,55 @@ public class AzureComputeServiceAdapter implements ComputeServiceAdapter<Virtual
       });
    }
 
-
    private OSProfile createOsProfile(String computerName, Template template) {
       String defaultLoginUser = template.getImage().getDefaultCredentials().getUser();
       String defaultLoginPassword = template.getImage().getDefaultCredentials().getOptionalPassword().get();
       String adminUsername = Objects.firstNonNull(template.getOptions().getLoginUser(), defaultLoginUser);
       String adminPassword = Objects.firstNonNull(template.getOptions().getLoginPassword(), defaultLoginPassword);
-      OSProfile.Builder builder = OSProfile.builder().adminUsername(adminUsername).computerName(computerName);
+      OSProfile.Builder builder = OSProfile.builder().adminUsername(adminUsername).adminPassword(adminPassword)
+            .computerName(computerName);
+
       // prefer public key over password
-      if (template.getOptions().getPublicKey() != null) {
+      if (template.getOptions().getPublicKey() != null
+            && OsFamily.WINDOWS != template.getImage().getOperatingSystem().getFamily()) {
          OSProfile.LinuxConfiguration linuxConfiguration = OSProfile.LinuxConfiguration.create("true",
-                 OSProfile.LinuxConfiguration.SSH.create(ImmutableList.of(
-                         OSProfile.LinuxConfiguration.SSH.SSHPublicKey.create(
-                                 String.format("/home/%s/.ssh/authorized_keys", adminUsername),
-                                 template.getOptions().getPublicKey())
-                 ))
-         );
+               OSProfile.LinuxConfiguration.SSH.create(ImmutableList.of(OSProfile.LinuxConfiguration.SSH.SSHPublicKey
+                     .create(String.format("/home/%s/.ssh/authorized_keys", adminUsername), template.getOptions()
+                           .getPublicKey()))));
          builder.linuxConfiguration(linuxConfiguration);
-      } else {
-         builder.adminPassword(adminPassword);
       }
+
       return builder.build();
    }
 
-   private NetworkInterfaceCard createNetworkInterfaceCard(String subnetId, String name, String locationName, String azureGroup) {
+   private NetworkInterfaceCard createNetworkInterfaceCard(String subnetId, String name, String locationName,
+         String azureGroup) {
       final PublicIPAddressApi ipApi = api.getPublicIPAddressApi(azureGroup);
 
-      PublicIPAddressProperties properties =
-              PublicIPAddressProperties.builder()
-                      .publicIPAllocationMethod("Static")
-                      .idleTimeoutInMinutes(4)
-                      .build();
+      PublicIPAddressProperties properties = PublicIPAddressProperties.builder().publicIPAllocationMethod("Static")
+            .idleTimeoutInMinutes(4).build();
 
       String publicIpAddressName = "public-address-" + name;
-      PublicIPAddress ip = ipApi.createOrUpdate(publicIpAddressName, locationName, ImmutableMap.of("jclouds", name), properties);
-      
+      PublicIPAddress ip = ipApi.createOrUpdate(publicIpAddressName, locationName, ImmutableMap.of("jclouds", name),
+            properties);
+
       checkState(publicIpAvailable.create(azureGroup).apply(publicIpAddressName),
             "Public IP was not provisioned in the configured timeout");
 
-      final NetworkInterfaceCardProperties networkInterfaceCardProperties =
-              NetworkInterfaceCardProperties.builder()
-                      .ipConfigurations(ImmutableList.of(
-                              IpConfiguration.builder()
-                                      .name("ipConfig-" + name)
-                                      .properties(IpConfigurationProperties.builder()
-                                              .privateIPAllocationMethod("Dynamic")
-                                              .publicIPAddress(IdReference.create(ip.id()))
-                                              .subnet(IdReference.create(subnetId))
-                                              .build())
-                                      .build()))
-                      .build();
+      final NetworkInterfaceCardProperties networkInterfaceCardProperties = NetworkInterfaceCardProperties
+            .builder()
+            .ipConfigurations(
+                  ImmutableList.of(IpConfiguration
+                        .builder()
+                        .name("ipConfig-" + name)
+                        .properties(
+                              IpConfigurationProperties.builder().privateIPAllocationMethod("Dynamic")
+                                    .publicIPAddress(IdReference.create(ip.id())).subnet(IdReference.create(subnetId))
+                                    .build()).build())).build();
 
       String networkInterfaceCardName = "jc-nic-" + name;
-      return api.getNetworkInterfaceCardApi(azureGroup).createOrUpdate(networkInterfaceCardName, locationName, networkInterfaceCardProperties, ImmutableMap.of("jclouds", name));
+      return api.getNetworkInterfaceCardApi(azureGroup).createOrUpdate(networkInterfaceCardName, locationName,
+            networkInterfaceCardProperties, ImmutableMap.of("jclouds", name));
    }
 
    private StorageProfile createStorageProfile(String name, Image image, String blob) {
@@ -425,14 +416,10 @@ public class AzureComputeServiceAdapter implements ComputeServiceAdapter<Virtual
       ImageReference imageReference = null;
       VHD sourceImage = null;
       String osType = null;
-      
+
       if (!imageRef.custom()) {
-         imageReference = ImageReference.builder()
-               .publisher(image.getProviderId())
-               .offer(image.getName())
-               .sku(image.getVersion())
-               .version("latest")
-               .build();
+         imageReference = ImageReference.builder().publisher(image.getProviderId()).offer(image.getName())
+               .sku(image.getVersion()).version("latest").build();
       } else {
          sourceImage = VHD.create(image.getProviderId());
 
@@ -440,10 +427,10 @@ public class AzureComputeServiceAdapter implements ComputeServiceAdapter<Virtual
          OsFamily osFamily = image.getOperatingSystem().getFamily();
          osType = osFamily == OsFamily.WINDOWS ? "Windows" : "Linux";
       }
-      
+
       VHD vhd = VHD.create(blob + "vhds/" + name + ".vhd");
       OSDisk osDisk = OSDisk.create(osType, name, vhd, "ReadWrite", "FromImage", sourceImage);
-      
-      return StorageProfile.create(imageReference, osDisk, ImmutableList.<DataDisk>of());
+
+      return StorageProfile.create(imageReference, osDisk, ImmutableList.<DataDisk> of());
    }
 }

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/c9542dc0/azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/compute/AzureComputeServiceLiveTest.java
----------------------------------------------------------------------
diff --git a/azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/compute/AzureComputeServiceLiveTest.java b/azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/compute/AzureComputeServiceLiveTest.java
index a0ad66c..c59509f 100644
--- a/azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/compute/AzureComputeServiceLiveTest.java
+++ b/azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/compute/AzureComputeServiceLiveTest.java
@@ -16,19 +16,9 @@
  */
 package org.jclouds.azurecompute.arm.compute;
 
-import static com.google.common.base.Preconditions.checkNotNull;
-import static org.jclouds.azurecompute.arm.config.AzureComputeProperties.IMAGE_PUBLISHERS;
-import static org.jclouds.compute.config.ComputeServiceProperties.RESOURCENAME_PREFIX;
-import static org.jclouds.compute.config.ComputeServiceProperties.TIMEOUT_NODE_RUNNING;
-import static org.jclouds.compute.config.ComputeServiceProperties.TIMEOUT_NODE_SUSPENDED;
-import static org.jclouds.compute.config.ComputeServiceProperties.TIMEOUT_NODE_TERMINATED;
-import static org.jclouds.compute.config.ComputeServiceProperties.TIMEOUT_PORT_OPEN;
-import static org.jclouds.compute.config.ComputeServiceProperties.TIMEOUT_SCRIPT_COMPLETE;
 import static org.jclouds.compute.options.TemplateOptions.Builder.authorizePublicKey;
-import static org.jclouds.location.reference.LocationConstants.PROPERTY_REGIONS;
 
 import java.util.Properties;
-import java.util.concurrent.TimeUnit;
 
 import org.jclouds.azurecompute.arm.AzureComputeProviderMetadata;
 import org.jclouds.azurecompute.arm.internal.AzureLiveTestUtils;
@@ -78,19 +68,8 @@ public class AzureComputeServiceLiveTest extends BaseComputeServiceLiveTest {
    @Override
    protected Properties setupProperties() {
       Properties properties = super.setupProperties();
-      String defaultTimeout = String.valueOf(TimeUnit.MILLISECONDS.convert(60, TimeUnit.MINUTES));
-      properties.setProperty(TIMEOUT_SCRIPT_COMPLETE, defaultTimeout);
-      properties.setProperty(TIMEOUT_NODE_RUNNING, defaultTimeout);
-      properties.setProperty(TIMEOUT_PORT_OPEN, defaultTimeout);
-      properties.setProperty(TIMEOUT_NODE_TERMINATED, defaultTimeout);
-      properties.setProperty(TIMEOUT_NODE_SUSPENDED, defaultTimeout);
-      properties.put(RESOURCENAME_PREFIX, "jc");
-      properties.put(PROPERTY_REGIONS, "eastus");
-      properties.put(IMAGE_PUBLISHERS, "Canonical");
-
       AzureLiveTestUtils.defaultProperties(properties);
-      checkNotNull(setIfTestSystemPropertyPresent(properties, "oauth.endpoint"), "test.oauth.endpoint");
-
+      setIfTestSystemPropertyPresent(properties, "oauth.endpoint");
       return properties;
    }
 

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/c9542dc0/azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/compute/AzureTemplateBuilderLiveTest.java
----------------------------------------------------------------------
diff --git a/azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/compute/AzureTemplateBuilderLiveTest.java b/azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/compute/AzureTemplateBuilderLiveTest.java
index 794bde2..56200c4 100644
--- a/azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/compute/AzureTemplateBuilderLiveTest.java
+++ b/azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/compute/AzureTemplateBuilderLiveTest.java
@@ -16,8 +16,6 @@
  */
 package org.jclouds.azurecompute.arm.compute;
 
-import static com.google.common.base.Preconditions.checkNotNull;
-import static org.jclouds.compute.config.ComputeServiceProperties.RESOURCENAME_PREFIX;
 import static org.jclouds.compute.util.ComputeServiceUtils.getCores;
 import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertTrue;
@@ -58,25 +56,23 @@ public class AzureTemplateBuilderLiveTest extends BaseTemplateBuilderLiveTest {
    @Override
    protected Properties setupProperties() {
       Properties properties = super.setupProperties();
-      properties.put(RESOURCENAME_PREFIX, "jc");
-
       AzureLiveTestUtils.defaultProperties(properties);
-      checkNotNull(setIfTestSystemPropertyPresent(properties, "oauth.endpoint"), "test.oauth.endpoint");
-
+      setIfTestSystemPropertyPresent(properties, "oauth.endpoint");
       return properties;
    }
-   
+
    @Override
    @Test
    public void testDefaultTemplateBuilder() throws IOException {
       Template defaultTemplate = view.getComputeService().templateBuilder().build();
       assertTrue(defaultTemplate.getImage().getOperatingSystem().getVersion().matches("1[45]\\.[01][04]\\.[0-9]-LTS"),
-            "Version mismatch, expected dd.dd.d-LTS, found: " + defaultTemplate.getImage().getOperatingSystem().getVersion());
+            "Version mismatch, expected dd.dd.d-LTS, found: "
+                  + defaultTemplate.getImage().getOperatingSystem().getVersion());
       assertEquals(defaultTemplate.getImage().getOperatingSystem().is64Bit(), true);
       assertEquals(defaultTemplate.getImage().getOperatingSystem().getFamily(), OsFamily.UBUNTU);
       assertEquals(getCores(defaultTemplate.getHardware()), 1.0d);
    }
-   
+
    @Override
    protected Set<String> getIso3166Codes() {
       return Region.iso3166Codes();

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/c9542dc0/azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/compute/extensions/AzureComputeImageExtensionLiveTest.java
----------------------------------------------------------------------
diff --git a/azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/compute/extensions/AzureComputeImageExtensionLiveTest.java b/azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/compute/extensions/AzureComputeImageExtensionLiveTest.java
index 4d1a094..c8a9259 100644
--- a/azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/compute/extensions/AzureComputeImageExtensionLiveTest.java
+++ b/azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/compute/extensions/AzureComputeImageExtensionLiveTest.java
@@ -16,20 +16,10 @@
  */
 package org.jclouds.azurecompute.arm.compute.extensions;
 
-import static com.google.common.base.Preconditions.checkNotNull;
-import static org.jclouds.azurecompute.arm.config.AzureComputeProperties.IMAGE_PUBLISHERS;
-import static org.jclouds.compute.config.ComputeServiceProperties.RESOURCENAME_PREFIX;
-import static org.jclouds.compute.config.ComputeServiceProperties.TIMEOUT_NODE_RUNNING;
-import static org.jclouds.compute.config.ComputeServiceProperties.TIMEOUT_NODE_SUSPENDED;
-import static org.jclouds.compute.config.ComputeServiceProperties.TIMEOUT_NODE_TERMINATED;
-import static org.jclouds.compute.config.ComputeServiceProperties.TIMEOUT_PORT_OPEN;
-import static org.jclouds.compute.config.ComputeServiceProperties.TIMEOUT_SCRIPT_COMPLETE;
 import static org.jclouds.compute.options.TemplateOptions.Builder.authorizePublicKey;
-import static org.jclouds.location.reference.LocationConstants.PROPERTY_REGIONS;
 
 import java.util.Map;
 import java.util.Properties;
-import java.util.concurrent.TimeUnit;
 
 import org.jclouds.azurecompute.arm.AzureComputeProviderMetadata;
 import org.jclouds.azurecompute.arm.internal.AzureLiveTestUtils;
@@ -63,19 +53,8 @@ public class AzureComputeImageExtensionLiveTest extends BaseImageExtensionLiveTe
    @Override
    protected Properties setupProperties() {
       Properties properties = super.setupProperties();
-      String defaultTimeout = String.valueOf(TimeUnit.MILLISECONDS.convert(60, TimeUnit.MINUTES));
-      properties.setProperty(TIMEOUT_SCRIPT_COMPLETE, defaultTimeout);
-      properties.setProperty(TIMEOUT_NODE_RUNNING, defaultTimeout);
-      properties.setProperty(TIMEOUT_PORT_OPEN, defaultTimeout);
-      properties.setProperty(TIMEOUT_NODE_TERMINATED, defaultTimeout);
-      properties.setProperty(TIMEOUT_NODE_SUSPENDED, defaultTimeout);
-      properties.put(RESOURCENAME_PREFIX, "jc");
-      properties.put(PROPERTY_REGIONS, "eastus");
-      properties.put(IMAGE_PUBLISHERS, "Canonical");
-
       AzureLiveTestUtils.defaultProperties(properties);
-      checkNotNull(setIfTestSystemPropertyPresent(properties, "oauth.endpoint"), "test.oauth.endpoint");
-
+      setIfTestSystemPropertyPresent(properties, "oauth.endpoint");
       return properties;
    }
 

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/c9542dc0/azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/internal/AzureLiveTestUtils.java
----------------------------------------------------------------------
diff --git a/azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/internal/AzureLiveTestUtils.java b/azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/internal/AzureLiveTestUtils.java
index 3f69e59..125e11a 100644
--- a/azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/internal/AzureLiveTestUtils.java
+++ b/azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/internal/AzureLiveTestUtils.java
@@ -16,21 +16,34 @@
  */
 package org.jclouds.azurecompute.arm.internal;
 
-import java.util.Properties;
-
+import static org.jclouds.azurecompute.arm.config.AzureComputeProperties.IMAGE_PUBLISHERS;
+import static org.jclouds.compute.config.ComputeServiceProperties.TIMEOUT_NODE_RUNNING;
+import static org.jclouds.compute.config.ComputeServiceProperties.TIMEOUT_NODE_SUSPENDED;
+import static org.jclouds.compute.config.ComputeServiceProperties.TIMEOUT_NODE_TERMINATED;
+import static org.jclouds.compute.config.ComputeServiceProperties.TIMEOUT_PORT_OPEN;
+import static org.jclouds.compute.config.ComputeServiceProperties.TIMEOUT_SCRIPT_COMPLETE;
 import static org.jclouds.location.reference.LocationConstants.PROPERTY_REGIONS;
 import static org.jclouds.oauth.v2.config.CredentialType.CLIENT_CREDENTIALS_SECRET;
 import static org.jclouds.oauth.v2.config.OAuthProperties.CREDENTIAL_TYPE;
 
+import java.util.Properties;
+import java.util.concurrent.TimeUnit;
+
 public class AzureLiveTestUtils {
 
     public static Properties defaultProperties(Properties properties) {
        properties = properties == null ? new Properties() : properties;
-       properties.put("oauth.identity", "foo");
-       properties.put("oauth.credential", "password");
-       properties.put("oauth.endpoint", "https://login.microsoftonline.com/oauth2/token");
        properties.put(CREDENTIAL_TYPE, CLIENT_CREDENTIALS_SECRET.toString());
-       properties.put(PROPERTY_REGIONS, "northeurope");
+       properties.put(PROPERTY_REGIONS, "eastus");
+       properties.put(IMAGE_PUBLISHERS, "Canonical");
+       
+       String defaultTimeout = String.valueOf(TimeUnit.MILLISECONDS.convert(60, TimeUnit.MINUTES));
+       properties.setProperty(TIMEOUT_SCRIPT_COMPLETE, defaultTimeout);
+       properties.setProperty(TIMEOUT_NODE_RUNNING, defaultTimeout);
+       properties.setProperty(TIMEOUT_PORT_OPEN, defaultTimeout);
+       properties.setProperty(TIMEOUT_NODE_TERMINATED, defaultTimeout);
+       properties.setProperty(TIMEOUT_NODE_SUSPENDED, defaultTimeout);
+       
        return properties;
     }
 }