Aled Sage created BROOKLYN-400:
----------------------------------
Summary: Can't find ubuntu 16.04 image in aws-ec2: jclouds failed
to extract version
Key: BROOKLYN-400
URL: https://issues.apache.org/jira/browse/BROOKLYN-400
Project: Brooklyn
Issue Type: Bug
Affects Versions: 0.9.0
Reporter: Aled Sage
jclouds fails to find an AMI for ubuntu version 16.04. For example, something
like the code below will fail:
{noformat}
location:
aws-ec2:us-east-1:
osFamily: ubuntu
osVersionRegex: 16.*
{noformat}
In contrast, {{osVersionRegex: 14}} will work.
Looking at the log for the images it did find, jclouds has not been able to
extract the OS version number correctly (note the blank string for the version):
{noformat}
2016-11-23 17:42:25,568 INFO o.a.b.l.j.JcloudsLocation [main]: Image:
{id=us-east-1/ami-a05194cd, providerId=ami-a05194cd,
name=ubuntu/images/ebs-ssd/ubuntu-xenial-16.04-amd64-server-20160610,
location={scope=REGION, id=us-east-1, description=us-east-1, parent=aws-ec2,
iso3166Codes=[US-VA]}, os={family=ubuntu, arch=paravirtual, version=,
description=099720109477/ubuntu/images/ebs-ssd/ubuntu-xenial-16.04-amd64-server-20160610,
is64Bit=true},
description=099720109477/ubuntu/images/ebs-ssd/ubuntu-xenial-16.04-amd64-server-20160610,
version=20160610, status=AVAILABLE[available], loginUser=ubuntu,
userMetadata={owner=099720109477, rootDeviceType=ebs,
virtualizationType=paravirtual, hypervisor=xen}}
{noformat}
Digging into the jclouds code,
{{ComputeServiceConstants.ReferenceData.osVersionMapJson}} defines the possible
versions of each distro. There is no entry for 16.04 in jclouds 1.9.2 (or in
jclouds 1.9.3, or 2.0.0) [1,2,3]. However, there is in jclouds master (added in
[4]).
I believe that is the underlying cause.
Interesting, some CentOS versions are also (6.7, 6.8, 7.1, 7.2) but
corresponding AMIs have not been released by RightScale (owner id
"411009282317") so we wouldn't find any image for those versions anyway.
[1]
https://github.com/jclouds/jclouds/blob/rel/jclouds-1.9.3/compute/src/main/java/org/jclouds/compute/reference/ComputeServiceConstants.java#L90
[2]
https://github.com/jclouds/jclouds/blob/rel/jclouds-2.0.0/compute/src/main/java/org/jclouds/compute/reference/ComputeServiceConstants.java#L90
[3]
https://github.com/jclouds/jclouds/blob/master/compute/src/main/java/org/jclouds/compute/reference/ComputeServiceConstants.java#L90
[4]
https://github.com/jclouds/jclouds/commit/301f6812afd46d7822b932ad04fecd660c09c950
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)