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/09/29 12:04:12 UTC

[2/5] jclouds-labs git commit: wip - fix AzureComputeServiceLiveTest

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/50ca53e8
Tree: http://git-wip-us.apache.org/repos/asf/jclouds-labs/tree/50ca53e8
Diff: http://git-wip-us.apache.org/repos/asf/jclouds-labs/diff/50ca53e8

Branch: refs/heads/fix/AzureTemplateBuilderLiveTest
Commit: 50ca53e83af4bc081de83228f5d47ba6774b2ed1
Parents: d48537f
Author: Andrea Turli <an...@gmail.com>
Authored: Thu Sep 29 12:24:38 2016 +0200
Committer: Ignasi Barrera <na...@apache.org>
Committed: Thu Sep 29 13:05:34 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/50ca53e8/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/50ca53e8/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/50ca53e8/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/50ca53e8/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);