Hi
I am trying to install eucalyptus on Debian Squeeze, and I did have it running, but I did something
which broke it and I could not get it to start again after a reboot.
Eventually I have wiped everything, and as this is a new box I reinstalled squeeze from a netinstall
CD re-formatting all the drives.
Eucalyptus still will not start and there is nothing in the logs.
Trying to start the service from the command line gives this.
/var/lib/eucalyptus# /usr/sbin/eucalyptus-cloud
[error:0185] User 'eucalyptus' validated
[error:0185] User 'eucalyptus' validated
[error:0215]
java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.(I)V
at org.codehaus.groovy.runtime.callsite.CallSiteGenerator.compileStaticMethod(CallSiteGenerator.java:231)
at org.codehaus.groovy.reflection.CachedMethod.createStaticMetaMethodSite(CachedMethod.java:268)
at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.createStaticMetaMethodSite(StaticMetaMethodSite.java:111)
at groovy.lang.MetaClassImpl.createStaticSite(MetaClassImpl.java:2998)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.createCallStaticSite(CallSiteArray.java:59)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.createCallSite(CallSiteArray.java:144)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
at com.eucalyptus.util.LogUtil.(LogUtil.groovy:5)
at com.eucalyptus.bootstrap.SystemBootstrapper.init(SystemBootstrapper.java:128)
[error:0390] Service exit with a return value of 1
The only thing I did before the install is to install KVM as follows
aptitude install qemu-kvm virt-manager
then
edit /etc/apt/sources.list
add
deb http://eucalyptussoftware.com/downloads/repo/eucalyptus/1.6.2/debian/ squeeze main
and
aptitude install eucalyptus-common eucalyptus-cloud eucalyptus-walrus eucalyptus-sc eucalyptus-cc
please help
Hi
I am pretty sure I followed the instructions, its installed from the debian repositories, and I got it working
once.
Its possible there is a hardware fault with the machine, so I will try a different one, and I am going to install
Lenny instead of Sqeeze.
Yes I used the init.d scripts, but you can't see the error messages unless you try to start the services from
the command line. Perhaps the scripts need to be modified to give a bit more info.
thanks
Dave
Hi,
I am experiencing the same problems, starting the eucalyotus-cloud service from the init scripts is just not working. Trying from command line has the following effect:
root@euca:~# eucalyptus-cloud
[error:0185] User 'eucalyptus' validated
[error:0215]
java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.(I)V
at org.codehaus.groovy.runtime.callsite.CallSiteGenerator.compileStaticMethod(CallSiteGenerator.java:231)
at org.codehaus.groovy.reflection.CachedMethod.createStaticMetaMethodSite(CachedMethod.java:268)
at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.createStaticMetaMethodSite(StaticMetaMethodSite.java:111)
at groovy.lang.MetaClassImpl.createStaticSite(MetaClassImpl.java:2998)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.createCallStaticSite(CallSiteArray.java:59)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.createCallSite(CallSiteArray.java:144)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
at com.eucalyptus.util.LogUtil.(LogUtil.groovy:5)
at com.eucalyptus.bootstrap.SystemBootstrapper.init(SystemBootstrapper.java:128)
[error:0390] Service exit with a return value of 1
The cloud-[debug,output,error] logs are not helpful at all, as they all basically have the same line:
root@euca:~# tail -f /var/log/eucalyptus/cloud-debug.log
20:33:30 INFO [SystemBootstrapper:main] Creating Bootstrapper instance.
20:33:35 INFO [SystemBootstrapper:main] Creating Bootstrapper instance.
14:41:15 INFO [SystemBootstrapper:main] Creating Bootstrapper instance.
14:41:20 INFO [SystemBootstrapper:main] Creating Bootstrapper instance.
14:41:21 INFO [SystemBootstrapper:main] Creating Bootstrapper instance.
14:41:25 INFO [SystemBootstrapper:main] Creating Bootstrapper instance.
14:41:28 INFO [SystemBootstrapper:main] Creating Bootstrapper instance.
Also, there are no log files for the eucalyptus-cc service (is that normal?) which appears to be running smoothly
The problem occurs on a fresh squeeze amd64 installation, with packages from the 1.6.2 branch, specifically the eucalyptus-cloud 1.6.2~bzr1199~1.6.2-0euca1_amd64.deb. Anyone else has run into this? Is there any trick to get it working? Since this problem occurred, I am seriously considering downgrading the whole thing to 1.6.1 which ran perfect on squeeze.
Thanks
I thought I was doing something wrong, but it just won't work on Squeeze AMD64.
Tried 2 different machines. Not tried 1.6.1.
Its strange it worked once, so I can only assume something in the Squeeze repositories has changed
which breaks it.
Dave
Hello,
there may be some conflict with groovy pacakges installed: we suspect there is a conflict currently in squeeze. Can you check if you have a file /usr/share/java/groovy-all.jar? If so would you mind to try to copy that file over to /usr/share/eucalyptus/groovy.jar?
Please make copies of files and let us know if this works.
cheers
graziano
Hi again,
eucalyptus-cloud does kind of get off the ground, but the groovy problem persists (from cloud-error.log):
11:30:51 [LocalDatabaseBootstrapper:main] FATAL com.eucalyptus.util.FailScriptFailException: Executing the requested script failed: before_database.groovy
com.eucalyptus.util.FailScriptFailException: Executing the requested script failed: before_database.groovy
at com.eucalyptus.util.GroovyUtil.evaluateScript(GroovyUtil.java:56)
at com.eucalyptus.bootstrap.LocalDatabaseBootstrapper.createDatabase(LocalDatabaseBootstrapper.java:161)
at com.eucalyptus.bootstrap.LocalDatabaseBootstrapper.load(LocalDatabaseBootstrapper.java:127)
at com.eucalyptus.bootstrap.SystemBootstrapper.load(SystemBootstrapper.java:175)
Caused by: java.io.FileNotFoundException: /etc/eucalyptus/cloud.d/scripts/before_database.groovy (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.(FileInputStream.java:137)
at java.io.FileInputStream.(FileInputStream.java:96)
at java.io.FileReader.(FileReader.java:58)
at com.eucalyptus.util.GroovyUtil.evaluateScript(GroovyUtil.java:52)
... 3 more
11:30:51 [LocalDatabaseBootstrapper:main] FATAL Failed to initialize the database layer.
Is the groovy.jar in debian up to date? Which version is eucalyptus compiled against? Is the script mentioned (/etc/eucalyptus/cloud.d/scripts/before_database.groovy) supposed to be there? I'll try to play with it, but your input could be the one to solve this problem.
Thanks for the speedy reply!
Debian Squeeze fully updated (as of 2010-03-26) running on amd64.
# eucalyptus-cloud
Will output in the logs:
java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.(I)V
at org.codehaus.groovy.runtime.callsite.CallSiteGenerator.compileStaticMethod(CallSiteGenerator.java:231)
at org.codehaus.groovy.reflection.CachedMethod.createStaticMetaMethodSite(CachedMethod.java:268)
at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.createStaticMetaMethodSite(StaticMetaMethodSite.java:111)
at groovy.lang.MetaClassImpl.createStaticSite(MetaClassImpl.java:2998)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.createCallStaticSite(CallSiteArray.java:59)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.createCallSite(CallSiteArray.java:144)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
at com.eucalyptus.util.LogUtil.(LogUtil.groovy:5)
at com.eucalyptus.bootstrap.SystemBootstrapper.init(SystemBootstrapper.java:128)
[error:0390] Service exit with a return value of 1
Tried the fix of replacing ' /usr/share/eucalyptus/groovy.jar' by '/usr/share/java/groovy-all.jar': no success.
Anybody as a clue?
Pat
I'm running into this same issue.
I've read up on the posts about it, and I don't think I can copy the debian groovy.jar over the eucalyptus groovy.jar because it's already a symlink to it.
I would really like to know how to fix this.
To reproduce:
- install debian squeeze, (I used 32bit)
- be sure to install nothing except what is required (for me this was only sshd)
- follow installation instructions from eucalyptus wiki for debian squeeze (only add the 1.6.2 repos to apt.conf)
As the instructions do *not* tell you to check status of the nodes, this error becomes very unexpected and buried/hidden. It isn't until you try to use the utilities (and get misleading errors) that this would be discovered, and at that point one would think everything has gone fine so far as no errors or status has failed.
I didn't realize it hadn't fully started as nothing about this appears in /var/log/eucalyptus, but I did find a comment in the init.d script mentioning that the logs may now hidden from some people and reverting this brought the error to light.
Should I be steering clear of 1.6.2 until it is production quality?
Additionally, do I need to downgrade from squeeze due to possible incompatibities in packages, ie: if I can't get groovy without asm3 and this breaks eucalyptus, would I have to downgrade to lenny or etch to get the old groovy in there properly and without much fiddling?
Alright, as I don't give up easily and am impatient I figured this out on my own.
This is what needs to happen to fix this (you may have to re-do this whenever upgrading eucalyptus packages):
This is at least a change that is within eucalyptus, and doesn't require much deviation from a standard install:
root@YOURBOX:/usr/share/eucalyptus# mv groovy.jar groovy.jar.old
root@YOURBOX:/usr/share/eucalyptus# ln -s ../java/groovy-all.jar groovy.jar
The logic here, and reasoning, is that the groovy-all.jar is made for embedding (and has the proper dependencies packed into it) and the groovy.jar is for people who are sure they won't have dependency issues.
This has something to do with the spring framework using and including the old asm2 lib, I believe.
Enjoy!