Repository: jclouds-labs
Updated Branches:
  refs/heads/fix/AzureTemplateBuilderLiveTest 5b832bfc6 -> 4045789ef


wip


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

Branch: refs/heads/fix/AzureTemplateBuilderLiveTest
Commit: 716ab744f112e8f652f2c300e1ce5eea3df83a22
Parents: 5b832bf
Author: Ignasi Barrera <[email protected]>
Authored: Wed Oct 5 17:10:59 2016 +0200
Committer: Ignasi Barrera <[email protected]>
Committed: Wed Oct 5 17:10:59 2016 +0200

----------------------------------------------------------------------
 .../arm/AzureComputeProviderMetadata.java       |  4 +-
 .../arm/compute/functions/VMImageToImage.java   |  3 +
 .../arm/filters/ApiVersionFilter.java           | 12 +--
 .../arm/functions/CleanupResources.java         |  3 +-
 .../azurecompute/arm/util/GetEnumValue.java     |  1 -
 .../compute/AzureComputeServiceLiveTest.java    | 87 +++++++++-----------
 6 files changed, 49 insertions(+), 61 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/716ab744/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/AzureComputeProviderMetadata.java
----------------------------------------------------------------------
diff --git 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/AzureComputeProviderMetadata.java
 
b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/AzureComputeProviderMetadata.java
index 5224410..ef15313 100644
--- 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/AzureComputeProviderMetadata.java
+++ 
b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/AzureComputeProviderMetadata.java
@@ -94,9 +94,9 @@ public class AzureComputeProviderMetadata extends 
BaseProviderMetadata {
       properties.put(DEFAULT_DATADISKSIZE, "100");
       properties.put(IMAGE_PUBLISHERS, "Canonical,RedHat");
       // Default credentials for all images
-      properties.put(TEMPLATE, 
"osFamily=UBUNTU,os64Bit=true,osVersionMatches=16.04.0-LTS");
       properties.put(IMAGE_LOGIN_USER, "jclouds:Password12345!");
-      properties.put(IMAGE_AUTHENTICATE_SUDO, "true");      
+      properties.put(IMAGE_AUTHENTICATE_SUDO, "true");
+      properties.put(TEMPLATE, 
"imageNameMatches=UbuntuServer,osVersionMatches=1[45]\\.[01][04]\\.[0-9]-LTS");
       properties.put(TIMEOUT_NODE_TERMINATED, 60 * 10 * 1000);
       // Api versions used in each API
       properties.put(API_VERSION_PREFIX + DeploymentApi.class.getSimpleName(), 
"2016-02-01");

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/716ab744/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/functions/VMImageToImage.java
----------------------------------------------------------------------
diff --git 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/functions/VMImageToImage.java
 
b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/functions/VMImageToImage.java
index 51ea075..1d2a49d 100644
--- 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/functions/VMImageToImage.java
+++ 
b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/functions/VMImageToImage.java
@@ -47,6 +47,7 @@ public class VMImageToImage implements Function<VMImage, 
Image> {
    private static final String SUSE = "SUSE";
    private static final String SQL_SERVER = "SQL Server";
    private static final String ORACLE_lINUX = "Oracle Linux";
+   private static final String RHEL = "RHEL";
 
    private final Supplier<Set<? extends org.jclouds.domain.Location>> 
locations;
 
@@ -150,6 +151,8 @@ public class VMImageToImage implements Function<VMImage, 
Image> {
                family = OsFamily.WINDOWS;
             } else if (label.contains(ORACLE_lINUX)) {
                family = OsFamily.OEL;
+            } else if (label.contains(RHEL)) {
+               family = OsFamily.RHEL;
             }
 
             String sku = image.sku();

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/716ab744/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/filters/ApiVersionFilter.java
----------------------------------------------------------------------
diff --git 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/filters/ApiVersionFilter.java
 
b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/filters/ApiVersionFilter.java
index f03950b..904c2e8 100644
--- 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/filters/ApiVersionFilter.java
+++ 
b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/filters/ApiVersionFilter.java
@@ -58,18 +58,19 @@ public class ApiVersionFilter implements HttpRequestFilter {
       checkArgument(request instanceof GeneratedHttpRequest,
             "This filter can only be applied to GeneratedHttpRequest objects");
       GeneratedHttpRequest generatedRequest = (GeneratedHttpRequest) request;
-      
+
       // Look if there is a custom api version for the current method
       String commandName = 
config.getCommandName(generatedRequest.getInvocation());
       String customApiVersion = versions.get(commandName);
-      
+
       if (customApiVersion == null) {
-         // No custom config for the specific method. Let's look for custom 
config for the class
+         // No custom config for the specific method. Let's look for custom
+         // config for the class
          Invokable<?, ?> invoked = 
generatedRequest.getInvocation().getInvokable();
          String className = 
invoked.getOwnerType().getRawType().getSimpleName();
          customApiVersion = versions.get(className);
       }
-      
+
       if (customApiVersion != null) {
          return request.toBuilder().replaceQueryParam("api-version", 
customApiVersion).build();
       }
@@ -77,8 +78,7 @@ public class ApiVersionFilter implements HttpRequestFilter {
       return request;
    }
 
-   private static final Map<String, String> versions(
-         Function<Predicate<String>, Map<String, String>> 
filterStringsBoundByName) {
+   private static Map<String, String> versions(Function<Predicate<String>, 
Map<String, String>> filterStringsBoundByName) {
       Map<String, String> stringBoundWithApiVersionPrefix = 
filterStringsBoundByName
             .apply(startsWith(API_VERSION_PREFIX));
       return transformKeys(stringBoundWithApiVersionPrefix, new 
Function<String, String>() {

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/716ab744/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/functions/CleanupResources.java
----------------------------------------------------------------------
diff --git 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/functions/CleanupResources.java
 
b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/functions/CleanupResources.java
index e035ba6..f44c761 100644
--- 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/functions/CleanupResources.java
+++ 
b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/functions/CleanupResources.java
@@ -16,8 +16,6 @@
  */
 package  org.jclouds.azurecompute.arm.functions;
 
-import autovalue.shaded.com.google.common.common.collect.Lists;
-
 import java.net.URI;
 import java.util.List;
 import java.util.Map;
@@ -41,6 +39,7 @@ import com.google.common.base.Predicate;
 import com.google.common.base.Splitter;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 
 import static com.google.common.base.Preconditions.checkNotNull;

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/716ab744/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/util/GetEnumValue.java
----------------------------------------------------------------------
diff --git 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/util/GetEnumValue.java
 
b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/util/GetEnumValue.java
index 4a61613..f42bad3 100644
--- 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/util/GetEnumValue.java
+++ 
b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/util/GetEnumValue.java
@@ -20,7 +20,6 @@ import java.util.EnumSet;
 
 public class GetEnumValue {
 
-   @SuppressWarnings("unchecked")
    public static <T extends Enum<T>> Enum<T> fromValueOrDefault(String text, 
Enum<T> defaultValue) {
       if (text != null) {
          EnumSet<T> elements = EnumSet.allOf(defaultValue.getDeclaringClass());

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/716ab744/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 81edddb..9caea43 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,49 +16,37 @@
  */
 package org.jclouds.azurecompute.arm.compute;
 
-import java.util.Map;
+import static com.google.common.base.Preconditions.checkNotNull;
+import static 
org.jclouds.azurecompute.arm.config.AzureComputeProperties.RESOURCE_GROUP_NAME;
+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 java.util.Properties;
-import java.util.concurrent.ExecutionException;
 import java.util.concurrent.TimeUnit;
 
 import org.jclouds.azurecompute.arm.AzureComputeProviderMetadata;
 import org.jclouds.azurecompute.arm.internal.AzureLiveTestUtils;
-import org.jclouds.compute.RunScriptOnNodesException;
-import org.jclouds.compute.domain.ExecResponse;
 import org.jclouds.compute.domain.NodeMetadata;
-import org.jclouds.compute.domain.OperatingSystem;
-import org.jclouds.compute.domain.Template;
 import org.jclouds.compute.internal.BaseComputeServiceLiveTest;
-import org.jclouds.compute.predicates.NodePredicates;
-import org.jclouds.domain.LoginCredentials;
 import org.jclouds.logging.config.LoggingModule;
 import org.jclouds.logging.slf4j.config.SLF4JLoggingModule;
 import org.jclouds.providers.ProviderMetadata;
-import org.jclouds.scriptbuilder.domain.Statement;
-import org.jclouds.scriptbuilder.domain.Statements;
-import org.jclouds.scriptbuilder.statements.java.InstallJDK;
-import org.jclouds.scriptbuilder.statements.login.AdminAccess;
 import org.jclouds.sshj.config.SshjSshClientModule;
 import org.testng.annotations.Test;
 
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableSet;
 import com.google.inject.Module;
 
-import static com.google.common.base.Preconditions.checkNotNull;
-import static 
org.jclouds.azurecompute.arm.config.AzureComputeProperties.IMAGE_PUBLISHERS;
-import static 
org.jclouds.azurecompute.arm.config.AzureComputeProperties.RESOURCE_GROUP_NAME;
-import static org.jclouds.compute.config.ComputeServiceProperties.TEMPLATE;
-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;
-
 /**
  * Live tests for the {@link org.jclouds.compute.ComputeService} integration.
  */
 @Test(groups = "live", singleThreaded = true, testName = 
"AzureComputeServiceLiveTest")
 public class AzureComputeServiceLiveTest extends BaseComputeServiceLiveTest {
-   protected int nonBlockDurationSeconds = 30;
 
    public AzureComputeServiceLiveTest() {
       provider = "azurecompute-arm";
@@ -78,22 +66,20 @@ public class AzureComputeServiceLiveTest extends 
BaseComputeServiceLiveTest {
 
    @Override
    protected ProviderMetadata createProviderMetadata() {
-      AzureComputeProviderMetadata pm = 
AzureComputeProviderMetadata.builder().build();
-      return pm;
+      return AzureComputeProviderMetadata.builder().build();
    }
 
    @Override
    protected Properties setupProperties() {
       Properties properties = super.setupProperties();
-      long scriptTimeout = TimeUnit.MILLISECONDS.convert(60, TimeUnit.MINUTES);
-      properties.setProperty(TIMEOUT_SCRIPT_COMPLETE, scriptTimeout + "");
-      properties.setProperty(TIMEOUT_NODE_RUNNING, scriptTimeout + "");
-      properties.setProperty(TIMEOUT_PORT_OPEN, scriptTimeout + "");
-      properties.setProperty(TIMEOUT_NODE_TERMINATED, scriptTimeout + "");
-      properties.setProperty(TIMEOUT_NODE_SUSPENDED, scriptTimeout + "");
-      properties.put(RESOURCE_GROUP_NAME, "j5s");
-      properties.put(TEMPLATE, 
"osFamily=UBUNTU,os64Bit=true,osVersionMatches=16.04.0-LTS,locationId=northeurope");
-      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);
+      properties.put(RESOURCE_GROUP_NAME, "a2");
+      properties.put(PROPERTY_REGIONS, "northeurope");
 
       AzureLiveTestUtils.defaultProperties(properties);
       checkNotNull(setIfTestSystemPropertyPresent(properties, 
"oauth.endpoint"), "test.oauth.endpoint");
@@ -102,24 +88,25 @@ public class AzureComputeServiceLiveTest extends 
BaseComputeServiceLiveTest {
    }
 
    @Override
-   protected Template refreshTemplate() {
-      return this.template = 
addRunScriptToTemplate(this.buildTemplate(this.client.templateBuilder()));
-   }
-
-   @Override
-   protected Template addRunScriptToTemplate(Template template) {
-      template.getOptions().runScript(Statements.newStatementList(new 
Statement[]{AdminAccess.standard(), Statements.exec("sleep 50"), 
InstallJDK.fromOpenJDK()}));
-      return template;
-   }
-
-   @Override
-   @Test( enabled = false)
-   protected void weCanCancelTasks(NodeMetadata node) throws 
InterruptedException, ExecutionException {
-      return;
+   protected void checkUserMetadataContains(NodeMetadata node, 
ImmutableMap<String, String> userMetadata) {
+      // User metadata not yet supported
    }
 
    @Override
-   protected Map<? extends NodeMetadata, ExecResponse> 
runScriptWithCreds(String group, OperatingSystem os, LoginCredentials creds) 
throws RunScriptOnNodesException {
-      return 
this.client.runScriptOnNodesMatching(NodePredicates.runningInGroup(group), 
Statements.newStatementList(Statements.exec("sleep 50"), 
InstallJDK.fromOpenJDK()), 
org.jclouds.compute.options.TemplateOptions.Builder.overrideLoginCredentials(creds).nameTask("runScriptWithCreds"));
+   protected void checkTagsInNodeEquals(NodeMetadata node, 
ImmutableSet<String> tags) {
+      // Tags not yet supported
    }
+   
+   
+
+//   @Override
+//   protected Template addRunScriptToTemplate(Template template) {
+//      template.getOptions().runScript(Statements.newStatementList(new 
Statement[]{AdminAccess.standard(), Statements.exec("sleep 50"), 
InstallJDK.fromOpenJDK()}));
+//      return template;
+//   }
+
+//   @Override
+//   protected Map<? extends NodeMetadata, ExecResponse> 
runScriptWithCreds(String group, OperatingSystem os, LoginCredentials creds) 
throws RunScriptOnNodesException {
+//      return 
this.client.runScriptOnNodesMatching(NodePredicates.runningInGroup(group), 
Statements.newStatementList(Statements.exec("sleep 50"), 
InstallJDK.fromOpenJDK()), 
org.jclouds.compute.options.TemplateOptions.Builder.overrideLoginCredentials(creds).nameTask("runScriptWithCreds"));
+//   }
 }

Reply via email to