[
https://issues.apache.org/jira/browse/BROOKLYN-422?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sam Corbett updated BROOKLYN-422:
---------------------------------
Description:
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}
was:
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}
> 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)