You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ke...@apache.org on 2013/01/17 23:22:38 UTC

[1/3] System VM can start now with Spring bootstraped management server

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/6d155416/server/src/com/cloud/server/ConfigurationServerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/server/ConfigurationServerImpl.java b/server/src/com/cloud/server/ConfigurationServerImpl.java
index 77de9bb..ba01c62 100755
--- a/server/src/com/cloud/server/ConfigurationServerImpl.java
+++ b/server/src/com/cloud/server/ConfigurationServerImpl.java
@@ -263,6 +263,9 @@ public class ConfigurationServerImpl implements ConfigurationServer {
 
         // Set init to true
         _configDao.update("init", "Hidden", "true");
+        
+        // invalidate cache in DAO as we have changed DB status
+        _configDao.invalidateCache();
     }
 
     /*

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/6d155416/server/src/com/cloud/server/ManagementServerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/server/ManagementServerImpl.java b/server/src/com/cloud/server/ManagementServerImpl.java
index bdc9746..baefcfd 100755
--- a/server/src/com/cloud/server/ManagementServerImpl.java
+++ b/server/src/com/cloud/server/ManagementServerImpl.java
@@ -466,6 +466,7 @@ public class ManagementServerImpl implements ManagementServer {
 
     private void startManagers() {
  		Map<String, Object> params = new HashMap<String, Object>();
+ 		
 		for(Manager manager : _componentRegistry.getManagers()) {
 			s_logger.info("Start manager: " + ComponentContext.getTargetClass(manager).getName() + "...");
 			try {
@@ -492,7 +493,8 @@ public class ManagementServerImpl implements ManagementServer {
 		Map<String, Adapter> adapters = ComponentContext.getApplicationContext().getBeansOfType(
 				Adapter.class);
 			
-		Map<String, Object> params = new HashMap<String, Object>();
+ 		Map<String, Object> params = new HashMap<String, Object>();
+		
 		for(Adapter adapter : adapters.values()) {
 			try {
 				// we also skip Adapter class that is both a manager class and a adapter class

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/6d155416/server/src/com/cloud/storage/resource/DummySecondaryStorageResource.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/storage/resource/DummySecondaryStorageResource.java b/server/src/com/cloud/storage/resource/DummySecondaryStorageResource.java
index 2773e29..9e76e8a 100644
--- a/server/src/com/cloud/storage/resource/DummySecondaryStorageResource.java
+++ b/server/src/com/cloud/storage/resource/DummySecondaryStorageResource.java
@@ -63,7 +63,10 @@ public class DummySecondaryStorageResource extends ServerResourceBase implements
     @Inject VMTemplateDao _tmpltDao;
     private boolean _useServiceVm;
 
-
+    public DummySecondaryStorageResource() {
+        setUseServiceVm(true);
+    }
+    
     public DummySecondaryStorageResource(boolean useServiceVM) {
         setUseServiceVm(useServiceVM);
     }

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/6d155416/server/src/com/cloud/storage/secondary/SecondaryStorageDiscoverer.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/storage/secondary/SecondaryStorageDiscoverer.java b/server/src/com/cloud/storage/secondary/SecondaryStorageDiscoverer.java
index 12db88c..3ca74a3 100755
--- a/server/src/com/cloud/storage/secondary/SecondaryStorageDiscoverer.java
+++ b/server/src/com/cloud/storage/secondary/SecondaryStorageDiscoverer.java
@@ -49,6 +49,7 @@ import com.cloud.storage.dao.VMTemplateZoneDao;
 import com.cloud.storage.resource.DummySecondaryStorageResource;
 import com.cloud.storage.resource.LocalSecondaryStorageResource;
 import com.cloud.storage.resource.NfsSecondaryStorageResource;
+import com.cloud.utils.component.ComponentContext;
 import com.cloud.utils.net.NfsUtils;
 import com.cloud.utils.script.Script;
 
@@ -204,6 +205,8 @@ public class SecondaryStorageDiscoverer extends DiscovererBase implements Discov
         Map<LocalSecondaryStorageResource, Map<String, String>> srs = new HashMap<LocalSecondaryStorageResource, Map<String, String>>();
         
         LocalSecondaryStorageResource storage = new LocalSecondaryStorageResource();
+        storage = ComponentContext.inject(storage);
+        
         Map<String, String> details = new HashMap<String, String>();
         
         File file = new File(uri);
@@ -233,6 +236,7 @@ public class SecondaryStorageDiscoverer extends DiscovererBase implements Discov
         Map<ServerResource, Map<String, String>> srs = new HashMap<ServerResource, Map<String, String>>();
         
         DummySecondaryStorageResource storage = new DummySecondaryStorageResource(_useServiceVM);
+        storage = ComponentContext.inject(storage);
         
         Map<String, String> details = new HashMap<String, String>();
         

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/6d155416/utils/src/com/cloud/utils/component/ComponentContext.java
----------------------------------------------------------------------
diff --git a/utils/src/com/cloud/utils/component/ComponentContext.java b/utils/src/com/cloud/utils/component/ComponentContext.java
index dce2074..a8b3c3e 100644
--- a/utils/src/com/cloud/utils/component/ComponentContext.java
+++ b/utils/src/com/cloud/utils/component/ComponentContext.java
@@ -149,6 +149,9 @@ public class ComponentContext implements ApplicationContextAware {
     }
     
     public static <T> T inject(Object instance) {
+    	if(instance instanceof Advised)
+    		return (T)instance;
+    	
     	// autowire dynamically loaded object
     	AutowireCapableBeanFactory  beanFactory = s_appContext.getAutowireCapableBeanFactory();
     	beanFactory.autowireBean(instance);