Sam Corbett created BROOKLYN-422:
------------------------------------
Summary: Using AWS availability zone as location region causes
IllegalStateException during deployment
Key: BROOKLYN-422
URL: https://issues.apache.org/jira/browse/BROOKLYN-422
Project: Brooklyn
Issue Type: Bug
Affects Versions: 0.10.0
Reporter: Sam Corbett
A regression in 0.10.0 causes deployments that use specific AWS availability
zones (e.g. us-east-1b) to fail. jclouds throws an IllegalStateException
complaining that: "location id us-east-1b not found in: [{scope=PROVIDER,
id=aws-ec2, description=https://ec2.us-east-1.amazonaws.com,
iso3166Codes=[US-VA, US-CA, US-OR, BR-SP, IE, DE-HE, SG, AU-NSW, JP-13]}]".
The exception is thrown by
{{org.jclouds.compute.domain.internal.TemplateBuilderImpl#locationId(String)}}.
The fix is to remove the availability zone suffix when configuring
{{org.jclouds.location.reference.LocationConstants#PROPERTY_REGIONS}}.
A simple blueprint that fails is:
{code}
location:
jclouds:aws-ec2:
region: us-east-1a
services:
- type: server
{code}
And a more complex one using DynamicCluster's availability zones features:
{code}
services:
- type: org.apache.brooklyn.entity.group.DynamicCluster
brooklyn.config:
initialSize: 2
memberSpec:
$brooklyn:entitySpec:
type: org.apache.brooklyn.entity.software.base.EmptySoftwareProcess
enableAvailabilityZones: true
availabilityZoneNames:
- us-east-1a
- us-east-1b
location: jclouds:aws-ec2:us-east-1
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)