brooklyn-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Maneesh Mehra <maneeshme...@gmail.com>
Subject NPE on running Chef Solo blueprint
Date Mon, 26 May 2014 14:36:49 GMT
Hi:

I am new to brooklyn and am trying to create a blueprint to run a chef
recipe in a solo mode. Here is what I have so far in terms of this
blueprint:

package com.mypackage;

import java.util.HashMap;
import java.util.Map;

import brooklyn.entity.basic.AbstractApplication;
import brooklyn.entity.chef.ChefConfig;
import brooklyn.entity.chef.ChefEntity;
import brooklyn.entity.proxying.EntitySpec;

public class ChefBlueprint extends AbstractApplication {

private static final Map<String, String> cookbooksAndUrls = new
HashMap<String, String>();
 @Override
public void init() {
 cookbooksAndUrls.put("my-server", "file:///tmp/library/my_cookbooks.zip");
 addChild(EntitySpec.create(ChefEntity.class)
 .configure(ChefConfig.CHEF_MODE, ChefConfig.ChefModes.SOLO)
.configure(ChefConfig.CHEF_COOKBOOK_URLS, cookbooksAndUrls)
 .configure(ChefConfig.CHEF_COOKBOOK_PRIMARY_NAME, "my-server")
.configure(ChefConfig.PID_FILE, "/tmp/chef_solo")
 );
}
}

However, when I run this in brooklyn 0.7.0 M1 on localhost, I am getting
this:

[root@mmamp library]# brooklyn -v launch -b <myserver> --app
com.mypackage.ChefBlueprint --location localhost
 _                     _    _
| |__  _ __ ___   ___ | | _| |_   _ _ __ (R)
| '_ \| '__/ _ \ / _ \| |/ / | | | | '_ \
| |_) | | | (_) | (_) |   <| | |_| | | | |
|_.__/|_|  \___/ \___/|_|\_\_|\__, |_| |_|
                              |___/             0.7.0-M1

Launching brooklyn app: com.mypackage.ChefBlueprint in localhost
2014-05-26 09:26:02,687 INFO  Started Brooklyn console at
http://<myserver>:8081/,
running classpath://brooklyn.war and []
2014-05-26 09:26:02,687 INFO  Persistence disabled
*2014-05-26 09:26:02,812 WARN  Failed to create entity using spec
EntitySpec{type=interface brooklyn.entity.chef.ChefEntity} (rethrowing)*
*java.lang.NullPointerException: null*
*        at
brooklyn.entity.chef.ChefLifecycleEffectorTasks.getPidFile(ChefLifecycleEffectorTasks.java:68)
~[brooklyn-software-base-0.7.0-M1.jar:na]*
*2014-05-26 09:26:02,818 WARN  Failed to create entity using spec
EntitySpec{type=interface brooklyn.entity.basic.StartableApplication}
(rethrowing)*
*java.lang.NullPointerException: null*
*        at
brooklyn.entity.chef.ChefLifecycleEffectorTasks.getPidFile(ChefLifecycleEffectorTasks.java:68)
~[brooklyn-software-base-0.7.0-M1.jar:na]*
*2014-05-26 09:26:02,819 ERROR Error launching brooklyn:
java.lang.NullPointerException*
*java.lang.NullPointerException: null*
*        at
brooklyn.entity.chef.ChefLifecycleEffectorTasks.getPidFile(ChefLifecycleEffectorTasks.java:68)
~[brooklyn-software-base-0.7.0-M1.jar:na]*
2014-05-26 09:26:07,025 INFO  Launched Brooklyn; now blocking to wait for
cntrl-c or kill
^C2014-05-26 09:26:10,020 INFO  BrooklynWebServer detected shut-down:
stopping web-console

I looked up the source code and seems like the following line in
ChefLifecycleEffectorTasks.java is throwing the NPE.

    public String getPidFile() {
        if (_pidFile!=null) return _pidFile;
        *return _pidFile = entity().getConfig(ChefConfig.PID_FILE);*
    }


I am suspecting that entity() is returning a null, but why ?

Thanks,

Maneesh

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message