Continuing from the previous article - once the 'bc' error is fixed - when you run
sudo /usr/sbin/euca_conf --initialize --debug now here is your error:
Notice it says:
[error:0631] Cannot find Eucalyptus bootstrapper: com/eucalyptus/bootstrap/SystemBootstrapper.
[error:0557] Service exit with a return of 1.
initialize command failed</blockquote>
So what can this be? First thing would be to check the
/var/log/eucalyptus/cloud-output.log, but since initializing failed that file doesn't even get created... hmmm....
Ok, how about a
sudo find / -name SystemBootstrapper.java? Ok great we get a result:
/home/ubuntu/eucalyptus/clc/modules/msgs/src/main/java/com/eucalyptus/bootstrap/SystemBootstrapper.javaSo it is on the system as a java class (Note it is not this - https://pypi.python.org/pypi/bootstrapper/0.1 ) Why can't the initialize script find it?
you might want to set the jdk in CLOUD_OPTS in eucalyptus.conf in /etc/eucalyptus/
to point to jdk 1.7</blockquote></p>
The issue is this: since eucalyptus requires ANT 1.8.3 (on Ubuntu 12.04.3) ANT has a Java 6 dependency. BUT Eucalyptus requires Java 7 for compilation. What happened is that the Java 6 became the default java.
java --versionrendered this:
java version "1.6.0_27"
OpenJDK Runtime Environment (IcedTea6 1.12.6) (6b27-1.12.6-1ubuntu0.12.04.2)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
And there in lies the problem - when you edit the
/etc/eucalyptus/eucalyptus.conffile you find an option at the top that says:
#CLOUD_OPTS="--java-home=/usr/lib/jvm/default-java --db-home=/usr/lib/postgresql/9.1"And there is the problem. The system thinks that Java 6 is the default-java so the initialize script is trying to run the
com/eucalyptus/bootstrap/SystemBootstrapperclass but it needs Java 7 to compile properly.
Change the value of the
CLOUD_OPTSto be the default value of where Java 7 is installed. That would be
/usr/lib/jvm/java-7-openjdk-amd64if you are following Alin Tomescu's blog.