Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

incremental commit

  • Loading branch information...
commit 8b53879bd852dee41b4ffde870c4473522aa5329 1 parent 53fefd6
@grze grze authored
Showing with 494 additions and 706 deletions.
  1. +51 −53 clc/build.xml
  2. +6 −48 clc/modules/authentication/build.xml
  3. +97 −18 clc/modules/authentication/src/main/java/com/eucalyptus/auth/Credentials.java
  4. +0 −44 clc/modules/authentication/src/main/java/com/eucalyptus/auth/CredentialsBootstrapper.java
  5. +2 −0  clc/modules/authentication/src/main/java/com/eucalyptus/auth/util/EucaKeyStore.java
  6. +7 −4 clc/modules/bootstrap/eucalyptus-bootstrap.c
  7. +3 −1 clc/modules/bootstrap/eucalyptus-bootstrap.h
  8. +7 −48 clc/modules/cloud/build.xml
  9. +1 −15 clc/modules/cloud/src/main/java/com/eucalyptus/bootstrap/HttpServerBootstrapper.java
  10. +1 −15 clc/modules/cluster-manager/build.xml
  11. +4 −46 clc/modules/core/build.xml
  12. +1 −15 clc/modules/dns/build.xml
  13. +1 −0  clc/modules/dns/src/main/java/com/eucalyptus/bootstrap/DNSBootstrapper.java
  14. +0 −2  clc/modules/dns/src/main/resources/META-INF/eucalyptus-bootstrap.properties
  15. +3 −1 clc/modules/dns/src/main/resources/com.eucalyptus.CloudServiceProvider
  16. 0  clc/modules/dns/src/main/resources/{META-INF → }/dns-model.xml
  17. 0  clc/modules/dns/src/main/resources/{META-INF → }/dns-services.xml
  18. +1 −15 clc/modules/group-manager/build.xml
  19. +1 −15 clc/modules/image-manager/build.xml
  20. +1 −15 clc/modules/interface/build.xml
  21. +1 −15 clc/modules/key-manager/build.xml
  22. +101 −107 clc/modules/module-inc.xml
  23. +32 −75 clc/modules/msgs/build.xml
  24. +5 −11 clc/modules/msgs/src/main/java/com/eucalyptus/bootstrap/BootstrapFactory.java
  25. +9 −3 clc/modules/msgs/src/main/java/com/eucalyptus/bootstrap/Bootstrapper.java
  26. +68 −25 clc/modules/msgs/src/main/java/com/eucalyptus/bootstrap/Resource.java
  27. +10 −4 clc/modules/msgs/src/main/java/com/eucalyptus/bootstrap/ResourceProvider.java
  28. +63 −52 clc/modules/msgs/src/main/java/com/eucalyptus/bootstrap/SystemBootstrapper.java
  29. +1 −1  clc/modules/msgs/src/main/java/com/eucalyptus/util/EucaLayout.java
  30. +1 −1  clc/modules/msgs/src/main/java/com/eucalyptus/util/LogUtils.java
  31. +5 −17 clc/modules/storage-controller/build.xml
  32. +0 −2  clc/modules/storage-controller/src/main/resources/META-INF/eucalyptus-bootstrap.properties
  33. +3 −1 clc/modules/storage-controller/src/main/resources/com.eucalyptus.CloudServiceProvider
  34. 0  clc/modules/storage-controller/src/main/resources/{META-INF → }/storage-model.xml
  35. 0  clc/modules/storage-controller/src/main/resources/{META-INF → }/storage-services.xml
  36. +1 −16 clc/modules/walrus/build.xml
  37. +0 −2  clc/modules/walrus/src/main/resources/META-INF/eucalyptus-bootstrap.properties
  38. +3 −1 clc/modules/walrus/src/main/resources/com.eucalyptus.CloudServiceProvider
  39. 0  clc/modules/walrus/src/main/resources/{META-INF → }/walrus-model.xml
  40. 0  clc/modules/walrus/src/main/resources/{META-INF → }/walrus-services.xml
  41. +2 −16 clc/modules/wsstack/build.xml
  42. +2 −2 clc/modules/www/build.xml
