[
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