wip - fix AzureComputeServiceLiveTest

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

Branch: refs/heads/fix/AzureTemplateBuilderLiveTest
Commit: 9276c9d70c0b41db8c37ba2f169f9e6b3d556e0e
Parents: 52d66b0
Author: Andrea Turli <[email protected]>
Authored: Thu Sep 29 12:24:38 2016 +0200
Committer: Andrea Turli <[email protected]>
Committed: Thu Sep 29 12:24:38 2016 +0200

----------------------------------------------------------------------
 .../predicates/IsDeploymentInRegions.java       |  1 +
 .../CreateResourceGroupThenCreateNodes.java     | 26 ++++++++++++++------
 .../arm/util/DeploymentTemplateBuilder.java     |  7 +++---
 .../compute/AzureComputeServiceLiveTest.java    |  2 +-
 4 files changed, 24 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9276c9d7/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/predicates/IsDeploymentInRegions.java
----------------------------------------------------------------------
diff --git 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/predicates/IsDeploymentInRegions.java
 
b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/predicates/IsDeploymentInRegions.java
index 57a0678..66590e1 100644
--- 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/predicates/IsDeploymentInRegions.java
+++ 
b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/predicates/IsDeploymentInRegions.java
@@ -40,6 +40,7 @@ public class IsDeploymentInRegions implements 
Predicate<Deployment> {
 
    @Override
    public boolean apply(Deployment deployment) {
+      if (deployment.properties() == null || 
deployment.properties().parameters() == null || 
deployment.properties().parameters().get("location") == null) return false;
       Value locationValue = 
deployment.properties().parameters().get("location");
       return regionIds.get().contains(locationValue.value());
    }

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9276c9d7/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/strategy/CreateResourceGroupThenCreateNodes.java
----------------------------------------------------------------------
diff --git 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/strategy/CreateResourceGroupThenCreateNodes.java
 
b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/strategy/CreateResourceGroupThenCreateNodes.java
index 468b87c..59375b5 100644
--- 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/strategy/CreateResourceGroupThenCreateNodes.java
+++ 
b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/strategy/CreateResourceGroupThenCreateNodes.java
@@ -16,8 +16,6 @@
  */
 package org.jclouds.azurecompute.arm.compute.strategy;
 
-import static com.google.common.base.Preconditions.checkNotNull;
-
 import java.util.Arrays;
 import java.util.Map;
 import java.util.Set;
@@ -27,12 +25,13 @@ import javax.inject.Inject;
 import javax.inject.Named;
 import javax.inject.Singleton;
 
-import com.google.common.collect.ImmutableMap;
 import org.jclouds.Constants;
+import org.jclouds.azurecompute.arm.AzureComputeApi;
 import 
org.jclouds.azurecompute.arm.compute.config.AzureComputeServiceContextModule;
 import org.jclouds.azurecompute.arm.compute.options.AzureTemplateOptions;
 import org.jclouds.azurecompute.arm.domain.ResourceGroup;
 import org.jclouds.azurecompute.arm.domain.Subnet;
+import org.jclouds.azurecompute.arm.domain.VirtualNetwork;
 import org.jclouds.azurecompute.arm.features.ResourceGroupApi;
 import org.jclouds.azurecompute.arm.features.SubnetApi;
 import org.jclouds.azurecompute.arm.features.VirtualNetworkApi;
@@ -45,13 +44,15 @@ import 
org.jclouds.compute.strategy.CreateNodeWithGroupEncodedIntoName;
 import 
org.jclouds.compute.strategy.CustomizeNodeAndAddToGoodMapOrPutExceptionIntoBadMap;
 import org.jclouds.compute.strategy.ListNodesStrategy;
 import 
org.jclouds.compute.strategy.impl.CreateNodesWithGroupEncodedIntoNameThenAddToSet;
-import org.jclouds.azurecompute.arm.AzureComputeApi;
-import org.jclouds.azurecompute.arm.domain.VirtualNetwork;
 import org.jclouds.logging.Logger;
+
+import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.Multimap;
 import com.google.common.util.concurrent.ListenableFuture;
 import com.google.common.util.concurrent.ListeningExecutorService;
 
+import static com.google.common.base.Preconditions.checkNotNull;
+
 @Singleton
 public class CreateResourceGroupThenCreateNodes extends 
CreateNodesWithGroupEncodedIntoNameThenAddToSet {
 
@@ -81,7 +82,13 @@ public class CreateResourceGroupThenCreateNodes extends 
CreateNodesWithGroupEnco
    public Map<?, ListenableFuture<Void>> execute(String group, int count, 
Template template,
                                                  Set<NodeMetadata> goodNodes, 
Map<NodeMetadata, Exception> badNodes,
                                                  Multimap<NodeMetadata, 
CustomizationResponse> customizationResponses) {
-
+      // If there is a script to be run on the node and public key
+      // authentication has been configured, warn users if the private key
+      // is not present
+      if (hasRunScriptWithKeyAuthAndNoPrivateKey(template)) {
+         logger.warn(">> a runScript was configured but no SSH key has been 
provided. " +
+                 "Authentication will delegate to the ssh-agent");
+      }
       String azureGroupName = this.azureComputeConstants.azureResourceGroup();
 
       AzureTemplateOptions options = 
template.getOptions().as(AzureTemplateOptions.class);
@@ -91,7 +98,7 @@ public class CreateResourceGroupThenCreateNodes extends 
CreateNodesWithGroupEnco
       final String location = template.getLocation().getId();
 
       if (resourceGroup == null){
-         final Map<String, String> tags = ImmutableMap.of("description", 
"jClouds managed VMs");
+         final Map<String, String> tags = ImmutableMap.of("description", 
"jclouds managed VMs");
          resourceGroupApi.create(azureGroupName, location, tags).name();
       }
 
@@ -135,6 +142,11 @@ public class CreateResourceGroupThenCreateNodes extends 
CreateNodesWithGroupEnco
 
       options.virtualNetworkName(virtualNetworkName);
       options.subnetId(subnet.id());
+   }
 
+   private static boolean hasRunScriptWithKeyAuthAndNoPrivateKey(Template 
template) {
+      return template.getOptions().getRunScript() != null && 
template.getOptions().getPublicKey() != null
+              && !template.getOptions().hasLoginPrivateKeyOption();
    }
+   
 }

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9276c9d7/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/util/DeploymentTemplateBuilder.java
----------------------------------------------------------------------
diff --git 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/util/DeploymentTemplateBuilder.java
 
b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/util/DeploymentTemplateBuilder.java
index 31fa6bc..02d343f 100644
--- 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/util/DeploymentTemplateBuilder.java
+++ 
b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/util/DeploymentTemplateBuilder.java
@@ -23,7 +23,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.UUID;
 
-import 
org.jclouds.azurecompute.arm.compute.config.AzureComputeServiceContextModule;
 import 
org.jclouds.azurecompute.arm.compute.extensions.AzureComputeImageExtension;
 import org.jclouds.azurecompute.arm.compute.options.AzureTemplateOptions;
 import org.jclouds.azurecompute.arm.domain.DataDisk;
@@ -86,7 +85,6 @@ public class DeploymentTemplateBuilder {
    private List<ResourceDefinition> resources;
    private Map<String, String> variables;
    private String location;
-   private AzureComputeServiceContextModule.AzureComputeConstants 
azureComputeConstants;
 
    private static final String DEPLOYMENT_MODE = "Incremental";
 
@@ -402,11 +400,12 @@ public class DeploymentTemplateBuilder {
       //Create Data Disk(s) and add to list
       final String dataDiskName = name + "datadisk";
       variables.put("dataDiskName", dataDiskName);
-
+      final String dataDiskSize = "100";
+      
       List<DataDisk> dataDisks = new ArrayList<DataDisk>();
       DataDisk dataDisk = DataDisk.builder()
               .name("[variables('dataDiskName')]")
-              
.diskSizeGB(azureComputeConstants.azureDefaultDataDiskSizeProperty())
+              .diskSizeGB(dataDiskSize)
               .lun(0)
               .vhd(
                       
VHD.create("[concat('http://',variables('storageAccountName'),'.blob.core.windows.net/',variables('storageAccountContainerName'),'/',variables('dataDiskName'),'.vhd')]")

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9276c9d7/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 d6fdd3c..15ca7c9 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
@@ -92,7 +92,7 @@ public class AzureComputeServiceLiveTest extends 
BaseComputeServiceLiveTest {
       properties.setProperty(TIMEOUT_NODE_TERMINATED, scriptTimeout + "");
       properties.setProperty(TIMEOUT_NODE_SUSPENDED, scriptTimeout + "");
       properties.put(RESOURCE_GROUP_NAME, "a4");
-      properties.put(TEMPLATE, "locationId=westeurope");
+      properties.put(TEMPLATE, "locationId=northeurope");
       properties.put(IMAGE_PUBLISHERS, "Canonical");
 
       AzureLiveTestUtils.defaultProperties(properties);

Reply via email to