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);