Hi Lewis,

I would recommend you use the portable abstraction, as it provides the
"runScriptOnNode" methods that will make very easy to run scripts (and
Chef) on the nodes. You don't have to provision the nodes using the
abstraction; the only thing you need to call the runScript methods is
the node id, so you should be able to use it with your current code.

Back to your questions:

> 1. Does Chef need to be installed on every single machine? If so, how do I
> do this?

No. When you generate the bootstrap script using the methods in the
ChefService as described in the Chef guide, the resulting statement
will already contain the instructions to install Chef if it is not yet
installed on the node.

> 2. Is it possible to combine JClouds Rackspace orchestration with the Chef
> Server API?

Absolutely. Both APIs are independent. The only integration point is
that the ChefService provides a simple helper method to generate a
Statement the ComputeService understands to run all the configured
Chef bootstrap. You can think about it as the "java version of the
knife bootstrap' command".

> 3. Should I be combining the JClouds compute portable API with the Chef API
> to bootstrap nodes (as per [2]) instead of using the code I've already
> written?

I think this is already answered now :)



HTH!

I.

Reply via email to