'Return all volumes that belong to this Flocker cluster.'

def list_volumes(self):

    try:
        ebs_volumes = self._list_ebs_volumes()
        message_type = (BOTO_LOG_RESULT + u':listed_volumes')
        Message.new(message_type=message_type, volume_ids=list((volume.id for volume in ebs_volumes))).write()
    except ClientError as e:
        if (e.response['Error']['Code'] == NOT_FOUND):
            return self.list_volumes()
        else:
            raise
    volumes = []
    for ebs_volume in ebs_volumes:
        if _is_cluster_volume(self.cluster_id, ebs_volume):
            volumes.append(_blockdevicevolume_from_ebs_volume(ebs_volume))
    message_type = (BOTO_LOG_RESULT + u':listed_cluster_volumes')
    Message.new(message_type=message_type, volume_ids=list((volume.blockdevice_id for volume in volumes))).write()
    return volumes
