- From: "John E. Vincent (lusis)" <
>
- To:
- Subject: [chef] Re: Re: Re: Bootstrapping a Chef Node using a Java
- Date: Wed, 3 Aug 2011 13:10:26 -0400
Here you go:
https://github.com/opscode/chef/tree/master/chef/lib/chef/knife/bootstrap
Here's a custom one I use for Natty:
https://gist.github.com/c52bab560b3dcb3402b7
They really aren't that hard to write. The main steps are:
- Get chef client installed
- Create /etc/chef/client.rb
- Create a firstboot json file
- Run chef-client
All you really need in first-boot.json is a run_list (mine are always
a single role plus a custom one-shot bootstrap recipe for a given
role). Chef client does all the work of registering itself with the
chef server.
On Wed, Aug 3, 2011 at 12:46 PM, Daniel Cukier
<
>
wrote:
>
Thanks John and Noah.
>
In fact, I did some tests and it won't be possible to run chef inside the
>
JVM. My only option is to provision the machine using jcloud and then run
>
the bootstrap scripts via ssh.
>
John, where can I find the bootstrap templates you mentioned?
>
Thanks
>
>
On Tue, Aug 2, 2011 at 7:49 PM, John E. Vincent (lusis)
>
<
>
>
wrote:
>
>
>
> Daniel,
>
>
>
> Take a look at jclouds if you need provisioning in Java. From there, you
>
> can either bake in the client in the AMI or shellout to run knife
>
> bootstrap.
>
> Remember that knife bootstraps are nothing more than a shell script in an
>
> ssh session. Take a look at any of the bootstrap templates to get a real
>
> idea. All the client node registration is done by chef-client not knife in
>
> bootstrap scenarios.
>
>
>
> However you aren't going to be able to really reimplement chef in Java and
>
> running the client on JRuby isn't possible.
>
>
>
> You might be able to use jruby and pull in the chef gems for some API
>
> interaction if need be.
>
>
>
> In the end, Chef is written in ruby. Whatever awkward requirements are
>
> going to have to accept that.
>
>
>
> If that's a nonstarter you can also look at creating custom Whirr scripts.
>
>
>
> On Aug 2, 2011 6:38 PM, "Daniel Cukier"
>
> <
>
>
> wrote:
>
> >
>
> > Hi everybody,
>
> >
>
> > I'm developing a web service in Java on a system that needs to
>
> > provision, create, remove nodes.
>
> >
>
> > I have this restriction that the web service must be developed in Java.
>
> > This web service must:
>
> >
>
> > 1 - create nodes on different Cloud environments (EC2, rackspace,
>
> > openstack, etc)
>
> > 2 - Bootstrap these nodes with chef and one or 2 roles
>
> >
>
> > How do you suggest creating this web service? I thought about doing
>
> > system calls to knife, but I don't think this is a good idea. Is there
>
> > any
>
> > Java specific library that is similar to knife, a library that I can
>
> > provision cloud nodes (like knife ec2) and bootstrap chef (life knife
>
> > bootstrap)?
>
> >
>
> > Thank you very much for the help
>
> >
>
> > Daniel Cukier
>
Archive powered by MHonArc 2.6.16.