Hi Ignasi,

Passing ssl ca to chef node while doing first bootstrap actually worked for
me. Some issue was there regarding the certificate. Thanks a lot for your
suggestion.

One thing though, after bootstrapping to install chef-client If I want to
bootstrap again with a particular recipe present in chef server to deploy
on the chef node what Statement should I pass to runScriptOnNode ? Can you
please share a working example.

Regards,
Subhadip
-------------------------------------------------------------------------------------------------------------------

On Fri, Feb 13, 2015 at 1:26 PM, Ignasi Barrera <n...@apache.org> wrote:

> Then the problem is just about the Chef configuration and with the
> certificate itself. Are you sure it is the right one?
>
> I'd recommend you to read the Chef client config documentation [1],
> especially the "ssl_*" properties. Play with them. You'll see that despite
> not being the recommended solution you can also disable the SSL certificate
> validation if needed.
>
> You now know how to add those properties to the client config file. Let's
> play with them.
>
> I.
>
> [1] https://docs.chef.io/config_rb_client.html
> El 12/02/2015 15:06, "Subhadip Bagui" <i.ba...@gmail.com> escribió:
>
> > Hi Ignasi,
> >
> > The certificate is generating now in chef client side, but still the SSl
> > authentication is failing. Please let me know how to proceed.
> >
> > Thank you for installing Chef!
> > [2015-02-12T08:59:31+00:00] INFO: Forking chef instance to converge...
> > [2015-02-12T08:59:31+00:00] INFO: *** Chef 12.0.3 ***
> > [2015-02-12T08:59:31+00:00] INFO: Chef-client pid: 7979
> > [2015-02-12T08:59:33+00:00] INFO: Client key /etc/chef/client.pem is not
> > present - registering
> > [2015-02-12T08:59:34+00:00] ERROR: SSL Validation failure connecting to
> > host: 125.16.230.216 - SSL_connect returned=1 errno=0 state=SSLv3 read
> > server certificate B: certificate verify failed
> > ^[[0m
> >
> >
> ================================================================================^[[0m
> > ^[[31mChef encountered an error attempting to create the client
> > "aricloud-172.31.9.180"^[[0m
> >
> >
> ================================================================================^[[0m
> >
> > ^[[0m[2015-02-12T08:59:34+00:00] FATAL: Stacktrace dumped to
> > /var/chef/cache/chef-stacktrace.out
> > [2015-02-12T08:59:34+00:00] ERROR: SSL_connect returned=1 errno=0
> > state=SSLv3 read server certificate B: certificate verify failed
> > [2015-02-12T08:59:34+00:00] FATAL: Chef::Exceptions::ChildConvergeError:
> > Chef run process exited unsuccessfully (exit code 1)
> >
> >
> > Regards,
> > Subhadip
> >
> >
> >
> -------------------------------------------------------------------------------------------------------------------
> >
> > On Thu, Feb 12, 2015 at 8:34 AM, Subhadip Bagui <i.ba...@gmail.com>
> wrote:
> >
> > > Hi Ignasi,
> > >
> > > I tried the code u suggested. I'm getting some error now like that file
> > > what we have passed cannot be created in chef client. Please suggest.
> > >
> > > [2015-02-11T18:18:32+00:00] INFO: Client key /etc/chef/client.pem is
> not
> > > present - registering
> > > ^[[0m
> > >
> > >
> >
> ================================================================================^[[0m
> > > ^[[31mChef encountered an error attempting to create the client
> > > "aricloud-172.31.9.180"^[[0m
> > >
> > >
> >
> ================================================================================^[[0m
> > >
> > > ^[[0m[2015-02-11T18:18:32+00:00] FATAL: Stacktrace dumped to
> > > /var/chef/cache/chef-stacktrace.out
> > > [2015-02-11T18:18:32+00:00] ERROR: The configured ssl_ca_file
> > > /etc/chef/chef-server.crt does not exist
> > > [2015-02-11T18:18:32+00:00] FATAL:
> Chef::Exceptions::ChildConvergeError:
> > > Chef run process exited unsuccessfully (exit code 1)
> > >
> > > -------- here is my full code.
> > >
> > >
> > > private String createBootstrapAWS(String userName, String password,
> > > InstanceBean instance, ComputeService computeService)
> > > throws IOException {
> > > String status = Constants.SUCCESS;
> > > List<String> runlist = new ArrayList<String>();
> > > String recipe = INITIAL_UPDATE_VM;
> > >
> > > // initialising chef
> > > ChefContext chefContext = AriServiceConfiguration
> > > .chefServerConfigurationCloudWise(instance);
> > >
> > > Iterable<? extends CookbookVersion> cookbookVersions = chefContext
> > > .getChefService().listCookbookVersions();
> > >
> > > if (any(cookbookVersions, containsRecipe(recipe))) {
> > > runlist = new RunListBuilder().addRecipe(recipe).build();
> > > }
> > > if (instance.isAutoDeploy()) {
> > > runlist = new RunListBuilder().addRecipes(
> > > instance.getRecipes().toArray(
> > > new String[instance.getRecipes().size()])).build();
> > > }
> > >
> > > LoginCredentials login = getLoginForCommandExecution(userName,
> > > password, instance.getCloudType());
> > > LOG.info("got the login as :" + login);
> > >
> > > ChefService chefService = initChefServiceAWS(
> > > MessageTranslator.getMessage("chef.client"),
> > > MessageTranslator.getMessage("chef.validator"));
> > >
> > > BootstrapConfig build = null;
> > >
> > > try {
> > > build = BootstrapConfig.builder().runList(runlist).build();
> > >
> > > chefService.updateBootstrapConfigForGroup(instance.getGroupName(),
> > > build);
> > >
> > > // Build the script that will bootstrap the node
> > > Statement bootstrap = chefService
> > > .createBootstrapScriptForGroup(instance.getGroupName());
> > >
> > > LOG.info("bootstrap created...");
> > > LOG.debug("Running run script");
> > >
> > > //
> > > ImmutableList.Builder<Statement> withCA = ImmutableList.builder();
> > >
> > > // Upload the Chef Server certificate to the node
> > >
> withCA.add(Statements.createOrOverwriteFile("/etc/chef/chef-server.crt",
> > > Files.readLines(new File("/tmp/apache.crt"),
> > > Charsets.UTF_8)));
> > >
> > > // The last statement in the generated bootstrap is the Chef client
> run,
> > so
> > > // modify the
> > > // Chef client configuration to add the CA configuration just before
> that
> > > statement
> > >  StatementList statements = (StatementList)bootstrap;
> > > withCA.addAll(statements.subList(0, statements.size() - 1));
> > > withCA.add(Statements.appendFile("/etc/chef/client.rb",
> > > Collections.singleton("ssl_ca_file\"/etc/chef/chef-server.crt\"")));
> > > withCA.add(Iterables.getLast(statements));
> > >
> > > Statement updatedBootstrap = new StatementList(withCA.build());
> > > //
> > >  status = runScriptOnGroup(computeService, login, instance,
> > > updatedBootstrap);
> > >
> > > } catch (Exception e) {
> > > LOG.warn("error thrown for bootstrap.." + e.getMessage());
> > > return "failure";
> > > } finally {
> > > chefContext.close();
> > > }
> > >
> > > return status;
> > > }
> > >
> > >
> > >
> > >
> > >
> > > Regards,
> > > Subhadip
> > > 9741779086
> > >
> > >
> >
> -------------------------------------------------------------------------------------------------------------------
> > >
> > > On Tue, Feb 10, 2015 at 4:11 PM, Ignasi Barrera <n...@apache.org>
> wrote:
> > >
> > >> Ok, you're hitting JCLOUDS-792 [1]. It is fixed in the latest
> snapshot.
> > >>
> > >> Basically, the Chef client 12 comes with SSL verification enabled by
> > >> default, and since the node you deployed does not trust the Chef
> > Server's
> > >> certificate, it aborts.
> > >>
> > >> If you can't upgrade to the latest snapshot, then you can workaround
> it
> > by
> > >> modifying the generated bootstrap script. Please, note that this is
> not
> > >> recommended at all, as the code below might break when upgrading
> > jclouds,
> > >> as it makes many assumptions that may not be true in future versions.
> > Use
> > >> it only as a temporal workaround until you can ugprade.
> > >>
> > >> You will need your server's certificate in a file. Say you have that
> > >> stored
> > >> locally (where the jclouds code runs) in "/tmp/chef-server.crt".
> > >>
> > >> Then you could use the follogin code to generate the bootstrap script
> > you
> > >> will pass to the "runScript" method:
> > >>
> > >> Statement originalBootstrap =
> > >> chef.createBootstrapScriptForGroup(instance.getGroupName());
> > >>
> > >> // https://issues.apache.org/jira/browse/JCLOUDS-792
> > >> // We have to install the Chef Server key before running the Chef
> > client.
> > >>
> > >> ImmutableList.Builder<Statement> withCA = ImmutableList.builder();
> > >>
> > >> // Upload the Chef Server certificate to the node
> > >>
> withCA.add(Statements.createOrOverwriteFile("/etc/chef/chef-server.crt",
> > >> Files.readLines("/tmp/chef-server.crt",
> > >> Charsets.UTF_8)));
> > >>
> > >> // The last statement in the generated bootstrap is the Chef client
> run,
> > >> so
> > >> modify the Chef
> > >> // client configuration to add the CA configuration just before that
> > >> statement
> > >> StatementList statements = (StatementList) originalBootstrap;
> > >> withCA.addAll(statements.subList(0, statements.size() - 1));
> > >> withCA.add(Statements.appendFile("/etc/chef/client.rb",
> > >> Collections.singleton("ssl_ca_file
> > >> \"/etc/chef/chef-server.crt\"")));
> > >> withCA.add(Iterables.getLast(statements));
> > >>
> > >> Statement updatedBootstrap = new StatementList(withCA.build());
> > >>
> > >>
> > >> And this "updatedBootstrap" is the script you can use. Basically it
> > >> uploads
> > >> the Chef server file to the node, and modifies the generated statement
> > to
> > >> configure the client.rb *after* jclouds has created the file and
> > *before*
> > >> it executes the chef run.
> > >>
> > >>
> > >> HTH!
> > >>
> > >>
> > >>
> > >> [1] https://issues.apache.org/jira/browse/JCLOUDS-792
> > >>
> > >> On 10 February 2015 at 10:08, Subhadip Bagui <i.ba...@gmail.com>
> wrote:
> > >>
> > >> > Hi Ignasi,
> > >> >
> > >> > I checked in the stdout.log that is generating in
> > >> /tmp/jclouds-script.../
> > >> > and its showing the below error.. Attaching the full log also. Any
> > idea
> > >> how
> > >> > to fix this.
> > >> >
> > >> >
> > >> > [2015-02-08T17:41:25+00:00] INFO: Chef-client pid: 7023
> > >> > *[2015-02-08T17:41:28+00:00] INFO: Client key /etc/chef/client.pem
> is
> > >> not
> > >> > present - registering*
> > >> > *[2015-02-08T17:41:29+00:00] ERROR: SSL Validation failure
> connecting
> > to
> > >> > host: 125.16.230.216 - SSL_connect returned=1 errno=0 state=SSLv3
> read
> > >> > server certificate B: certificate verify failed*
> > >> >
> > >> >
> > >> >
> > >> > Regards,
> > >> > Subhadip
> > >> >
> > >> >
> > >>
> >
> -------------------------------------------------------------------------------------------------------------------
> > >> >
> > >> > On Tue, Feb 10, 2015 at 1:02 AM, Subhadip Bagui <i.ba...@gmail.com>
> > >> wrote:
> > >> >
> > >> >> Hi,
> > >> >>
> > >> >> I've added the properties for customized chef as below.
> > >> >> chefConfig.put(ChefProperties.CHEF_USE_OMNIBUS, false);
> > >> >> chefConfig.put(ChefProperties.CHEF_VERSION,"11.16.4");
> > >> >>
> > >> >> But now it seems chef is not able to download from opscode and
> > install
> > >> >> the rpm. I waited for 1/2 hr and no files are getting downloaded
> for
> > >> chef
> > >> >> rpm. Please suggest.
> > >> >>
> > >> >>
> > >> >> 10-02-2015 00:54:19,635 DEBUG [user thread 0]
> > >> >> net.schmizz.sshj.connection.channel.AbstractChannel 374 - Sending
> > >> channel
> > >> >> request for `exec`
> > >> >> 10-02-2015 00:54:19,635 DEBUG [user thread 0]
> > >> >> net.schmizz.concurrent.Promise 164 - Awaiting <<chan#278 / chanreq
> > for
> > >> >> exec>>
> > >> >> 10-02-2015 00:54:19,682 DEBUG [reader]
> > >> >> net.schmizz.sshj.connection.channel.AbstractChannel 328 - Received
> > >> window
> > >> >> adjustment for 2097152 bytes
> > >> >> 10-02-2015 00:54:19,682 DEBUG [reader]
> > >> >> net.schmizz.sshj.connection.channel.Window 41 - Increasing by
> 2097152
> > >> up to
> > >> >> 2097152
> > >> >> 10-02-2015 00:54:19,682 DEBUG [reader]
> net.schmizz.concurrent.Promise
> > >> 78
> > >> >> - Setting <<chan#278 / chanreq for exec>> to `SOME`
> > >> >> 10-02-2015 00:54:20,327 DEBUG [reader]
> > >> >> net.schmizz.sshj.connection.channel.AbstractChannel 316 - Got chan
> > >> request
> > >> >> for `exit-status`
> > >> >> 10-02-2015 00:54:20,327 DEBUG [reader]
> > >> >> net.schmizz.sshj.connection.channel.AbstractChannel 410 - Got EOF
> > >> >> 10-02-2015 00:54:20,327 DEBUG [reader]
> > >> >> net.schmizz.sshj.connection.channel.AbstractChannel 223 - Got close
> > >> >> 10-02-2015 00:54:20,327 DEBUG [reader]
> > >> >> net.schmizz.sshj.connection.channel.AbstractChannel 427 - Sending
> EOF
> > >> >> 10-02-2015 00:54:20,327 DEBUG [reader]
> > >> >> net.schmizz.sshj.connection.channel.AbstractChannel 289 - Sending
> > close
> > >> >> 10-02-2015 00:54:20,328 DEBUG [reader]
> > >> >> net.schmizz.sshj.connection.ConnectionImpl 84 - Forgetting
> `session`
> > >> >> channel (#278)
> > >> >> 10-02-2015 00:54:20,328 DEBUG [reader]
> net.schmizz.concurrent.Promise
> > >> 78
> > >> >> - Setting <<chan#278 / close>> to `SOME`
> > >> >> *10-02-2015 00:54:20,328 DEBUG [user thread 0]
> > >> >> net.schmizz.sshj.common.StreamCopier 139 - 0.0 KiB transferred  in
> > >> 0.645
> > >> >> seconds (0.0 KiB/s)*
> > >> >> *10-02-2015 00:54:20,328 DEBUG [user thread 0]
> > >> >> net.schmizz.sshj.common.StreamCopier 139 - 0.0 KiB transferred  in
> > 0.0
> > >> >> seconds (NaN KiB/s)*
> > >> >> 10-02-2015 00:54:20,328 DEBUG [user thread 0]
> > >> >> net.schmizz.sshj.connection.ConnectionImpl 68 - Attaching `session`
> > >> channel
> > >> >> (#279)
> > >> >> 10-02-2015 00:54:20,329 DEBUG [user thread 0]
> > >> >> net.schmizz.concurrent.Promise 164 - Awaiting <<chan#279 / open>>
> > >> >> 10-02-2015 00:54:20,458 DEBUG [reader]
> > >> >> net.schmizz.sshj.connection.channel.AbstractChannel 125 -
> Initialized
> > >> - <
> > >> >> session channel: id=279, recipient=2, localWin=[winSize=2097152],
> > >> >> remoteWin=[winSize=0] >
> > >> >>
> > >> >>
> > >> >>
> > >> >> Regards,
> > >> >> Subhadip
> > >> >> 9741779086
> > >> >>
> > >> >>
> > >>
> >
> -------------------------------------------------------------------------------------------------------------------
> > >> >>
> > >> >> On Mon, Feb 9, 2015 at 6:17 PM, Ignasi Barrera <n...@apache.org>
> > >> wrote:
> > >> >>
> > >> >>> The Chef version properties will only work if you install Chef
> > >> >>> directly from the Chef gems. Support or versions when using
> omnibus
> > >> >>> was added in the latest snapshot so it is not available in 1.7.3.
> > >> >>>
> > >> >>> You can instruct jclouds to install Chef directly from the Chef
> gems
> > >> >>> by configuring the Chef properties mentioned here (look at the
> end,
> > in
> > >> >>> the "Customize how Chef is installed" section):
> > >> >>> http://jclouds.apache.org/guides/chef
> > >> >>>
> > >> >>> You can start trying with the following properties, and play with
> > the
> > >> >>> rest (such as the ruby version, and the update gem system ones) if
> > >> >>> these properties alone don't work.
> > >> >>>
> > >> >>> overrides.setProperty(ChefProperties.USE_OMNIBUS, "false");
> > >> >>> overrides.setProperty(ChefProperties.CHEF_VERSION, "11.16.4");
> > >> >>>
> > >> >>> On 9 February 2015 at 13:21, Subhadip Bagui <i.ba...@gmail.com>
> > >> wrote:
> > >> >>> > Hi Ignasi,
> > >> >>> >
> > >> >>> > Changing the JClouds version will be difficult for me as the
> code
> > is
> > >> >>> there
> > >> >>> > in production. I will check with changing the chef version
> > >> properties
> > >> >>> and
> > >> >>> > let u know.
> > >> >>> >
> > >> >>> >
> > >> >>> > Regards,
> > >> >>> > Subhadip
> > >> >>> >
> > >> >>> >
> > >> >>>
> > >>
> >
> -------------------------------------------------------------------------------------------------------------------
> > >> >>> >
> > >> >>> > On Mon, Feb 9, 2015 at 4:22 PM, Ignasi Barrera <n...@apache.org
> >
> > >> >>> wrote:
> > >> >>> >
> > >> >>> >> The configuration seems correct. Can you try using version
> > >> >>> >> 2.0.0-SNAPSHOT and set the chef version I suggested, and see if
> > it
> > >> >>> >> works? Just to isolate the issue and see if it is actually a
> > >> package
> > >> >>> >> version.
> > >> >>> >>
> > >> >>> >> On 9 February 2015 at 11:43, Subhadip Bagui <i.ba...@gmail.com
> >
> > >> >>> wrote:
> > >> >>> >> > Hi Ignasi,
> > >> >>> >> >
> > >> >>> >> > Thanks for your reply.
> > >> >>> >> >
> > >> >>> >> > I'm using jclouds version 1.7.3 and I'm not setting any chef
> > >> >>> version in
> > >> >>> >> > code. Default it's taking that opscode-omnibus chef.
> > >> >>> >> > I have cleaned the /var/chef dir and tried but getting the
> same
> > >> >>> issue.
> > >> >>> >> >
> > >> >>> >> > Here is my code for ChefService creation. Please let me know
> > what
> > >> >>> needs
> > >> >>> >> to
> > >> >>> >> > be done.
> > >> >>> >> >
> > >> >>> >> > `private ChefService initChefServiceAWS(String client, String
> > >> >>> validator)
> > >> >>> >> {
> > >> >>> >> > ChefContext context = null;
> > >> >>> >> > try {
> > >> >>> >> >
> > >> >>> >> > String organization = "chef";
> > >> >>> >> > String pemFile = MessageTranslator.getMessage("user.home")
> > >> >>> >> > + "/.chef/" + client + ".pem";
> > >> >>> >> > String credential = Files.toString(new File(pemFile),
> > >> >>> >> > Charsets.UTF_8);
> > >> >>> >> >
> > >> >>> >> > // Provide the validator information to let the nodes to
> > >> >>> >> > // auto-register themselves
> > >> >>> >> > // in the Chef server during bootstrap
> > >> >>> >> > String validatorPemFile =
> > >> MessageTranslator.getMessage("user.home")
> > >> >>> >> > + "/.chef/" + validator + ".pem";
> > >> >>> >> > String validatorCredential = Files.toString(new File(
> > >> >>> >> > validatorPemFile), Charsets.UTF_8);
> > >> >>> >> >
> > >> >>> >> > Properties chefConfig = new Properties();
> > >> >>> >> > chefConfig.put(ChefProperties.CHEF_VALIDATOR_NAME,
> validator);
> > >> >>> >> > chefConfig.put(ChefProperties.CHEF_VALIDATOR_CREDENTIAL,
> > >> >>> >> > validatorCredential);
> > >> >>> >> >
> > >> >>> >> > ContextBuilder builder = ContextBuilder
> > >> >>> >> > .newBuilder(organization)
> > >> >>> >> > .credentials(client, credential)
> > >> >>> >> > .overrides(chefConfig);
> > >> >>> >> >
> > >> >>> >> > LOG.debug(" initializing Chef Service " +
> > >> builder.getApiMetadata());
> > >> >>> >> >
> > >> >>> >> > context = builder.buildView(ChefContext.class);
> > >> >>> >> >
> > >> >>> >> > } catch (Exception e) {
> > >> >>> >> > LOG.warn("error reading private key ", e);
> > >> >>> >> > return null;
> > >> >>> >> > }
> > >> >>> >> > return context.getChefService();
> > >> >>> >> > }`
> > >> >>> >> >
> > >> >>> >> > Regards,
> > >> >>> >> > Subhadip
> > >> >>> >> >
> > >> >>> >>
> > >> >>>
> > >>
> >
> -------------------------------------------------------------------------------------------------------------------
> > >> >>> >> >
> > >> >>> >> > On Mon, Feb 9, 2015 at 1:53 PM, Ignasi Barrera <
> > n...@apache.org>
> > >> >>> wrote:
> > >> >>> >> >
> > >> >>> >> >> Could you also share the code you use to create the
> > ChefContext?
> > >> >>> Just
> > >> >>> >> >> to make sure the credentials and validator certificates are
> > >> >>> properly
> > >> >>> >> >> configured. Thanks!
> > >> >>> >> >>
> > >> >>> >> >> On 9 February 2015 at 09:18, Ignasi Barrera <
> > >> >>> ignasi.barr...@gmail.com>
> > >> >>> >> >> wrote:
> > >> >>> >> >> > It seems to be failing to install the Chef RPM (and that
> > would
> > >> >>> be an
> > >> >>> >> >> > issue with the Chef package itself). To debug what is
> going
> > >> on,
> > >> >>> you
> > >> >>> >> >> > can:
> > >> >>> >> >> >
> > >> >>> >> >> > * Log in to the node after the script execution failure.
> > >> >>> >> >> > * Remove the "/etc/chef" directory, to cleanup everything
> > >> >>> jclouds has
> > >> >>> >> >> > created there.
> > >> >>> >> >> > * In the user's home directory you'll find a symlink
> > pointing
> > >> to
> > >> >>> the
> > >> >>> >> >> > bootstrap script.
> > >> >>> >> >> > * That bootstrap script leaves the stdout and stderr
> outputs
> > >> in
> > >> >>> >> >> > "/tmp". You can read them and see if you find more details
> > >> about
> > >> >>> the
> > >> >>> >> >> > error.
> > >> >>> >> >> > * Or you can manually run the script and see if you can
> see
> > >> more
> > >> >>> >> details.
> > >> >>> >> >> >
> > >> >>> >> >> > jclouds by default installs Chef using the Omnibus
> installer
> > >> and
> > >> >>> >> >> > installs the latest version of Chef. You can also try to
> > >> force a
> > >> >>> >> >> > concrete version of the Chef Client to be installed. To do
> > >> that:
> > >> >>> >> >> >
> > >> >>> >> >> > * You must use jclouds 2.0.0-SNAPSHOT version (there is
> not
> > a
> > >> >>> release
> > >> >>> >> >> > with the version support when using Omnibus).
> > >> >>> >> >> > * Create the ChefContext adding the following property
> (this
> > >> is a
> > >> >>> >> >> > version of the Chef client I've tested recently):
> > >> >>> >> >> >     overrides.setProperty(ChefProperties.CHEF_VERSION,
> > >> >>> "11.16.4-1");
> > >> >>> >> >> >
> > >> >>> >> >> >
> > >> >>> >> >> > HTH!
> > >> >>> >> >> >
> > >> >>> >> >> > I.
> > >> >>> >> >> >
> > >> >>> >> >> > On 8 February 2015 at 19:07, Subhadip Bagui <
> > >> i.ba...@gmail.com>
> > >> >>> >> wrote:
> > >> >>> >> >> >> Hi,
> > >> >>> >> >> >>
> > >> >>> >> >> >> I'm trying to bootstrap one predefined recipe as runlist
> > >> through
> > >> >>> >> JClouds
> > >> >>> >> >> >> boot strap. The issue I'm facing is the authentication
> and
> > >> >>> >> >> chef-validator
> > >> >>> >> >> >> pem file all the generating correctly in ec2 node, but
> it's
> > >> >>> failing
> > >> >>> >> to
> > >> >>> >> >> >> create the client.pem in the new node. For that the
> recipe
> > is
> > >> >>> not
> > >> >>> >> able
> > >> >>> >> >> to
> > >> >>> >> >> >> run. Below is my code part following the example from
> link
> > >> >>> >> >> >>
> > >> >>> >> >>
> > >> >>> >>
> > >> >>>
> > >>
> >
> https://github.com/jclouds/jclouds-examples/blob/master/chef-basics/src/main/java/org/apache/jclouds/examples/chef/basics/MainApp.java
> > >> >>> >> >> >>
> > >> >>> >> >> >> Please let me know the whats the issue here.
> > >> >>> >> >> >>
> > >> >>> >> >> >>
> > >> >>> >> >> >> private String createBootstrapAWS(String userName, String
> > >> >>> password,
> > >> >>> >> >> >>> InstanceBean instance, ComputeService computeService)
> > >> >>> >> >> >>> throws IOException {
> > >> >>> >> >> >>> String status = Constants.SUCCESS;
> > >> >>> >> >> >>> List<String> runlist = new ArrayList<String>();
> > >> >>> >> >> >>> String recipe = INITIAL_UPDATE_VM;
> > >> >>> >> >> >>> // initialising chef
> > >> >>> >> >> >>> ChefContext chefContext = AriServiceConfiguration
> > >> >>> >> >> >>> .chefServerConfigurationCloudWise(instance);
> > >> >>> >> >> >>> Iterable<? extends CookbookVersion> cookbookVersions =
> > >> >>> chefContext
> > >> >>> >> >> >>> .getChefService().listCookbookVersions();
> > >> >>> >> >> >>> if (any(cookbookVersions, containsRecipe(recipe))) {
> > >> >>> >> >> >>> runlist = new
> RunListBuilder().addRecipe(recipe).build();
> > >> >>> >> >> >>> }
> > >> >>> >> >> >>> if (instance.isAutoDeploy()) {
> > >> >>> >> >> >>> runlist = new RunListBuilder().addRecipes(
> > >> >>> >> >> >>> instance.getRecipes().toArray(
> > >> >>> >> >> >>> new String[instance.getRecipes().size()])).build();
> > >> >>> >> >> >>> }
> > >> >>> >> >> >>> LoginCredentials login =
> > >> getLoginForCommandExecution(userName,
> > >> >>> >> >> >>> password, instance.getCloudType());
> > >> >>> >> >> >>> LOG.info("got the login as :" + login);
> > >> >>> >> >> >>> ChefService chefService = initChefServiceAWS(
> > >> >>> >> >> >>> MessageTranslator.getMessage("chef.client"),
> > >> >>> >> >> >>> MessageTranslator.getMessage("chef.validator"));
> > >> >>> >> >> >>> BootstrapConfig build = null;
> > >> >>> >> >> >>> try {
> > >> >>> >> >> >>> build =
> > BootstrapConfig.builder().runList(runlist).build();
> > >> >>> >> >> >>>
> > >> >>> chefService.updateBootstrapConfigForGroup(instance.getGroupName(),
> > >> >>> >> >> >>> build);
> > >> >>> >> >> >>> // Build the script that will bootstrap the node
> > >> >>> >> >> >>> Statement bootstrap = chefService
> > >> >>> >> >> >>> .createBootstrapScriptForGroup(instance.getGroupName());
> > >> >>> >> >> >>> LOG.info("bootstrap created...");
> > >> >>> >> >> >>> LOG.debug("Running run script");
> > >> >>> >> >> >>> status = runScriptOnGroup(computeService, login,
> instance,
> > >> >>> >> >> >>> bootstrap);
> > >> >>> >> >> >>> } catch (Exception e) {
> > >> >>> >> >> >>> LOG.warn("error thrown for bootstrap.." +
> e.getMessage());
> > >> >>> >> >> >>> return "failure";
> > >> >>> >> >> >>> } finally {
> > >> >>> >> >> >>> chefContext.close();
> > >> >>> >> >> >>> }
> > >> >>> >> >> >>> return status;
> > >> >>> >> >> >>> }
> > >> >>> >> >> >>
> > >> >>> >> >> >>
> > >> >>> >> >> >>
> > >> >>> >> >> >> The response I'm getting from JClouds for ExecResponse
> is
> > >> >>> below.
> > >> >>> >> It's
> > >> >>> >> >> not
> > >> >>> >> >> >> creating the client.pem.  Please let me know what is the
> > >> issue
> > >> >>> here.
> > >> >>> >> >> >>
> > >> >>> >> >> >> ExecResponse execResponses1 = compute.runScriptOnNode(
> > >> >>> >> >> >>> instance.getInstanceId(), command,
> > >> >>> >> >> >>> overrideLoginCredentials(login).runAsRoot(true));
> > >> >>> >> >> >>
> > >> >>> >> >> >>
> > >> >>> >> >> >> {output=Downloading Chef  for el...
> > >> >>> >> >> >> downloading
> > >> >>> >> >> >>
> > >> >>> >> >>
> > >> >>> >>
> > >> >>>
> > >>
> >
> https://www.opscode.com/chef/metadata?v=&prerelease=false&nightlies=false&p=el&pv=6&m=x86_64
> > >> >>> >> >> >>   to file /tmp/install.sh.2830/metadata.txt
> > >> >>> >> >> >> trying wget...
> > >> >>> >> >> >> url
> > >> >>> >> >> >>
> > >> >>> >> >>
> > >> >>> >>
> > >> >>>
> > >>
> >
> https://opscode-omnibus-packages.s3.amazonaws.com/el/6/x86_64/chef-12.0.3-1.x86_64.rpm
> > >> >>> >> >> >> md5 3634d1a3b6ae2e5977361075da0f44cc
> > >> >>> >> >> >> sha256
> > >> >>> >>
> 0ec6162b9d0ca2b2016ff02781d84905f712d64c7a81d01b0df88f977832f310
> > >> >>> >> >> >> downloaded metadata file looks valid...
> > >> >>> >> >> >> downloading
> > >> >>> >> >> >>
> > >> >>> >> >>
> > >> >>> >>
> > >> >>>
> > >>
> >
> https://opscode-omnibus-packages.s3.amazonaws.com/el/6/x86_64/chef-12.0.3-1.x86_64.rpm
> > >> >>> >> >> >>   to file /tmp/install.sh.2830/chef-12.0.3-1.x86_64.rpm
> > >> >>> >> >> >> trying wget...
> > >> >>> >> >> >> Comparing checksum with sha256sum...
> > >> >>> >> >> >> Installing Chef
> > >> >>> >> >> >> installing with rpm...
> > >> >>> >> >> >> Preparing...
> > >> >>> >> >> >>  ##################################################
> > >> >>> >> >> >> chef
> > >> >>> >> >> >>  ##################################################
> > >> >>> >> >> >> Thank you for installing Chef!
> > >> >>> >> >> >> [2015-02-08T17:41:25+00:00] INFO: Forking chef instance
> to
> > >> >>> >> converge...
> > >> >>> >> >> >> [2015-02-08T17:41:25+00:00] INFO: *** Chef 12.0.3 ***
> > >> >>> >> >> >> [2015-02-08T17:41:25+00:00] INFO: Chef-client pid: 7023
> > >> >>> >> >> >> [2015-02-08T17:41:28+00:00] INFO:* Client key
> > >> >>> /etc/chef/client.pem is
> > >> >>> >> >> not
> > >> >>> >> >> >> present - registering*
> > >> >>> >> >> >> *, error=warning:
> > >> /tmp/install.sh.2830/chef-12.0.3-1.x86_64.rpm:
> > >> >>> >> Header
> > >> >>> >> >> V4
> > >> >>> >> >> >> DSA/SHA1 Signature, key ID 83ef826a: NOKEY*
> > >> >>> >> >> >> *, exitStatus=1}*
> > >> >>> >> >> >>
> > >> >>> >> >> >>
> > >> >>> >> >> >> Regards,
> > >> >>> >> >> >> Subhadip
> > >> >>> >> >> >>
> > >> >>> >> >> >>
> > >> >>> >> >>
> > >> >>> >>
> > >> >>>
> > >>
> >
> -------------------------------------------------------------------------------------------------------------------
> > >> >>> >> >>
> > >> >>> >>
> > >> >>>
> > >> >>
> > >> >>
> > >> >
> > >>
> > >
> > >
> >
>

Reply via email to