You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@whirr.apache.org by "Andrew Bayer (JIRA)" <ji...@apache.org> on 2013/04/02 03:09:15 UTC

[jira] [Updated] (WHIRR-713) Enable programmatic use of BYON via CacheNodeStoreModule

     [ https://issues.apache.org/jira/browse/WHIRR-713?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrew Bayer updated WHIRR-713:
-------------------------------

    Attachment: WHIRR-713.patch

This patch makes a few changes to ClusterSpec and ComputeCache (and fixes a snafu in my previous ComputeCache patch while I'm at it).

It adds a new field in ClusterSpec, byonNodes, which is not set via the recipe properties at all. Instead, it's initialized as an empty map, and can be set later via setByonNodes. This provides a way to store the org.jclouds.byon.Nodes that are needed for CacheNodeStoreModule - since these are going to be programmatically determined anyway, we aren't going to want to set them in the config file in the first place.

Then, in ComputeCache, when we're creating the compute service, we look to see if the provider is "byon" and byonNodes is not empty - if that's the case, we set the modules to include CacheNodeStoreModule using the byonNodes map. I need to do some more testing to be sure that it doesn't get confused by the lack of a YAML file (since YamlNodeStoreModule is still loaded, since it's default for BYON) but I'm fairly certain it works correctly. The result is that the compute service is init'd with a node list that spits out, tada, the Nodes we added to ClusterSpec.

In actual use (well, in my actual use, at least), the compute service in question will need to be invalidated immediately after use, since if you have multiple byon clusters in a single JVM, it'll get confused due to the equals method not looking at the modules, but I may be able to work around that with dummy override properties...I need to look into that more.

So yeah, this isn't a finished patch, but it's a good chunk of the way there.
                
> Enable programmatic use of BYON via CacheNodeStoreModule
> --------------------------------------------------------
>
>                 Key: WHIRR-713
>                 URL: https://issues.apache.org/jira/browse/WHIRR-713
>             Project: Whirr
>          Issue Type: Improvement
>          Components: core
>    Affects Versions: 0.8.1
>            Reporter: Andrew Bayer
>            Assignee: Andrew Bayer
>             Fix For: 0.8.2, 0.9.0
>
>         Attachments: WHIRR-713.patch
>
>
> BYON is all well and good if you've already got your list of nodes in a YAML file somewhere, but a pain in the butt if you want to use something else to do your provisioning (or integrate with some other way of getting your nodes, from a service/db/whatever), since to use it programmatically, you need to serialize your nodes to YAML and then load them. This...is annoying.
> There's a CacheNodeStoreModule (to go with the default YamlNodeStoreModule) in jclouds for BYON - it'd be really handy to be able to take advantage of that.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira