You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@jclouds.apache.org by "Aled Sage (JIRA)" <ji...@apache.org> on 2018/05/14 14:26:00 UTC

[jira] [Created] (JCLOUDS-1417) EC2 describeVolumes wrong when tags present

Aled Sage created JCLOUDS-1417:
----------------------------------

             Summary: EC2 describeVolumes wrong when tags present
                 Key: JCLOUDS-1417
                 URL: https://issues.apache.org/jira/browse/JCLOUDS-1417
             Project: jclouds
          Issue Type: Bug
          Components: jclouds-compute
    Affects Versions: 2.1.0
            Reporter: Aled Sage


When calling \{{elasticBlockStoreApi.describeVolumesInRegion(region, volumeId)}}, it fails to parse the response correctly if the volume has tags.

For example, when it gets the XML response below:
{noformat}
<?xml version="1.0" encoding="UTF-8"?>
<DescribeVolumesResponse xmlns="http://ec2.amazonaws.com/doc/2012-06-01/">
 <requestId>95d47b6d-5f7a-44a2-922d-03be76b73c0a</requestId>
 <volumeSet>
 <item>
 <volumeId>vol-01234567890123456</volumeId>
 <size>1</size>
 <snapshotId/>
 <availabilityZone>eu-west-1a</availabilityZone>
 <status>available</status>
 <createTime>2018-05-14T08:52:45.448Z</createTime>
 <attachmentSet/>
 <tagSet>
 <item>
 <key>mykey</key>
 <value>myval</value>
 </item>
 </tagSet>
 <volumeType>gp2</volumeType>
 <iops>100</iops>
 </item>
 </volumeSet>
</DescribeVolumesResponse>
{noformat}

It returns:
{noformat}
[
 Volume [attachments=[], availabilityZone=eu-west-1a, createTime=Mon May 14 09:52:45 BST 2018, id=vol-01234567890123456, region=us-east-1, size=1, snapshotId=null, status=available, volumeType=null, iops=null, encrypted=false], 
 Volume [attachments=[], availabilityZone=null, createTime=null, id=null, region=us-east-1, size=0, snapshotId=null, status=null, volumeType=gp2, iops=100, encrypted=false]]
]
{noformat}

This is presumably because \{{DescribeVolumesResponseHandler.endElement}} looks to see if it was the "item" element, and if so adds that volume. This causes it to record the half-parsed volume when it comes across the tag's item, and then to treat the rest of the volume's definition as a second volume.

You can easily see this by adding tags to {{apis/ec2/src/test/resources/describe_volumes.xml}}, and looking at the results of {{DescribeVolumesResponseHandlerTest}}.

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)