You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@jclouds.apache.org by "Everett Toews (JIRA)" <ji...@apache.org> on 2014/04/22 21:14:15 UTC

[jira] [Commented] (JCLOUDS-540) Allow to list nodes of a concrete Location in the ComputeService

    [ https://issues.apache.org/jira/browse/JCLOUDS-540?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13977229#comment-13977229 ] 

Everett Toews commented on JCLOUDS-540:
---------------------------------------

I think it would need to be listNodesInLocation(*String* locationId) to allow for more flexibility in the kind of location ids providers use. Implementations could coerce the String into whatever they need.

Also, what would be the return type?

Currently

Set<? extends ComputeMetadata> listNodes();
Set<? extends NodeMetadata> listNodesByIds(Iterable<String> ids);

Almost all of the methods in ComputeService take or return NodeMetadata, one exception is listNodes(). I've never really understood why that is but it's really annoying.

I think the return type of listNodesInLocation(String) should be NodeMetadata.

> Allow to list nodes of a concrete Location in the ComputeService
> ----------------------------------------------------------------
>
>                 Key: JCLOUDS-540
>                 URL: https://issues.apache.org/jira/browse/JCLOUDS-540
>             Project: jclouds
>          Issue Type: Improvement
>          Components: jclouds-compute
>    Affects Versions: 1.7.2
>            Reporter: Ignasi Barrera
>            Assignee: Ignasi Barrera
>             Fix For: 1.8.0
>
>
> The ComputeService only offers the following methods to get the information of the existing nodes:
> * listNodes
> * listNodesByIds
> * getNodeMetadata
> Those are OK to get all the nodes in all locations, or only certain nodes one knows in advance, but are not enough if one wants to work only with a concrete location, which can be quite a common use case.
> In cases where the provider disables a location (this happens quite often in DigitalOcean depending on their load) or when a region experiences failures (this happened in AWS more often than it would be desirable), it could be of great help to have a way in the ComputService to scope the operations to a concrete location. For example, when a region in AWS fails, right now one can't list the nodes in other locations using the ComputeService, and this is something that should be fixed.
> Adding the following method should be enough:
> * listNodesInLocation(int locationId)
> But the locationId parameter could also be added to the "runScriptOnNodes" if needed. Please, use this issue to discuss the implementation and the scope of the changes!



--
This message was sent by Atlassian JIRA
(v6.2#6252)