This PR adds the APIs required to deploy funcional load balancers to Azure ARM. 
There are some global changes that have been made too, fixes to the model and 
general improvements to the live tests.

* Added the load balancer and availability set APIs. In order to add more than 
one node to a load balancer they must belong to the same availability set.
* Added the template options to let users customize the availability set where 
nodes are configured. jclouds can use an existing one or create a new one with 
the information provided in the options.
* Introduced the `Provisionable` interface for all resources that have a 
`provisioningState` field. This has allowed to create a generic and reusable 
predicate to poll the status of the resources (the existing ones have been kept 
but updated to delegate to the generic one).
* Extracted the common code in the live test setup to make sure resources are 
always properly created.
* Fixed all tearDown methods in the live tests, where the context was closed 
*before* attempting to delete the resource groups. The name of the resource 
group used has also been improved to qualify them as tests and be able to 
delete them easily.

@andreaturli Please have a look!
You can view, comment on, or merge this pull request online at:

  https://github.com/jclouds/jclouds-labs/pull/356

-- Commit Summary --

  * Add Load Balancer APIs

-- File Changes --

    M 
azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/AzureComputeApi.java
 (25)
    M 
azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/AzureComputeProviderMetadata.java
 (4)
    M 
azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/AzureComputeServiceAdapter.java
 (7)
    M 
azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/config/AzureComputeServiceContextModule.java
 (89)
    A 
azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/functions/TemplateToAvailabilitySet.java
 (87)
    M 
azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/functions/VirtualMachineToNodeMetadata.java
 (10)
    M 
azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/options/AzureTemplateOptions.java
 (54)
    M 
azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/strategy/CreateResourceGroupThenCreateNodes.java
 (16)
    M 
azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/AvailabilitySet.java
 (84)
    A 
azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/BackendAddressPool.java
 (43)
    A 
azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/BackendAddressPoolProperties.java
 (74)
    M 
azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/Deployment.java
 (2)
    A 
azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/FrontendIPConfigurations.java
 (45)
    A 
azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/FrontendIPConfigurationsProperties.java
 (64)
    A 
azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/InboundNatRule.java
 (43)
    A 
azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/InboundNatRuleProperties.java
 (105)
    M 
azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/IpConfiguration.java
 (2)
    M 
azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/IpConfigurationProperties.java
 (43)
    A 
azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/LoadBalancer.java
 (50)
    A 
azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/LoadBalancerProperties.java
 (109)
    A 
azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/LoadBalancingRule.java
 (43)
    A 
azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/LoadBalancingRuleProperties.java
 (114)
    M 
azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/NetworkInterfaceCardProperties.java
 (4)
    M 
azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/NetworkSecurityGroupProperties.java
 (2)
    R 
azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/Probe.java 
(27)
    A 
azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/ProbeProperties.java
 (88)
    A 
azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/Provisionable.java
 (22)
    M 
azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/PublicIPAddressProperties.java
 (2)
    M 
azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/ResourceGroup.java
 (2)
    A 
azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/Status.java 
(49)
    M 
azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/Subnet.java 
(2)
    M 
azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineInstance.java
 (57)
    M 
azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineProperties.java
 (6)
    M 
azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualNetwork.java
 (2)
    A 
azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/features/AvailabilitySetApi.java
 (83)
    A 
azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/features/LoadBalancerApi.java
 (82)
    M 
azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/features/NetworkInterfaceCardApi.java
 (7)
    M 
azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/compute/AzureComputeServiceLiveTest.java
 (32)
    M 
azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/compute/extensions/AzureComputeImageExtensionLiveTest.java
 (34)
    M 
azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/compute/extensions/AzureComputeSecurityGroupExtensionLiveTest.java
 (15)
    A 
azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/features/AvailabilitySetApiLiveTest.java
 (100)
    A 
azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/features/AvailabilitySetApiMockTest.java
 (153)
    M 
azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/features/DeploymentApiLiveTest.java
 (13)
    A 
azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/features/LoadBalancerApiLiveTest.java
 (460)
    A 
azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/features/LoadBalancerApiMockTest.java
 (155)
    M 
azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/features/NetworkInterfaceCardApiLiveTest.java
 (19)
    M 
azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/features/NetworkInterfaceCardApiMockTest.java
 (10)
    M 
azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/features/NetworkSecurityGroupApiLiveTest.java
 (23)
    M 
azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/features/NetworkSecurityRuleApiLiveTest.java
 (23)
    M 
azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/features/PublicIPAddressApiLiveTest.java
 (26)
    M 
azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/features/StorageAccountApiLiveTest.java
 (26)
    M 
azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/features/SubnetApiLiveTest.java
 (25)
    M 
azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/features/VirtualMachineApiLiveTest.java
 (25)
    M 
azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/features/VirtualMachineApiMockTest.java
 (11)
    M 
azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/features/VirtualNetworkApiLiveTest.java
 (22)
    M 
azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/internal/AzureLiveTestUtils.java
 (2)
    M 
azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/internal/BaseAzureComputeApiLiveTest.java
 (68)
    A azurecompute-arm/src/test/resources/availabilitysetcreate.json (11)
    A azurecompute-arm/src/test/resources/availabilitysetget.json (12)
    A azurecompute-arm/src/test/resources/availabilitysetlist.json (16)
    M azurecompute-arm/src/test/resources/listvirtualnetworks.json (2)
    A azurecompute-arm/src/test/resources/loadbalancercreate.json (28)
    A azurecompute-arm/src/test/resources/loadbalancerget.json (54)
    A azurecompute-arm/src/test/resources/loadbalancerlist.json (35)

-- Patch Links --

https://github.com/jclouds/jclouds-labs/pull/356.patch
https://github.com/jclouds/jclouds-labs/pull/356.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs/pull/356

Reply via email to