puppetdb 2.2.0 on SLES 11.3: start failure "Error: Could not find or load main class com.puppetlabs.puppetdb.core"

87 views
Skip to first unread message

Helmut Rickel

unread,
May 12, 2015, 7:43:55 AM5/12/15
to puppet...@googlegroups.com
Hello,

we run puppet 3.6.2 on SLES 11 SP3 and downloaded puppetdb 2.2.0 from
http://download.opensuse.org/repositories/systemsmanagement:/puppet:/devel/SLE_11_SP3/x86_64/puppetdb-2.2.0-14.34.x86_64.rpm .

Trying to start puppetdb produces nothing more than this message "Error: Could not find or load main class com.puppetlabs.puppetdb.core" in puppetdb-daemon.log.

root@DMS-P-SV1:/var/log/puppetdb
(DMS-P-SV1)# rcpuppetdb status
Checking for service puppetdb                                           dead
root@DMS-P-SV1:/var/log/puppetdb
(DMS-P-SV1)# rcpuppetdb start
Starting puppetdb 8895
                                                                        done
root@DMS-P-SV1:/var/log/puppetdb
(DMS-P-SV1)# rcpuppetdb status
Checking for service puppetdb                                           dead
root@DMS-P-SV1:/var/log/puppetdb
(DMS-P-SV1)# cat puppetdb-daemon.log
Error: Could not find or load main class com.puppetlabs.puppetdb.core
Error: Could not find or load main class com.puppetlabs.puppetdb.core
Error: Could not find or load main class com.puppetlabs.puppetdb.core
root@DMS-P-SV1:/var/log/puppetdb
(DMS-P-SV1)# rpm -qa | grep puppetdb
puppetdb-terminus-2.2.0-14.34
python-pypuppetdb-0.1.1-1.5
puppetdb-2.2.0-14.34


All we could found about this error yet is a hint, that the compilation method "AOT" is no longer to be used. However, I doubt that SuSE publishes a version that was not correctly compiled.

puppetdb 1.6.3 runs out of the box, but we would prefer to use a newer version.

Does anyone have a hint how to solve this problem?

Kind regards
Helmut

Ken Barber

unread,
May 12, 2015, 7:55:12 AM5/12/15
to Puppet Users
Well, its not that they have compiled anything badly, it's just they
haven't adjusted their init script to reflect the changes since 2.x
when we removed AOT compilation. If you look at our version currently
in stable (2.3.4) the java arguments are different now:

https://github.com/puppetlabs/puppetdb/blob/stable/ext/templates/init_suse.erb#L36

In particular, Java launches PuppetDB using the clojure.main class,
and passes the entry point using the clojure specific argument -m.

> puppetdb 1.6.3 runs out of the box, but we would prefer to use a newer
> version.
>
> Does anyone have a hint how to solve this problem?

This boils down to a bug in the package I think.

You'll need to either fix this init script manually yourself, ask the
package maintainer to update their package (it's still a few revisions
behind anyhow, I wouldn't advise a 2.2.0 if you can avoid it) or roll
your own SLES specific package.

ken.

Helmut Rickel

unread,
May 12, 2015, 9:11:07 AM5/12/15
to puppet...@googlegroups.com
Hello Ken,
this solved the problem.

I can not compile puppetdb so we will use 2.2.0 until a newer version is supplied by the opensuse community.

Thanks a lot for your help!

Kind regards
Helmut


Reply all
Reply to author
Forward
0 new messages