View
104 clc/build.xml
@@ -33,91 +33,85 @@
-->
<project name="eucalyptus" basedir=".">
- <import file="modules/module-inc.xml"/>
- <import file="cloud.xml"/>
- <!--================================== other vars ==================================-->
- <loadfile srcfile="../VERSION" property="euca.version">
+ <property environment="localenv"/>
+ <property name="euca.home.0" value="${localenv.EUCALYPTUS}"/>
+ <condition property="euca.home" value="/opt/eucalyptus" else="${localenv.EUCALYPTUS}">
+ <contains string="${euca.home.0}" substring="localenv"/>
+ </condition>
+ <property name="project.basedir" value="${user.dir}"/>
+ <loadfile srcfile="${project.basedir}/../VERSION" property="euca.version">
<filterchain>
<filterreader classname="org.apache.tools.ant.filters.StripLineBreaks"/>
</filterchain>
</loadfile>
+ <!--================================== other vars ==================================-->
<property name="jvm.heap" value="256m"/>
<property name="deps.url" value="http://open.eucalyptus.com/dependencies/${euca.version}"/>
<property name="deps.dir" value="deps"/>
<property name="deps.lib.dir" value="lib"/>
<property name="deps.lib" value="cloud-lib"/>
- <property name="deps.deploy" value="cloud-deploy"/>
<!--================================== build targets ==================================-->
<target name="build-msgs">
- <ant dir="modules/msgs" inheritall="false"/>
- <ant dir="modules/cloud" inheritall="false"/>
- <ant dir="modules/authentication" inheritall="false"/>
+ <ant dir="modules/msgs" inheritall="false" target="builder"/>
+ <ant dir="modules/cloud" inheritall="false" target="builder"/>
+ <ant dir="modules/authentication" inheritall="false" target="builder"/>
</target>
<target name="build-core" depends="build-msgs">
- <ant dir="modules/core" inheritall="false"/>
- <ant dir="modules/wsstack" inheritall="false"/>
- </target>
- <target name="build-www" depends="build-eucalyptus-ws">
- <ant dir="modules/www" inheritall="false"/>
- </target>
- <target name="build-eucalyptus-ws" depends="build-core">
- <ant dir="modules/interface" inheritall="false"/>
- <ant dir="modules/cluster-manager" inheritall="false"/>
- <ant dir="modules/image-manager" inheritall="false"/>
- <ant dir="modules/group-manager" inheritall="false"/>
- <ant dir="modules/key-manager" inheritall="false"/>
- </target>
- <target name="build-walrus-ws" depends="build-core">
- <ant dir="modules/walrus" inheritall="false"/>
- </target>
- <target name="build-ebs-ws" depends="build-walrus-ws">
- <ant dir="modules/storage-controller" inheritall="false"/>
- </target>
- <target name="build-dns-ws" depends="build-core">
- <ant dir="modules/dns" inheritall="false"/>
- </target>
- <target name="build-nogwt" depends="build-core,build-eucalyptus-ws"/>
- <target name="build-eucalyptus" depends="build-core,build-www,build-eucalyptus-ws"/>
- <target name="build-walrus" depends="build-walrus-ws"/>
- <target name="build-ebs" depends="build-ebs-ws"/>
- <target name="build-dns" depends="build-dns-ws"/>
- <target name="build" depends="deps,build-eucalyptus,build-walrus,build-ebs,build-dns"/>
+ <ant dir="modules/core" inheritall="false" target="builder"/>
+ <ant dir="modules/wsstack" inheritall="false" target="builder"/>
+ </target>
+ <target name="build-eucalyptus" depends="build-core">
+ <ant dir="modules/interface" inheritall="false" target="builder"/>
+ <ant dir="modules/cluster-manager" inheritall="false" target="builder"/>
+ <ant dir="modules/image-manager" inheritall="false" target="builder"/>
+ <ant dir="modules/group-manager" inheritall="false" target="builder"/>
+ <ant dir="modules/key-manager" inheritall="false" target="builder"/>
+ </target>
+ <target name="build-walrus" depends="build-core">
+ <ant dir="modules/walrus" inheritall="false" target="builder"/>
+ </target>
+ <target name="build-ebs" depends="build-walrus">
+ <ant dir="modules/storage-controller" inheritall="false" target="builder"/>
+ </target>
+ <target name="build-dns" depends="build-core">
+ <ant dir="modules/dns" inheritall="false" target="builder"/>
+ </target>
+ <target name="build-www">
+ <ant dir="modules/www" inheritall="false" target="builder"/>
+ </target>
+ <target name="build-nogwt" depends="build-eucalyptus,build-walrus,build-ebs,build-dns"/>
+ <target name="build" depends="deps,build-nogwt,build-www"/>
<!--================================== clean targets ==================================-->
<target name="clean-msgs">
<ant dir="modules/msgs" inheritall="false" target="clean"/>
<ant dir="modules/cloud" inheritall="false" target="clean"/>
- <ant dir="modules/authentication" inheritall="false" target="clean" />
+ <ant dir="modules/authentication" inheritall="false" target="clean"/>
</target>
<target name="clean-core" depends="clean-msgs">
- <ant dir="modules/core" inheritall="false" target="clean" />
+ <ant dir="modules/core" inheritall="false" target="clean"/>
<ant dir="modules/wsstack" inheritall="false" target="clean"/>
</target>
- <target name="clean-www" depends="clean-eucalyptus-ws">
- <ant dir="modules/www" inheritall="false" target="clean"/>
- </target>
- <target name="clean-eucalyptus-ws" depends="clean-core">
+ <target name="clean-eucalyptus" depends="clean-core">
<ant dir="modules/interface" inheritall="false" target="clean"/>
<ant dir="modules/cluster-manager" inheritall="false" target="clean"/>
<ant dir="modules/image-manager" inheritall="false" target="clean"/>
<ant dir="modules/group-manager" inheritall="false" target="clean"/>
<ant dir="modules/key-manager" inheritall="false" target="clean"/>
</target>
- <target name="clean-walrus-ws" depends="clean-core">
+ <target name="clean-walrus" depends="clean-core">
<ant dir="modules/walrus" inheritall="false" target="clean"/>
</target>
- <target name="clean-ebs-ws" depends="clean-core">
+ <target name="clean-ebs" depends="clean-walrus">
<ant dir="modules/storage-controller" inheritall="false" target="clean"/>
- <ant dir="modules/storage-controller" inheritall="false" target="clean-jni"/>
</target>
- <target name="clean-dns-ws" depends="clean-core">
+ <target name="clean-dns" depends="clean-core">
<ant dir="modules/dns" inheritall="false" target="clean"/>
</target>
- <target name="clean-eucalyptus" depends="clean-core,clean-www,clean-eucalyptus-ws"/>
- <target name="clean-walrus" depends="clean-walrus-ws"/>
- <target name="clean-ebs" depends="clean-ebs-ws"/>
- <target name="clean-dns" depends="clean-dns-ws"/>
- <target name="clean-nogwt" depends="clean-core,clean-www,clean-eucalyptus-ws,clean-walrus,clean-ebs,clean-dns"/>
- <target name="clean" depends="clean-eucalyptus,clean-walrus,clean-ebs,clean-dns">
+ <target name="clean-www">
+ <ant dir="modules/www" inheritall="false" target="clean" />
+ </target>
+ <target name="clean-nogwt" depends="clean-eucalyptus,clean-walrus,clean-ebs,clean-dns"/>
+ <target name="clean" depends="clean-nogwt,clean-www">
<delete dir="${target.dir}"/>
</target>
<target name="distclean" depends="clean">
@@ -129,6 +123,10 @@
<target name="install" depends="build">
<ant dir="modules/www" inheritall="false" target="install"/>
</target>
+ <property name="euca.conf.dir" value="${euca.home}/etc/eucalyptus/cloud.d"/>
+ <property name="euca.lib.dir" value="${euca.home}/usr/share/eucalyptus"/>
+ <property name="euca.var.dir" value="${euca.home}/var/lib/eucalyptus"/>
+ <property name="euca.log.dir" value="${euca.home}/var/log/eucalyptus"/>
<target name="install-nogwt" depends="build-nogwt">
<!-- copy libraries over -->
<mkdir dir="${euca.lib.dir}"/>
@@ -171,7 +169,7 @@
<condition property="needDownload">
<and>
<not>
- <available file="${deps.lib.dir}/jibx-run*.jar"/>
+ <available file="${deps.lib.dir}/bcprov.jar"/>
</not>
<and>
<not>
View
54 clc/modules/authentication/build.xml
@@ -1,50 +1,8 @@
-<!--
- ~ Software License Agreement (BSD License)
- ~
- ~ Copyright (c) 2008, Regents of the University of California
- ~ All rights reserved.
- ~
- ~ Redistribution and use of this software in source and binary forms, with or
- ~ without modification, are permitted provided that the following conditions
- ~ are met:
- ~
- ~ * Redistributions of source code must retain the above
- ~ copyright notice, this list of conditions and the
- ~ following disclaimer.
- ~
- ~ * Redistributions in binary form must reproduce the above
- ~ copyright notice, this list of conditions and the
- ~ following disclaimer in the documentation and/or other
- ~ materials provided with the distribution.
- ~
- ~ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- ~ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- ~ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ~ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- ~ LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- ~ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- ~ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- ~ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- ~ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ~ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- ~ POSSIBILITY OF SUCH DAMAGE.
- ~
- ~ Author: Chris Grzegorczyk grze@cs.ucsb.edu
- -->
-
-<project name="eucalyptus-auth" basedir="." default="build">
- <import file="../module-inc.xml"/>
- <!--================================== BUILD TARGETS ==================================-->
- <target name="build" depends="init,compile-src,jar" description="--> build the jar file from source."/>
- <uptodate property="groovyc.notRequired" targetfile="${jar.file}">
- <srcfiles dir="${src.dir}" includes="**/*"/>
- </uptodate>
- <target name="install" depends="build,jar,copy-conf"/>
- <target name="compile-src" unless="groovyc.notRequired">
- <taskdef name="groovyc" classname="org.codehaus.groovy.ant.Groovyc" classpathref="classpath"/>
- <groovyc srcdir="${src.dir}" classpathref="classpath" sourcepathref="srcpath" destdir="${build.dir}" verbose="true" listfiles="true">
- <javac target="1.5"/>
- </groovyc>
- </target>
+<project name="eucalyptus-auth" basedir=".">
+ <property name="builder.suffix" value="groovy" />
+ <uptodate property="groovyc.notRequired" targetfile="${jar.file}">
+ <srcfiles dir="${src.dir}" includes="**/*" />
+ </uptodate>
+ <import file="../module-inc.xml"/>
</project>
View
115 clc/modules/authentication/src/main/java/com/eucalyptus/auth/Credentials.java
@@ -1,12 +1,13 @@
package com.eucalyptus.auth;
-import java.io.IOException;
import java.security.GeneralSecurityException;
import java.security.KeyPair;
import java.security.PrivateKey;
import java.security.Security;
import java.security.cert.X509Certificate;
import java.util.List;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
import org.apache.log4j.Logger;
import org.apache.ws.security.WSSConfig;
@@ -17,9 +18,12 @@
import org.hibernate.criterion.Example;
import org.hibernate.criterion.MatchMode;
-import com.eucalyptus.auth.util.AbstractKeyStore;
import com.eucalyptus.auth.util.EucaKeyStore;
import com.eucalyptus.auth.util.KeyTool;
+import com.eucalyptus.bootstrap.Bootstrapper;
+import com.eucalyptus.bootstrap.Depends;
+import com.eucalyptus.bootstrap.Provides;
+import com.eucalyptus.bootstrap.Resource;
import com.eucalyptus.util.EntityWrapper;
import com.eucalyptus.util.EucalyptusCloudException;
import com.eucalyptus.util.EucalyptusProperties;
@@ -114,7 +118,9 @@ public static User addUser( String userName, Boolean isAdmin ) throws UserExists
return new EntityWrapper<T>( Credentials.DB_NAME );
}
- public static class Users {
+ @Provides(resource=Resource.UserCredentials)
+ @Depends(resources={Resource.Database})
+ public static class Users extends Bootstrapper {
public static boolean hasCertificate( final String alias ) {
X509Cert certInfo = null;
EntityWrapper<X509Cert> db = getEntityWrapper( );
@@ -262,25 +268,98 @@ public static void addCertificate( final String userName, final String alias, fi
}
return certAliases;
}
+
+ @Override
+ public boolean load( ) throws Exception {
+ return true;//TODO: check the DB connection here.
+ }
+
+ @Override
+ public boolean start( ) throws Exception {
+ return Credentials.checkAdmin( );
+ }
}
- protected static void createSystemKeys( ) throws IOException, GeneralSecurityException {
- AbstractKeyStore eucaKeyStore = EucaKeyStore.getInstance( );
- KeyTool keyTool = new KeyTool( );
- try {
- KeyPair sysKp = keyTool.getKeyPair( );
- X509Certificate sysX509 = keyTool.getCertificate( sysKp, EucalyptusProperties.getDName( EucalyptusProperties.NAME ) );
- KeyPair wwwKp = keyTool.getKeyPair( );
- X509Certificate wwwX509 = keyTool.getCertificate( wwwKp, EucalyptusProperties.getDName( EucalyptusProperties.WWW_NAME ) );
- eucaKeyStore.addKeyPair( EucalyptusProperties.NAME, sysX509, sysKp.getPrivate( ), EucalyptusProperties.NAME );
- eucaKeyStore.addKeyPair( EucalyptusProperties.WWW_NAME, wwwX509, wwwKp.getPrivate( ), EucalyptusProperties.NAME );
- eucaKeyStore.store( );
- } catch ( Exception e ) {
- EucaKeyStore.getInstance( ).remove( );
+ @Provides(resource=Resource.SystemCredentials)
+ public static class System extends Bootstrapper {
+ private static System singleton = new System();
+ private ConcurrentMap<CertAlias,X509Certificate> certs = new ConcurrentHashMap<CertAlias, X509Certificate>( );
+ private ConcurrentMap<CertAlias,KeyPair> keypairs = new ConcurrentHashMap<CertAlias, KeyPair>( );
+
+ private enum CertAlias {
+ eucalyptus, walrus, jetty, hsqldb;
+ public X509Certificate getCertificate() {
+ return System.singleton.certs.get( this );
+ }
+ public PrivateKey getPrivateKey() {
+ return System.singleton.keypairs.get( this ).getPrivate( );
+ }
+ public KeyPair getKeyPair() {
+ return System.singleton.keypairs.get( this );
+ }
+ private void init() throws Exception {
+ if(EucaKeyStore.getInstance( ).containsEntry( this.name( ) )) {
+ try {
+ System.singleton.certs.put( this, EucaKeyStore.getInstance( ).getCertificate( this.name( ) ) );
+ System.singleton.keypairs.put( this, EucaKeyStore.getInstance( ).getKeyPair( this.name( ),this.name( ) ) );
+ } catch ( Exception e ) {
+ System.singleton.certs.remove( this );
+ System.singleton.keypairs.remove( this );
+ LOG.fatal( "Failed to read keys from the keystore. Please repair the keystore by hand." );
+ LOG.fatal( e, e );
+ }
+ } else {
+ System.singleton.createSystemKey( this );
+ }
+ }
+ public boolean check() {
+ return (System.singleton.keypairs.containsKey( this ) && System.singleton.certs.containsKey( this ))&&EucaKeyStore.getInstance( ).containsEntry( this.name( ) );
+ }
+ }
+ private System( ) {}
+ private void loadSystemKey( String name ) throws Exception {
+ CertAlias alias = CertAlias.valueOf( name );
+ if( this.certs.containsKey( alias ) ) {
+ return;
+ } else {
+ createSystemKey( alias );
+ }
+ }
+ private void createSystemKey( CertAlias name ) throws Exception {
+ KeyTool keyTool = new KeyTool( );
+ try {
+ KeyPair sysKp = keyTool.getKeyPair( );
+ X509Certificate sysX509 = keyTool.getCertificate( sysKp, EucalyptusProperties.getDName( name.name( ) ) );
+ System.singleton.certs.put( name, sysX509 );
+ System.singleton.keypairs.put( name, sysKp );
+ //TODO: might need separate keystore for euca/hsqldb/ssl/jetty/etc.
+ EucaKeyStore.getInstance( ).addKeyPair( name.name( ), sysX509, sysKp.getPrivate( ), name.name( ));
+ EucaKeyStore.getInstance( ).store( );
+ } catch ( Exception e ) {
+ System.singleton.certs.remove( name );
+ System.singleton.keypairs.remove( name );
+ EucaKeyStore.getInstance( ).remove( );
+ throw e;
+ }
}
- if( !eucaKeyStore.check( ) ) {
- throw new GeneralSecurityException( "Created new keystore, but check still fails. eeek." );
+ @Override
+ public boolean load( ) throws Exception {
+ Credentials.init( );
+ for( CertAlias c : CertAlias.values( ) ) {
+ try {
+ if(!c.check( )) c.init( );
+ } catch ( Exception e ) {
+ LOG.error( e );
+ return false;
+ }
+ }
+ return true;
+ }
+ @Override
+ public boolean start( ) throws Exception {
+ return true;
}
}
+
}
View
44 clc/modules/authentication/src/main/java/com/eucalyptus/auth/CredentialsBootstrapper.java
@@ -1,44 +0,0 @@
-package com.eucalyptus.auth;
-
-import org.apache.log4j.Logger;
-
-import com.eucalyptus.auth.util.EucaKeyStore;
-import com.eucalyptus.bootstrap.Bootstrapper;
-import com.eucalyptus.bootstrap.Provides;
-import com.eucalyptus.bootstrap.Resource;
-@Provides(resource=Resource.SystemCredentials)
-public class CredentialsBootstrapper extends Bootstrapper {
- private static Logger LOG = Logger.getLogger( CredentialsBootstrapper.class );
- @Override
- public boolean check( ) throws Exception {
- return Credentials.checkKeystore( );
- }
-
- @Override
- public boolean destroy( ) throws Exception {
- return true;
- }
-
- @Override
- public boolean load( ) throws Exception {
- Credentials.init( );
- if( !Credentials.checkKeystore( ) ) {
- LOG.info("Looks like this is the first time?");//TODO: need to handle distinction between Cloud and Walrus/EBS here?!
- LOG.info("Generating system keys.");
- Credentials.createSystemKeys( );
- }
- return false;
- }
-
- @Override
- public boolean start( ) throws Exception {
- Credentials.checkAdmin( );
- return true;
- }
-
- @Override
- public boolean stop( ) throws Exception {
- return true;
- }
-
-}
View
2  clc/modules/authentication/src/main/java/com/eucalyptus/auth/util/EucaKeyStore.java
@@ -3,6 +3,7 @@
import java.io.File;
import java.io.IOException;
import java.security.GeneralSecurityException;
+import java.security.KeyPair;
import java.security.cert.X509Certificate;
import org.apache.log4j.Logger;
@@ -33,6 +34,7 @@ public static AbstractKeyStore getInstance( ) {
private EucaKeyStore( ) throws GeneralSecurityException, IOException {
super( SubDirectory.KEYS.toString( ) + File.separator + EucaKeyStore.FILENAME, EucaKeyStore.KEY_STORE_PASS, EucaKeyStore.FORMAT );
+
}
@Override
View
11 clc/modules/bootstrap/eucalyptus-bootstrap.c
@@ -240,8 +240,9 @@ static int child( euca_opts *args, java_home_t *data, uid_t uid, gid_t gid ) {
__write_pid( GETARG(args,pidfile) );
setpgrp( );
__die(java_init( args, data ) != 1, "Failed to initialize Eucalyptus.");
+ __die((r=(*env)->CallBooleanMethod(env,bootstrap.instance,bootstrap.init))==0,"Failed to init Eucalyptus.");
__die((r=(*env)->CallBooleanMethod(env,bootstrap.instance,bootstrap.load))==0,"Failed to load Eucalyptus.");
- __abort(4, linuxset_user_group( GETARG( args, user ), uid, gid ) != 0,"" );
+ __abort(4, linuxset_user_group( GETARG( args, user ), uid, gid ) != 0,"Setting the user failed." );
__abort(4, (set_caps(0)!=0), "set_caps (0) failed");
__die((r=(*env)->CallBooleanMethod(env,bootstrap.instance,bootstrap.start))==0,"Failed to start Eucalyptus.");
handle._hup = signal_set( SIGHUP, handler );
@@ -443,9 +444,11 @@ void java_load_bootstrapper(void) {
__die((*env)->RegisterNatives(env,bootstrap.clazz,&hello_method,1)!=0,"Cannot register native method: hello.");
__debug("Native methods registered.");
- __die((bootstrap.init=(*env)->GetStaticMethodID(env, bootstrap.clazz,euca_get_instance.method_name, euca_get_instance.method_signature))==NULL,"Failed to get reference to default constructor.");
- __die((bootstrap.instance=(*env)->CallStaticObjectMethod(env,bootstrap.clazz,bootstrap.init))==NULL,"Failed to create instance of bootstrapper.");
- __debug("Created bootstrapper instance.");
+ __die((bootstrap.constructor=(*env)->GetStaticMethodID(env, bootstrap.clazz,euca_get_instance.method_name, euca_get_instance.method_signature))==NULL,"Failed to get reference to default constructor.");
+ __die((bootstrap.instance=(*env)->CallStaticObjectMethod(env,bootstrap.clazz,bootstrap.constructor))==NULL,"Failed to create instance of bootstrapper.");
+ __debug("Created bootstrapper instance.");//TODO: fix all these error messages..
+ __die((bootstrap.init=(*env)->GetMethodID(env,bootstrap.clazz,euca_init.method_name,euca_init.method_signature))==NULL,"Failed to get method reference for load.");
+ __debug("-> bound method: init");
__die((bootstrap.load=(*env)->GetMethodID(env,bootstrap.clazz,euca_load.method_name,euca_load.method_signature))==NULL,"Failed to get method reference for load.");
__debug("-> bound method: load");
__die((bootstrap.start=(*env)->GetMethodID(env,bootstrap.clazz,euca_start.method_name,euca_start.method_signature))==NULL,"Failed to get method reference for start.");
View
4 clc/modules/bootstrap/eucalyptus-bootstrap.h
@@ -76,6 +76,7 @@ typedef struct {
} java_method_t;
static java_method_t euca_get_instance = { "getInstance", "()Lcom/eucalyptus/bootstrap/Bootstrapper;"};
static java_method_t euca_load = { "load", "()Z" };
+static java_method_t euca_init = { "init", "()Z" };
static java_method_t euca_start = { "start", "()Z" };
static java_method_t euca_stop = { "stop", "()Z" };
static java_method_t euca_check = { "check", "()Z" };
@@ -87,8 +88,9 @@ typedef struct {
jstring class_name;
jobject class_ref;
jobject instance;
- jmethodID init;
+ jmethodID constructor;
jmethodID get_instance;
+ jmethodID init;
jmethodID load;
jmethodID start;
jmethodID stop;
View
55 clc/modules/cloud/build.xml
@@ -1,50 +1,9 @@
-<!--
- ~ Software License Agreement (BSD License)
- ~
- ~ Copyright (c) 2008, Regents of the University of California
- ~ All rights reserved.
- ~
- ~ Redistribution and use of this software in source and binary forms, with or
- ~ without modification, are permitted provided that the following conditions
- ~ are met:
- ~
- ~ * Redistributions of source code must retain the above
- ~ copyright notice, this list of conditions and the
- ~ following disclaimer.
- ~
- ~ * Redistributions in binary form must reproduce the above
- ~ copyright notice, this list of conditions and the
- ~ following disclaimer in the documentation and/or other
- ~ materials provided with the distribution.
- ~
- ~ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- ~ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- ~ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ~ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- ~ LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- ~ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- ~ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- ~ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- ~ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ~ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- ~ POSSIBILITY OF SUCH DAMAGE.
- ~
- ~ Author: Chris Grzegorczyk grze@cs.ucsb.edu
- -->
-
-<project name="eucalyptus-cloud" basedir="." default="build">
- <import file="../module-inc.xml"/>
- <!--================================== BUILD TARGETS ==================================-->
- <target name="build" depends="init,compile-src,jar" description="--> build the jar file from source."/>
- <uptodate property="groovyc.notRequired" targetfile="${jar.file}">
- <srcfiles dir="${src.dir}" includes="**/*"/>
- </uptodate>
- <target name="install" depends="build,jar,copy-conf"/>
- <target name="compile-src" unless="groovyc.notRequired">
- <taskdef name="groovyc" classname="org.codehaus.groovy.ant.Groovyc" classpathref="classpath"/>
- <groovyc srcdir="${src.dir}" classpathref="classpath" sourcepathref="srcpath" destdir="${build.dir}" verbose="true" listfiles="true">
- <javac target="1.5"/>
- </groovyc>
- </target>
+<project name="eucalyptus-cloud" basedir=".">
+ <!--================================== BUILD TARGETS ==================================-->
+ <property name="builder.suffix" value="groovy" />
+ <uptodate property="groovyc.notRequired" targetfile="${jar.file}">
+ <srcfiles dir="${src.dir}" includes="**/*" />
+ </uptodate>
+ <import file="../module-inc.xml" />
</project>
View
16 clc/modules/cloud/src/main/java/com/eucalyptus/bootstrap/HttpServerBootstrapper.java
@@ -7,21 +7,12 @@
import com.eucalyptus.util.BaseDirectory;
+@Depends(resources={Resource.SystemCredentials})
public class HttpServerBootstrapper extends Bootstrapper {
private static Logger LOG = Logger.getLogger( HttpServerBootstrapper.class );
private static org.mortbay.jetty.Server jettyServer;
@Override
- public boolean check( ) throws Exception {
- return false;
- }
-
- @Override
- public boolean destroy( ) throws Exception {
- return false;
- }
-
- @Override
public boolean load( ) throws Exception {
jettyServer = new org.mortbay.jetty.Server();
XmlConfiguration jettyConfig = new XmlConfiguration( new File( BaseDirectory.CONF.toString() + File.separator + "eucalyptus-jetty.xml" ).toURL() );
@@ -36,10 +27,5 @@ public boolean start( ) throws Exception {
return false;
}
- @Override
- public boolean stop( ) throws Exception {
- return false;
- }
-
}
View
16 clc/modules/cluster-manager/build.xml
@@ -32,21 +32,7 @@
~ Author: Chris Grzegorczyk grze@cs.ucsb.edu
-->
-<project name="eucalyptus-clustermgr" basedir="." default="build">
+<project name="eucalyptus-clustermgr" basedir=".">
<import file="../module-inc.xml"/>
- <!--================================== BUILD TARGETS ==================================-->
- <target name="build" depends="init,compile-src,jar" description="--> build the jar file from source."/>
- <target name="install" depends="copy-conf"/>
- <target name="compile-src" depends="init">
- <javac srcdir="${src.dir}"
- classpathref="classpath"
- destdir="${build.dir}"
- deprecation="false"
- failonerror="true"
- debug="true"
- sourcepathref="srcpath"
- target="1.5"
- listfiles="true"/>
- </target>
</project>
View
50 clc/modules/core/build.xml
@@ -1,50 +1,8 @@
-<!--
- ~ Software License Agreement (BSD License)
- ~
- ~ Copyright (c) 2008, Regents of the University of California
- ~ All rights reserved.
- ~
- ~ Redistribution and use of this software in source and binary forms, with or
- ~ without modification, are permitted provided that the following conditions
- ~ are met:
- ~
- ~ * Redistributions of source code must retain the above
- ~ copyright notice, this list of conditions and the
- ~ following disclaimer.
- ~
- ~ * Redistributions in binary form must reproduce the above
- ~ copyright notice, this list of conditions and the
- ~ following disclaimer in the documentation and/or other
- ~ materials provided with the distribution.
- ~
- ~ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- ~ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- ~ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ~ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- ~ LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- ~ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- ~ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- ~ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- ~ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ~ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- ~ POSSIBILITY OF SUCH DAMAGE.
- ~
- ~ Author: Chris Grzegorczyk grze@cs.ucsb.edu
- -->
-
-<project name="eucalyptus-core" basedir="." default="build">
- <import file="../module-inc.xml"/>
- <!--================================== BUILD TARGETS ==================================-->
- <target name="build" depends="init,compile-src,jar" description="--> build the jar file from source." unless="groovyc.notRequired"/>
+<project name="eucalyptus-core" basedir=".">
+ <property name="builder.suffix" value="groovy" />
<uptodate property="groovyc.notRequired" targetfile="${jar.file}">
- <srcfiles dir="${src.dir}" includes="**/*"/>
+ <srcfiles dir="${src.dir}" includes="**/*" />
</uptodate>
- <target name="install" depends="copy-conf"/>
- <target name="compile-src" unless="groovyc.notRequired">
- <taskdef name="groovyc" classname="org.codehaus.groovy.ant.Groovyc" classpathref="classpath"/>
- <groovyc srcdir="${src.dir}" classpathref="classpath" destdir="${build.dir}" verbose="true" listfiles="true">
- <javac />
- </groovyc>
- </target>
+ <import file="../module-inc.xml" />
</project>
View
16 clc/modules/dns/build.xml
@@ -32,21 +32,7 @@
~ Author: Neil Soman neil@eucalyptus.com
-->
-<project name="eucalyptus-dns" basedir="." default="build">
+<project name="eucalyptus-dns" basedir="." >
<import file="../module-inc.xml"/>
- <!--================================== BUILD TARGETS ==================================-->
- <target name="build" depends="init,compile-src,jar" description="--> build the jar file from source."/>
- <target name="install" depends="copy-conf"/>
- <target name="compile-src" depends="init">
- <javac srcdir="${src.dir}"
- classpathref="classpath"
- destdir="${build.dir}"
- deprecation="false"
- failonerror="true"
- debug="true"
- sourcepathref="srcpath"
- target="1.5"
- listfiles="true"/>
- </target>
</project>
View
1  clc/modules/dns/src/main/java/com/eucalyptus/bootstrap/DNSBootstrapper.java
@@ -6,6 +6,7 @@
import com.eucalyptus.bootstrap.Bootstrapper;
import com.eucalyptus.cloud.ws.DNSControl;
+@Provides(resource=Resource.PrivilegedContext)
public class DNSBootstrapper extends Bootstrapper {
private static Logger LOG = Logger.getLogger( DNSBootstrapper.class );
private static DNSBootstrapper singleton;
View
2  clc/modules/dns/src/main/resources/META-INF/eucalyptus-bootstrap.properties
@@ -1,2 +0,0 @@
-euca.dns-model.xml=dns-model.xml
-euca.dns-services.xml=dns-services.xml
View
4 clc/modules/dns/src/main/resources/com.eucalyptus.CloudServiceProvider
@@ -1 +1,3 @@
-dns
+name=dns
+euca.model.dns=dns-model.xml
+euca.model.dns.services=dns-services.xml
View
0  ...src/main/resources/META-INF/dns-model.xml → ...ules/dns/src/main/resources/dns-model.xml
File renamed without changes
View
0  .../main/resources/META-INF/dns-services.xml → ...s/dns/src/main/resources/dns-services.xml
File renamed without changes
View
16 clc/modules/group-manager/build.xml
@@ -32,21 +32,7 @@
~ Author: Chris Grzegorczyk grze@cs.ucsb.edu
-->
-<project name="eucalyptus-groupmgr" basedir="." default="build">
+<project name="eucalyptus-groupmgr" basedir=".">
<import file="../module-inc.xml"/>
- <!--================================== BUILD TARGETS ==================================-->
- <target name="build" depends="init,compile-src,jar" description="--> build the jar file from source."/>
- <target name="install" depends="copy-conf"/>
- <target name="compile-src" depends="init">
- <javac srcdir="${src.dir}"
- classpathref="classpath"
- destdir="${build.dir}"
- deprecation="false"
- failonerror="true"
- debug="true"
- sourcepathref="srcpath"
- target="1.5"
- listfiles="true"/>
- </target>
</project>
View
16 clc/modules/image-manager/build.xml
@@ -32,21 +32,7 @@
~ Author: Chris Grzegorczyk grze@cs.ucsb.edu
-->
-<project name="eucalyptus-imagemgr" basedir="." default="build">
+<project name="eucalyptus-imagemgr" basedir=".">
<import file="../module-inc.xml"/>
- <!--================================== BUILD TARGETS ==================================-->
- <target name="build" depends="init,compile-src,jar" description="--> build the jar file from source."/>
- <target name="install" depends="copy-conf"/>
- <target name="compile-src" depends="init">
- <javac srcdir="${src.dir}"
- classpathref="classpath"
- destdir="${build.dir}"
- deprecation="false"
- failonerror="true"
- debug="true"
- sourcepathref="srcpath"
- target="1.5"
- listfiles="true"/>
- </target>
</project>
View
16 clc/modules/interface/build.xml
@@ -32,21 +32,7 @@
~ Author: Chris Grzegorczyk grze@cs.ucsb.edu
-->
-<project name="eucalyptus-interface" basedir="." default="build">
+<project name="eucalyptus-interface" basedir=".">
<import file="../module-inc.xml"/>
- <!--================================== BUILD TARGETS ==================================-->
- <target name="build" depends="init,compile-src,jar" description="--> build the jar file from source."/>
- <target name="install" depends="copy-conf"/>
- <target name="compile-src" depends="init">
- <javac srcdir="${src.dir}"
- classpathref="classpath"
- destdir="${build.dir}"
- deprecation="false"
- failonerror="true"
- debug="true"
- sourcepathref="srcpath"
- target="1.5"
- listfiles="true"/>
- </target>
</project>
View
16 clc/modules/key-manager/build.xml
@@ -32,21 +32,7 @@
~ Author: Chris Grzegorczyk grze@cs.ucsb.edu
-->
-<project name="eucalyptus-keymgr" basedir="." default="build">
+<project name="eucalyptus-keymgr" basedir=".">
<import file="../module-inc.xml"/>
- <!--================================== BUILD TARGETS ==================================-->
- <target name="build" depends="init,compile-src,jar" description="--> build the jar file from source."/>
- <target name="install" depends="copy-conf"/>
- <target name="compile-src" depends="init">
- <javac srcdir="${src.dir}"
- classpathref="classpath"
- destdir="${build.dir}"
- deprecation="false"
- failonerror="true"
- debug="true"
- sourcepathref="srcpath"
- target="1.5"
- listfiles="true"/>
- </target>
</project>
View
208 clc/modules/module-inc.xml
@@ -1,109 +1,103 @@
-<!--
- ~ Software License Agreement (BSD License)
- ~
- ~ Copyright (c) 2008, Regents of the University of California
- ~ All rights reserved.
- ~
- ~ Redistribution and use of this software in source and binary forms, with or
- ~ without modification, are permitted provided that the following conditions
- ~ are met:
- ~
- ~ * Redistributions of source code must retain the above
- ~ copyright notice, this list of conditions and the
- ~ following disclaimer.
- ~
- ~ * Redistributions in binary form must reproduce the above
- ~ copyright notice, this list of conditions and the
- ~ following disclaimer in the documentation and/or other
- ~ materials provided with the distribution.
- ~
- ~ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- ~ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- ~ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ~ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- ~ LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- ~ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- ~ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- ~ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- ~ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ~ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- ~ POSSIBILITY OF SUCH DAMAGE.
- ~
- ~ Author: Chris Grzegorczyk grze@cs.ucsb.edu
- -->
-
<project name="eucalyptus-module-import">
- <!--================================== euca defines ==================================-->
- <property environment="localenv"/>
- <property name="euca.home.0" value="${localenv.EUCALYPTUS}"/>
- <condition property="euca.home" value="/opt/eucalyptus" else="${localenv.EUCALYPTUS}">
- <contains string="${euca.home.0}" substring="localenv"/>
- </condition>
- <property name="euca.conf.dir" value="${euca.home}/etc/eucalyptus/cloud.d"/>
- <property name="euca.lib.dir" value="${euca.home}/usr/share/eucalyptus"/>
- <property name="euca.var.dir" value="${euca.home}/var/lib/eucalyptus"/>
- <property name="euca.log.dir" value="${euca.home}/var/log/eucalyptus"/>
- <property name="euca.template.dir" value="${euca.home}/var/lib/eucalyptus"/>
- <propertyset id="euca-props">
- <propertyref prefix="euca"/>
- </propertyset>
- <!--================================== module-dir defines ==================================-->
- <property name="build.dir" value="${basedir}/build"/>
- <property name="src.dir" value="${basedir}/src/main/java"/>
- <property name="conf.dir" value="${basedir}/conf"/>
- <property name="rsrc.dir" value="${basedir}/src/main/resources"/>
- <property name="target.dir" value="${basedir}/../../target"/>
- <property name="jar.file" value="${target.dir}/${ant.project.name}.jar"/>
- <property name="lib.dir" value="${basedir}/../../lib"/>
- <!--================================== classpaths ==================================-->
- <path id="classpath">
- <pathelement path="${conf.dir}"/>
- <fileset dir="${target.dir}">
- <include name="**/*.jar"/>
- </fileset>
- <fileset dir="${lib.dir}">
- <include name="**/*.jar"/>
- </fileset>
- </path>
- <path id="runtimeclasspath">
- <pathelement path="${euca.conf.dir}"/>
- <fileset dir="${euca.lib.dir}">
- <include name="**/*.jar"/>
- </fileset>
- </path>
- <path id="srcpath">
- <fileset dir="${build.dir}">
- <include name="**/*"/>
- </fileset>
- </path>
- <!--================================== copy conf ==================================-->
- <target name="copy-conf">
- <copy todir="${euca.conf.dir}">
- <fileset dir="conf">
- <include name="**/*"/>
- <exclude name="**/CVS"/>
- </fileset>
- </copy>
- </target>
- <!--================================== init target ==================================-->
- <target name="init">
- <mkdir dir="${build.dir}"/>
- <mkdir dir="${target.dir}"/>
- </target>
- <!--================================== clean target ==================================-->
- <target name="clean">
- <delete dir="${build.dir}"/>
- <delete file="${jar.file}"/>
- </target>
- <!--================================== jar target ==================================-->
- <target name="jar">
- <jar destfile="${jar.file}">
- <fileset dir="${build.dir}">
- <include name="**/*"/>
- </fileset>
- <fileset dir="${rsrc.dir}">
- <include name="**/*"/>
- </fileset>
- </jar>
- </target>
+ <!--================================== euca defines ==================================-->
+ <property environment="localenv"/>
+ <property name="euca.home.0" value="${localenv.EUCALYPTUS}"/>
+ <condition property="euca.home" value="/opt/eucalyptus" else="${localenv.EUCALYPTUS}">
+ <contains string="${euca.home.0}" substring="localenv"/>
+ </condition>
+ <property name="project.basedir" value="${basedir}/../../"/>
+ <loadfile srcfile="${project.basedir}/../VERSION" property="euca.version">
+ <filterchain>
+ <filterreader classname="org.apache.tools.ant.filters.StripLineBreaks"/>
+ </filterchain>
+ </loadfile>
+ <property name="euca.conf.dir" value="${euca.home}/etc/eucalyptus/cloud.d"/>
+ <property name="euca.lib.dir" value="${euca.home}/usr/share/eucalyptus"/>
+ <property name="euca.var.dir" value="${euca.home}/var/lib/eucalyptus"/>
+ <property name="euca.log.dir" value="${euca.home}/var/log/eucalyptus"/>
+ <propertyset id="euca-props">
+ <propertyref prefix="euca"/>
+ </propertyset>
+ <!--================================== module-dir defines ==================================-->
+ <property name="build.dir" value="${basedir}/build"/>
+ <property name="src.dir" value="${basedir}/src/main/java"/>
+ <property name="conf.dir" value="${basedir}/conf"/>
+ <property name="rsrc.dir" value="${basedir}/src/main/resources"/>
+ <property name="target.dir" value="${project.basedir}/target"/>
+ <property name="jar.file" value="${target.dir}/${ant.project.name}-${euca.version}.jar"/>
+ <property name="lib.dir" value="${project.basedir}/lib"/>
+ <!--================================== classpaths ==================================-->
+ <path id="classpath">
+ <pathelement path="${conf.dir}"/>
+ <fileset dir="${target.dir}">
+ <include name="**/*.jar"/>
+ </fileset>
+ <fileset dir="${lib.dir}">
+ <include name="**/*.jar"/>
+ </fileset>
+ </path>
+ <path id="runtimeclasspath">
+ <pathelement path="${euca.conf.dir}"/>
+ <fileset dir="${euca.lib.dir}">
+ <include name="**/*.jar"/>
+ </fileset>
+ </path>
+ <path id="srcpath">
+ <fileset dir="${build.dir}">
+ <include name="**/*"/>
+ </fileset>
+ </path>
+ <!--================================== copy conf ==================================-->
+ <target name="copy-conf">
+ <copy todir="${euca.conf.dir}">
+ <fileset dir="conf">
+ <include name="**/*"/>
+ </fileset>
+ </copy>
+ </target>
+ <!--================================== init target ==================================-->
+ <target name="init">
+ <mkdir dir="${build.dir}"/>
+ <mkdir dir="${target.dir}"/>
+ </target>
+ <target name="builder" depends="init" description="--> build the jar file from source.">
+ <condition property="builder.target" value="build-${builder.suffix}" else="build-java"><isset property="builder.suffix"/></condition>
+ <echo message="builder.target=${builder.target}"/>
+ <antcall target="${builder.target}" inheritall="true" inheritrefs="true"/>
+ <antcall target="jar"/>
+ </target>
+ <target name="build-java">
+ <javac srcdir="src/main/java/"
+ classpathref="classpath"
+ destdir="${build.dir}"
+ deprecation="false"
+ failonerror="true"
+ debug="true"
+ sourcepathref="srcpath"
+ target="1.5"
+ listfiles="true"/>
+ </target>
+ <target name="build-groovy">
+ <taskdef name="groovyc" classname="org.codehaus.groovy.ant.Groovyc" classpathref="classpath"/>
+ <groovyc srcdir="${src.dir}" classpathref="classpath" sourcepathref="srcpath" destdir="${build.dir}" verbose="true" listfiles="true" >
+ <javac target="1.5"/>
+ </groovyc>
+ </target>
+ <target name="install" depends="copy-conf"/>
+ <!--================================== clean target ==================================-->
+ <target name="clean">
+ <delete dir="${build.dir}" />
+ <delete file="${jar.file}" />
+ </target>
+ <!--================================== jar target ==================================-->
+ <target name="jar">
+ <jar destfile="${jar.file}">
+ <fileset dir="${build.dir}">
+ <include name="**/*"/>
+ </fileset>
+ <fileset dir="${rsrc.dir}">
+ <include name="**/*"/>
+ </fileset>
+ </jar>
+ </target>
</project>
View
107 clc/modules/msgs/build.xml
@@ -1,76 +1,33 @@
-<!--
- ~ Software License Agreement (BSD License)
- ~
- ~ Copyright (c) 2008, Regents of the University of California
- ~ All rights reserved.
- ~
- ~ Redistribution and use of this software in source and binary forms, with or
- ~ without modification, are permitted provided that the following conditions
- ~ are met:
- ~
- ~ * Redistributions of source code must retain the above
- ~ copyright notice, this list of conditions and the
- ~ following disclaimer.
- ~
- ~ * Redistributions in binary form must reproduce the above
- ~ copyright notice, this list of conditions and the
- ~ following disclaimer in the documentation and/or other
- ~ materials provided with the distribution.
- ~
- ~ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- ~ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- ~ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ~ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- ~ LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- ~ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- ~ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- ~ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- ~ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ~ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- ~ POSSIBILITY OF SUCH DAMAGE.
- ~
- ~ Author: Chris Grzegorczyk grze@cs.ucsb.edu
- -->
-
-<project name="eucalyptus-msgs" basedir="." default="build">
- <import file="../module-inc.xml"/>
- <property name="msgs.binding" value="${rsrc.dir}/msgs-binding.xml"/>
- <uptodate property="groovyc.notRequired" targetfile="${jar.file}">
- <srcfiles dir="${src.dir}" includes="**/*"/>
- <srcfiles dir="${rsrc.dir}" includes="**/*-binding.xml"/>
- </uptodate>
- <!--================================== BUILD TARGETS ==================================-->
- <!--
- <target name="build" depends="init,compile-src,compile-jibx,jar" description=" build the jar file from source." unless="groovyc.notRequired"/>
- -->
- <target name="build" depends="init,compile-src,jar" description=" build the jar file from source." unless="groovyc.notRequired"/>
- <target name="install" depends="copy-conf"/>
- <target name="clean">
- <delete dir="${build.dir}"/>
- <delete file="${jar.file}"/>
- <delete file="${rsrc.dir}/msgs-binding.xml"/>
- </target>
- <target name="compile-src" unless="groovyc.notRequired">
- <taskdef name="groovyc" classname="org.codehaus.groovy.ant.Groovyc" classpathref="classpath"/>
- <groovyc srcdir="${src.dir}" classpathref="classpath" destdir="${build.dir}" verbose="true" listfiles="true">
- <javac />
- </groovyc>
- </target>
- <target name="compile-jibx" unless="groovyc.notRequired">
- <delete>
- <fileset dir="${build.dir}">
- <include name="**/JiBX*.class"/>
- </fileset>
- </delete>
- <java classname="com.eucalyptus.util.GenerateJiBXBinding" fork="true">
- <classpath refid="classpath"/>
- <classpath path="build"/>
- <syspropertyset refid="euca-props"/>
- </java>
- <taskdef name="bind" classname="org.jibx.binding.ant.CompileTask" classpathref="classpath"/>
- <bind verbose="false" load="true">
- <classpathset dir="${build.dir}"/>
- <bindingfileset dir="${rsrc.dir}" includes="**/*-binding.xml"/>
- </bind>
- </target>
+<project name="eucalyptus-msgs" basedir=".">
+ <property name="msgs.binding" value="${rsrc.dir}/msgs-binding.xml" />
+ <uptodate property="groovyc.notRequired" targetfile="${jar.file}">
+ <srcfiles dir="${src.dir}" includes="**/*" />
+ <srcfiles dir="${rsrc.dir}" includes="**/*-binding.xml" excludes="${msgs.binding}"/>
+ </uptodate>
+ <property name="builder.suffix" value="jibx" />
+ <import file="../module-inc.xml"/>
+ <!--================================== BUILD TARGETS ==================================-->
+ <uptodate property="binding.notRequired" targetfile="${msgs.binding}">
+ <srcfiles dir="${src.dir}" includes="**/*" />
+ </uptodate>
+ <target name="build-binding" depends="build-groovy" unless="binding.notRequired">
+ <delete file="${msgs.binding}" />
+ <java classname="com.eucalyptus.util.GenerateJiBXBinding" fork="true">
+ <classpath refid="classpath" />
+ <classpath path="build" />
+ <syspropertyset refid="euca-props" />
+ </java>
+ </target>
+ <target name="build-jibx" depends="build-groovy,build-binding">
+ <taskdef name="bind" classname="org.jibx.binding.ant.CompileTask" classpathref="classpath" />
+ <delete>
+ <fileset dir="${build.dir}">
+ <include name="**/JiBX*.class" />
+ </fileset>
+ </delete>
+ <bind verbose="false" load="true">
+ <classpathset dir="${build.dir}" />
+ <bindingfileset dir="${rsrc.dir}" includes="**/*-binding.xml" />
+ </bind>
+ </target>
</project>
View
16 clc/modules/msgs/src/main/java/com/eucalyptus/bootstrap/BootstrapFactory.java
@@ -23,16 +23,9 @@
private static Multimap<Resource, ResourceProvider> resources = Multimaps.newArrayListMultimap( );
private static Multimap<Resource, Bootstrapper> bootstrappers = Multimaps.newArrayListMultimap( );
- public static List<ResourceProvider> getResourceProviders( Resource r ){
- return Lists.newArrayList( resources.get( r ) );
- }
- public static List<Bootstrapper> getBootstrappers( Resource r ){
- return Lists.newArrayList( bootstrappers.get( r ) );
- }
public static void initResourceProviders( ) {
for ( Resource r : Resource.values( ) ) {
for ( ResourceProvider p : r.getProviders( ) ) {
- resources.put( r, p );
LOG.info( "Loaded " + LogUtils.dumpObject( p ) );
}
}
@@ -40,9 +33,10 @@ public static void initResourceProviders( ) {
public static void initConfigurationResources( ) throws IOException {
for ( Resource r : Resource.values( ) ) {
- for ( ResourceProvider p : resources.get( r ) ) {
- for( ConfigResource cfg : p.initConfigurationResources( ) ) {
- LOG.info( "Loaded " + LogUtils.dumpObject( cfg ) );
+ for ( ResourceProvider p : r.initProviders( ) ) {
+ for( ConfigResource cfg : p.getConfigurations( ) ) {
+ LOG.info( "Loading resource provider:" + p.getName( ) + " -- " + p.getOrigin( ) );
+ LOG.info( "--> " + cfg.getUrl( ) );
}
}
}
@@ -64,7 +58,7 @@ public static void initBootstrappers( ) {
for ( Bootstrapper bootstrap : bsList ) {
for ( Resource r : Resource.values( ) ) {
if ( r.providedBy( bootstrap.getClass( ) ) || Resource.Nothing.equals( r ) ) {
- bootstrappers.put( r, bootstrap );
+ r.add( bootstrap );
LOG.info( "--> Associated bootstrapper " + bootstrap.getClass( ).getSimpleName( ) + " with resource " + r.toString( ) );
break;
}
View
12 clc/modules/msgs/src/main/java/com/eucalyptus/bootstrap/Bootstrapper.java
@@ -17,9 +17,15 @@ public String getVersion() {
public abstract boolean load() throws Exception;
public abstract boolean start() throws Exception;
- public abstract boolean check() throws Exception;
- public abstract boolean stop() throws Exception;
- public abstract boolean destroy() throws Exception;
+ public boolean check() throws Exception {
+ return true;
+ }
+ public boolean stop() throws Exception {
+ return true;
+ }
+ public boolean destroy() throws Exception {
+ return true;
+ }
}
View
93 clc/modules/msgs/src/main/java/com/eucalyptus/bootstrap/Resource.java
@@ -5,62 +5,105 @@
import java.lang.annotation.Annotation;
import java.net.URL;
import java.net.URLClassLoader;
+import java.util.ArrayList;
+import java.util.BitSet;
+import java.util.Collection;
import java.util.Enumeration;
import java.util.List;
+import java.util.ListIterator;
import java.util.Properties;
import org.apache.log4j.Logger;
+import org.mule.config.ConfigResource;
import com.google.common.collect.Lists;
public enum Resource {
- Bootstrap( ),
PrivilegedContext( ),
SystemCredentials( ),
+ RemoteConfiguration( ),
Database( ),
ClusterCredentials( ),
UserCredentials( ),
CloudService( ),
SpringService( ),
Nothing( ), ;
- private String resourceName;
- private boolean initialized = false; //TODO: state needed for @Depends
- private boolean started = false;
- private static Logger LOG = Logger.getLogger( Resource.class );
+ private String resourceName;
+ private boolean initialized = false; //TODO: state needed for @Depends
+ private boolean started = false;
+ private static Logger LOG = Logger.getLogger( Resource.class );
+ private List<Bootstrapper> bootstrappers;
+ private List<ResourceProvider> providers;
+ private BitSet bootstrapped;
private Resource( ) {
this.resourceName = String.format( "com.eucalyptus.%sProvider", this.name( ) );
+ this.bootstrappers = Lists.newArrayList( );
+ this.bootstrapped = new BitSet( );
}
public List<ResourceProvider> getProviders( ) {
- List<ResourceProvider> providers = Lists.newArrayList( );
- Enumeration<URL> p1;
- try {
- p1 = Thread.currentThread( ).getContextClassLoader( ).getResources( this.resourceName );
- try {
- URL u = null;
- while ( p1.hasMoreElements( ) ) {
- u = p1.nextElement( );
- LOG.debug( "Found resource provider: " + u );
- Properties props = new Properties( );
- props.load( u.openStream( ) );
- providers.add( new ResourceProvider( this, props, u ) );
+ synchronized ( this ) {
+ if ( this.providers == null ) {
+ this.providers = Lists.newArrayList( );
+ Enumeration<URL> p1;
+ try {
+ p1 = Thread.currentThread( ).getContextClassLoader( ).getResources( this.resourceName );
+ try {
+ URL u = null;
+ while ( p1.hasMoreElements( ) ) {
+ u = p1.nextElement( );
+ LOG.debug( "Found resource provider: " + u );
+ Properties props = new Properties( );
+ props.load( u.openStream( ) );
+ providers.add( new ResourceProvider( this, props, u ) );
+ }
+ } catch ( IOException e ) {
+ LOG.error( e, e );
+ }
+ } catch ( IOException e1 ) {
+ LOG.error( e1, e1 );
}
- } catch ( IOException e ) {
- LOG.error( e, e );
}
- } catch ( IOException e1 ) {
- LOG.error( e1, e1 );
+ return providers;
}
- return providers;
}
-
+
public boolean providedBy( Class clazz ) {
for ( Annotation a : clazz.getAnnotations( ) ) {
- if ( a instanceof Provides && this.equals(((Provides)a).resource( ) )) {
- return true;
+ if ( a instanceof Provides && this.equals( ( ( Provides ) a ).resource( ) ) ) { return true; }
+ }
+ return false;
+ }
+
+ public boolean satisfiesDependency( Class clazz ) {
+ for ( Annotation a : clazz.getAnnotations( ) ) {
+ if ( a instanceof Depends ) {
+ Depends d = ( ( Depends ) a );
+ ArrayList<Resource> depends = Lists.newArrayList( d.resources( ) );
+ if ( depends.contains( this ) ) { return true; }
}
}
return false;
}
+
+ public boolean add( Bootstrapper b ) {
+ return this.bootstrappers.add( b );
+ }
+
+ public List<Bootstrapper> getBootstrappers( ) {
+ return this.bootstrappers;
+ }
+
+ public boolean add( ResourceProvider p ) {
+ return this.providers.add( p );
+ }
+
+ public List<ResourceProvider> initProviders( ) throws IOException {
+ for ( ResourceProvider p : this.providers ) {
+ p.initConfigurationResources( );
+ }
+ return this.providers;
+ }
+
}
View
14 clc/modules/msgs/src/main/java/com/eucalyptus/bootstrap/ResourceProvider.java
@@ -22,7 +22,7 @@
private final URL origin;
private final String name;
private final Map<String, String> properties;
- private final List<ConfigResource> configs;
+ private final List<ConfigResource> configurations;
@SuppressWarnings( "unchecked" )
public ResourceProvider( Resource resource, Properties props, URL origin ) {
@@ -30,19 +30,19 @@ public ResourceProvider( Resource resource, Properties props, URL origin ) {
this.properties = Maps.newHashMap( ( Hashtable ) props );
this.name = this.properties.remove( "name" );
this.origin = origin;
- this.configs = Lists.newArrayList( );
+ this.configurations = Lists.newArrayList( );
}
public List<ConfigResource> initConfigurationResources() throws IOException {
for(String rscName : this.properties.keySet( )) {
try {
- this.configs.add( new ConfigResource( this.properties.get( rscName ) ) );
+ this.configurations.add( new ConfigResource( this.properties.get( rscName ) ) );
} catch ( IOException e ) {
LOG.error( String.format("Processing %s caused an error %s: %s", this.origin, e.getClass().getSimpleName( ), e.getMessage( )), e );
throw e;
}
}
- return this.configs;
+ return this.configurations;
}
public Resource getResource( ) {
@@ -57,4 +57,10 @@ public URL getOrigin( ) {
return origin;
}
+
+
+ public List<ConfigResource> getConfigurations( ) {
+ return configurations;
+ }
+
}
View
115 clc/modules/msgs/src/main/java/com/eucalyptus/bootstrap/SystemBootstrapper.java
@@ -1,26 +1,11 @@
package com.eucalyptus.bootstrap;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.util.Enumeration;
import java.util.List;
-import java.util.Properties;
-import java.util.jar.JarEntry;
-import java.util.jar.JarFile;
import org.apache.log4j.Logger;
import org.mule.api.MuleContext;
-import org.mule.config.ConfigResource;
-import org.mule.config.spring.SpringXmlConfigurationBuilder;
-import org.mule.context.DefaultMuleContextFactory;
-import com.eucalyptus.util.BaseDirectory;
-import com.eucalyptus.util.EucalyptusProperties;
import com.eucalyptus.util.LogUtils;
-import com.eucalyptus.util.ServiceJarFile;
import com.google.common.collect.Lists;
public class SystemBootstrapper extends Bootstrapper {
@@ -47,8 +32,7 @@ public static Bootstrapper getInstance( ) {
private MuleContext context;
private List<Bootstrapper> bootstrappers = Lists.newArrayList( );
- private SystemBootstrapper( ) {
- }
+ private SystemBootstrapper( ) {}
@Override
public boolean destroy( ) {
@@ -61,56 +45,83 @@ public boolean stop( ) throws Exception {
return true;
}
- @Override
- public boolean start( ) throws Exception {
- LOG.info( "Starting Eucalyptus." );
+ public boolean init() throws Exception {
try {
- for ( Bootstrapper b : this.bootstrappers ) {
- LOG.info( "-> Invoking bootstrapper " + b.getClass( ).getSimpleName( ) + ".start()Z" );
- b.start( );
- }
- LOG.info( LogUtils.header( "Starting Eucalyptus." ) );
- context.start( );
+ LOG.info( LogUtils.header( "Initializing resource providers." ) );
+ BootstrapFactory.initResourceProviders( );
+ LOG.info( LogUtils.header( "Initializing configuration resources." ) );
+ BootstrapFactory.initConfigurationResources( );
+ LOG.info( LogUtils.header( "Initializing bootstrappers." ) );
+ BootstrapFactory.initBootstrappers( );
return true;
} catch ( Exception e ) {
- LOG.error( e, e );
+ LOG.fatal( e,e );
return false;
}
}
+ /*
+ * bind privileged ports
+ * generate/waitfor credentials
+ * start database server
+ * configure db/load bootstrap stack & wait for dbconfig
+ * TODO: discovery persistence contexts
+ * TODO: determine the role of this component
+ */
@Override
public boolean load( ) throws Exception {
- LOG.info( LogUtils.header( "Initializing resource providers." ) );
- BootstrapFactory.initResourceProviders( );
- LOG.info( LogUtils.header( "Initializing configuration resources." ) );
- BootstrapFactory.initConfigurationResources( );
- LOG.info( LogUtils.header( "Initializing bootstrappers." ) );
- BootstrapFactory.initBootstrappers( );
for( Resource r : Resource.values( ) ) {
- LOG.info( LogUtils.header( "Bootstrapping " + r ) );
- for( Bootstrapper b : BootstrapFactory.getBootstrappers( r ) ) {
- LOG.info( b.getClass( ) );
+ if( r.getBootstrappers( ).isEmpty( ) ) {
+ LOG.info( "Skipping " + r + "... nothing to do.");
+ } else {
+ LOG.info( LogUtils.header( "Loading " + r ) );
+ }
+ for( Bootstrapper b : r.getBootstrappers( ) ) {
+ try {
+ LOG.info( "-> load: " + b.getClass( ) );
+// boolean result = b.load( );
+ } catch ( Exception e ) {
+ LOG.error( b.getClass( ).getSimpleName( ) + " threw an error in load( ): " + e.getMessage( ), e);
+ return false;
+ }
}
}
-
- //TODO: discovery persistence contexts
- //TODO: determine the role of this component
-
- LOG.info( "-> Configuring..." );
-
// context = new DefaultMuleContextFactory( ).createMuleContext( new SpringXmlConfigurationBuilder( configs.toArray( new ConfigResource[] {} ) ) );
-// for ( Bootstrapper b : this.bootstrappers ) {
-// LOG.info( "-> Found bootstrapper " + b.getClass( ).getSimpleName( ) + ".load()Z" );
-// }
-// for ( Bootstrapper b : this.bootstrappers ) {
-// LOG.info( "-> Invoking bootstrapper " + b.getClass( ).getSimpleName( ) + ".load()Z" );
-// try {
-// b.load( );
-// } catch ( Exception e ) {
-// LOG.info( e, e );
+ return true;
+ }
+
+ @Override
+ public boolean start( ) throws Exception {
+ for( Resource r : Resource.values( ) ) {
+ if( r.getBootstrappers( ).isEmpty( ) ) {
+ LOG.info( "Skipping " + r + "... nothing to do.");
+ } else {
+ LOG.info( LogUtils.header( "Starting " + r ) );
+ }
+ for( Bootstrapper b : r.getBootstrappers( ) ) {
+ try {
+ LOG.info( "-> start: " + b.getClass( ) );
+// boolean result = b.start( );
+ } catch ( Exception e ) {
+ LOG.error( b.getClass( ).getSimpleName( ) + " threw an error in start( ): " + e.getMessage( ), e);
+ return false;
+ }
+ }
+ }
+ return true;
+// LOG.info( "Starting Eucalyptus." );
+// try {
+// for ( Bootstrapper b : this.bootstrappers ) {
+// LOG.info( "-> Invoking bootstrapper " + b.getClass( ).getSimpleName( ) + ".start()Z" );
+// b.start( );
// }
+// LOG.info( LogUtils.header( "Starting Eucalyptus." ) );
+// context.start( );
+// return true;
+// } catch ( Exception e ) {
+// LOG.error( e, e );
+// return false;
// }
- return true;
}
@Override
View
2  clc/modules/msgs/src/main/java/com/eucalyptus/util/EucaLayout.java
@@ -10,7 +10,7 @@
LINE_BYTES = Integer.parseInt( System.getenv( "COLUMNS" ) );
} catch ( NumberFormatException e ) {}
}
- public static String PATTERN = "%d{HH:mm:ss} %5p %-20.20c{1} | %-100.100m%n";
+ public static String PATTERN = "%d{HH:mm:ss} %5p %-20.20c{1} | %m%n";
private String CONTINUATION = "%m%n";
private PatternLayout continuation = null;
View
2  clc/modules/msgs/src/main/java/com/eucalyptus/util/LogUtils.java
@@ -8,7 +8,7 @@
public class LogUtils {
private static String LONG_BAR = "=============================================================================================================================================================================================================";
public static String header( String message ) {
- return String.format( "\n%80.80s\n%s\n%1$80.80s", LONG_BAR, message );
+ return String.format( "%80.80s\n%s\n%1$80.80s", LONG_BAR, message );
}
public static String dumpObject( Object o ) {
View
22 clc/modules/storage-controller/build.xml
@@ -32,24 +32,12 @@
~ Author: Sunil Soman sunils@cs.ucsb.edu
-->
-<project name="eucalyptus-storagecontroller" basedir="." default="build">
- <import file="../module-inc.xml"/>
+<project name="eucalyptus-storagecontroller" basedir=".">
+
+ <import file="../module-inc.xml"/>
+ <target name="builder" depends="init,build-java,build-jni,jar"/>
<!--================================== BUILD TARGETS ==================================-->
- <target name="build-jar" depends="init,compile-src,jar"/>
- <target name="build" depends="build-jar,build-jni"/>
- <target name="install" depends="copy-conf"/>
- <target name="compile-src" depends="init">
- <javac srcdir="${src.dir}"
- classpathref="classpath"
- destdir="${build.dir}"
- deprecation="false"
- failonerror="true"
- debug="true"
- sourcepathref="srcpath"
- target="1.5"
- listfiles="true"/>
- </target>
- <target name="build-jni" depends="build-jar">
+ <target name="build-jni">
<mkdir dir="include"/>
<javah classpath="${build.dir}" destdir="include" force="yes">
<class name="edu.ucsb.eucalyptus.storage.LVM2Manager"/>
View
2  clc/modules/storage-controller/src/main/resources/META-INF/eucalyptus-bootstrap.properties
@@ -1,2 +0,0 @@
-euca.storage-model.xml=storage-model.xml
-euca.storage-services.xml=storage-services.xml
View
4 clc/modules/storage-controller/src/main/resources/com.eucalyptus.CloudServiceProvider
@@ -1 +1,3 @@
-name=sc
+name=storage
+euca.model.storage=storage-model.xml
+euca.model.storage.services=storage-services.xml
View
0  ...main/resources/META-INF/storage-model.xml → ...ller/src/main/resources/storage-model.xml
File renamed without changes
View
0  ...n/resources/META-INF/storage-services.xml → ...r/src/main/resources/storage-services.xml
File renamed without changes
View
17 clc/modules/walrus/build.xml
@@ -32,23 +32,8 @@
~ Author: Sunil Soman sunils@cs.ucsb.edu
-->
-<project name="eucalyptus-storagemgr" basedir="." default="build">
+<project name="eucalyptus-storagemgr" basedir=".">
<import file="../module-inc.xml"/>
- <!--================================== BUILD TARGETS ==================================-->
- <target name="build" depends="init,compile-src,jar" description="--> build the jar file from source."/>
- <target name="install" depends="copy-conf"/>
- <target name="compile-src" depends="init">
- <javac srcdir="${src.dir}"
- classpathref="classpath"
- destdir="${build.dir}"
- deprecation="false"
- failonerror="true"
- debug="true"
- sourcepathref="srcpath"
- target="1.5"
- listfiles="true"/>
- </target>
-
<target name="clean-jni">
<delete dir="h"/>
</target>
View
2  clc/modules/walrus/src/main/resources/META-INF/eucalyptus-bootstrap.properties
@@ -1,2 +0,0 @@
-euca.walrus-model.xml=walrus-model.xml
-euca.walrus-services.xml=walrus-services.xml
View
4 clc/modules/walrus/src/main/resources/com.eucalyptus.CloudServiceProvider
@@ -1 +1,3 @@
-walrus
+name=walrus
+euca.model.walrus=walrus-model.xml
+euca.model.walrus.services=walrus-services.xml
View
0  .../main/resources/META-INF/walrus-model.xml → ...alrus/src/main/resources/walrus-model.xml
File renamed without changes
View
0  ...in/resources/META-INF/walrus-services.xml → ...us/src/main/resources/walrus-services.xml
File renamed without changes
View
18 clc/modules/wsstack/build.xml
@@ -2,21 +2,7 @@
~ Author: Chris Grzegorczyk grze@cs.ucsb.edu
-->
-<project name="eucalyptus-ws" basedir="." default="build">
- <import file="../module-inc.xml"/>
- <!--================================== BUILD TARGETS ==================================-->
- <target name="build" depends="init,compile-src,jar" description="--> build the jar file from source."/>
- <target name="install" depends="copy-conf"/>
- <target name="compile-src" depends="init">
- <javac srcdir="src/main/java/"
- classpathref="classpath"
- destdir="${build.dir}"
- deprecation="false"
- failonerror="true"
- debug="true"
- sourcepathref="srcpath"
- target="1.5"
- listfiles="true"/>
- </target>
+<project name="eucalyptus-ws" basedir=".">
+ <import file="../module-inc.xml" />
</project>
View
4 clc/modules/www/build.xml
@@ -33,13 +33,13 @@
~ Author: Dmitrii Zagorodnov dmitrii@cs.ucsb.edu
-->
-<project name="eucalyptus-www" basedir="." default="build">
+<project name="eucalyptus-www" basedir=".">
<import file="../module-inc.xml" />
<condition property="osMask" value="linux" else="mac">
<os family="mac" />
</condition>
<!--================================== BUILD TARGET ==================================-->
- <target name="build" depends="init,compile-src,jar,compile-gwt" description="--> build the jar file from source." unless="gwtc.notRequired" />
+ <target name="builder" depends="init,compile-src,jar,compile-gwt" description="--> build the jar file from source." unless="gwtc.notRequired" />
<!--================================== GWT-ONLY TARGET ==================================-->
<property environment="env" />
<path id="gwtclasspath">
Please sign in to comment.
Something went wrong with that request. Please try again.