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

Ignasi Barrera edited comment on JCLOUDS-581 at 6/3/14 8:59 PM:
----------------------------------------------------------------

The portable {{ComputeService}} does not provide a {{start}} or {{stop}} 
operation. Instead, the available operations are 
[suspendNode|https://github.com/jclouds/jclouds/blob/master/compute/src/main/java/org/jclouds/compute/ComputeService.java#L203-L229]
 and 
[resumeNode|https://github.com/jclouds/jclouds/blob/master/compute/src/main/java/org/jclouds/compute/ComputeService.java#L178-L201].

jclouds maps the different provider specific states of the nodes to the 
portable 
[NodeMetadata#Status|https://github.com/jclouds/jclouds/blob/master/compute/src/main/java/org/jclouds/compute/domain/NodeMetadata.java#L34-L60]
 ones, and the operations the {{ComputeService}} exposes follow the semantics 
of these states. Each provider implements those methods according to the 
provider specific capabilities, so in some providers a "suspend" operation 
might be a real "stop" operation in the provider api, or a "pause", etc. It is 
up to the provider to provide the particular implementation.

In favor of portability, the ComputeService exposes only those two calls, tied 
to the semantics of the portable status enum. Aren't those enough for your use 
case?


was (Author: nacx):
The portable {{ComputeService}} does not provide a {{start}} or {{stop}} 
operation. Instead, the available operations are 
[suspendNode|https://github.com/jclouds/jclouds/blob/master/compute/src/main/java/org/jclouds/compute/ComputeService.java#L203-L229]
 and 
[resumeNode|https://github.com/jclouds/jclouds/blob/master/compute/src/main/java/org/jclouds/compute/ComputeService.java#L178-L201].

jclouds maps the different provider specific states of the nodes to the 
portable 
[NodeMetadata#Status|https://github.com/jclouds/jclouds/blob/master/compute/src/main/java/org/jclouds/compute/domain/NodeMetadata.java#L34-L60]
 ones, and the operations the {{ComputeService}} exposes follow the semantics 
of these states. Each provider implements those methods according to the 
provider specific capabilities, so in some providers a "suspend" operation 
might be a real "stop" operation in the provider api, or a "pause", etc. It is 
up to the provider to provide the particular implementation.

In favor of portability, the ComputeService exposes those two calls. Aren't 
those enough for your use case?

> Method calls "startNodesMatching" and "stopNodesMatching" added to 
> BaseComputeService
> -------------------------------------------------------------------------------------
>
>                 Key: JCLOUDS-581
>                 URL: https://issues.apache.org/jira/browse/JCLOUDS-581
>             Project: jclouds
>          Issue Type: New Feature
>          Components: jclouds-compute
>    Affects Versions: 1.7.3
>            Reporter: Christopher Dancy
>              Labels: BaseComputeService, startNodesMatching, stopNodesMatching
>
> Addition of methods "startNodesMatching" and "stopNodesMatching" added to 
> BaseComputeService. We are coding this very thing on our end for 
> openstack/rackspace but seems a fairly common enough thing that all providers 
> and/or users of jclouds could take advantage of.



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

Reply via email to