Repository: jclouds-labs
Updated Branches:
  refs/heads/master 550ca7d5c -> fcf9e84a1


Checks existence of node before getting SecurityGroups and Images


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

Branch: refs/heads/master
Commit: fcf9e84a1f2e3f4d7cfa94342e287ce55ca9bc00
Parents: 550ca7d
Author: Daniel Estevez <[email protected]>
Authored: Thu Feb 9 14:07:43 2017 -0500
Committer: Ignasi Barrera <[email protected]>
Committed: Fri Feb 17 14:16:27 2017 +0100

----------------------------------------------------------------------
 .../arm/compute/extensions/AzureComputeImageExtension.java        | 3 ++-
 .../compute/extensions/AzureComputeSecurityGroupExtension.java    | 3 +++
 .../arm/compute/functions/ResourceDefinitionToCustomImage.java    | 3 +++
 3 files changed, 8 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/fcf9e84a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/extensions/AzureComputeImageExtension.java
----------------------------------------------------------------------
diff --git 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/extensions/AzureComputeImageExtension.java
 
b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/extensions/AzureComputeImageExtension.java
index 7028081..cae2c7e 100644
--- 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/extensions/AzureComputeImageExtension.java
+++ 
b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/extensions/AzureComputeImageExtension.java
@@ -115,7 +115,7 @@ public class AzureComputeImageExtension implements 
ImageExtension {
             URI uri = api.getVirtualMachineApi(resourceGroupName)
                   .capture(regionAndId.id(), cloneTemplate.getName(), 
CONTAINER_NAME);
             checkState(uri != null && imageAvailablePredicate.apply(uri),
-                  "Image %s was not created within the configured time limit", 
cloneTemplate.getName());
+                  "Image for node %s was not created within the configured 
time limit", cloneTemplate.getName());
 
             List<ResourceDefinition> definitions = 
api.getJobApi().captureStatus(uri);
             checkState(definitions.size() == 1,
@@ -123,6 +123,7 @@ public class AzureComputeImageExtension implements 
ImageExtension {
 
             Image image = 
resourceDefinitionToImage.create(cloneTemplate.getSourceNodeId(), 
cloneTemplate.getName())
                   .apply(definitions.get(0));
+            checkState(image != null, "Image for node %s was not created", 
cloneTemplate.getSourceNodeId());
             logger.debug(">> created %s", image);
             return image;
          }

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/fcf9e84a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/extensions/AzureComputeSecurityGroupExtension.java
----------------------------------------------------------------------
diff --git 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/extensions/AzureComputeSecurityGroupExtension.java
 
b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/extensions/AzureComputeSecurityGroupExtension.java
index 340e51c..e312b6a 100644
--- 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/extensions/AzureComputeSecurityGroupExtension.java
+++ 
b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/extensions/AzureComputeSecurityGroupExtension.java
@@ -123,6 +123,9 @@ public class AzureComputeSecurityGroupExtension implements 
SecurityGroupExtensio
       ResourceGroup resourceGroup = 
resourceGroupMap.getUnchecked(regionAndId.region());
 
       VirtualMachine vm = 
api.getVirtualMachineApi(resourceGroup.name()).get(regionAndId.id());
+      if (vm == null) {
+         throw new IllegalArgumentException("Node " + regionAndId.id() + " was 
not found");
+      }
       List<IdReference> networkInterfacesIdReferences = 
vm.properties().networkProfile().networkInterfaces();
       List<NetworkSecurityGroup> networkGroups = new 
ArrayList<NetworkSecurityGroup>();
 

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/fcf9e84a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/functions/ResourceDefinitionToCustomImage.java
----------------------------------------------------------------------
diff --git 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/functions/ResourceDefinitionToCustomImage.java
 
b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/functions/ResourceDefinitionToCustomImage.java
index dbde188..c27f584 100644
--- 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/functions/ResourceDefinitionToCustomImage.java
+++ 
b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/functions/ResourceDefinitionToCustomImage.java
@@ -68,6 +68,9 @@ public class ResourceDefinitionToCustomImage implements 
Function<ResourceDefinit
       ResourceGroup resourceGroup = 
resourceGroupMap.getUnchecked(regionAndId.region());
       
       VirtualMachine vm = 
api.getVirtualMachineApi(resourceGroup.name()).get(regionAndId.id());
+      if (vm == null) {
+         return null;
+      }
       String storageAccountName = 
storageProfileToStorageAccountName.apply(vm.properties().storageProfile());
 
       VMImage.Builder builder = 
VMImage.customImage().group(resourceGroup.name()).storage(storageAccountName)

Reply via email to