mirror of https://github.com/apache/cloudstack.git
CLOUDSTACK-1818: make DababaseCreator ready to invoke DatabaseUpgradeChecker, adjust Component startup sequence for integrity checkers
Signed-off-by: Chip Childers <chip.childers@gmail.com>
This commit is contained in:
parent
3ab744d100
commit
85971b5194
|
|
@ -35,6 +35,7 @@
|
|||
<!--
|
||||
@DB support
|
||||
-->
|
||||
<bean id="componentContext" class="com.cloud.utils.component.ComponentContext" />
|
||||
<bean id="transactionContextBuilder" class="com.cloud.utils.db.TransactionContextBuilder" />
|
||||
<bean id="actionEventInterceptor" class="com.cloud.event.ActionEventInterceptor" />
|
||||
|
||||
|
|
@ -688,7 +689,6 @@
|
|||
<bean id="apiServlet" class="com.cloud.api.ApiServlet" />
|
||||
<bean id="cloudOrchestrator" class="org.apache.cloudstack.platform.orchestration.CloudOrchestrator" />
|
||||
<bean id="clusterRestService" class="org.apache.cloudstack.engine.rest.service.api.ClusterRestService" />
|
||||
<bean id="componentContext" class="com.cloud.utils.component.ComponentContext" />
|
||||
<bean id="consoleProxyServlet" class="com.cloud.servlet.ConsoleProxyServlet" />
|
||||
<bean id="dataCenterResourceManagerImpl" class="org.apache.cloudstack.engine.datacenter.entity.api.DataCenterResourceManagerImpl" />
|
||||
<bean id="dataDisk" class="org.apache.cloudstack.engine.subsystem.api.storage.type.DataDisk" />
|
||||
|
|
|
|||
|
|
@ -103,6 +103,14 @@
|
|||
<defaultGoal>install</defaultGoal>
|
||||
<sourceDirectory>src</sourceDirectory>
|
||||
<testSourceDirectory>test</testSourceDirectory>
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>resources</directory>
|
||||
<includes>
|
||||
<include>**/*.xml</include>
|
||||
</includes>
|
||||
</resource>
|
||||
</resources>
|
||||
<testResources>
|
||||
<testResource>
|
||||
<directory>test/resources</directory>
|
||||
|
|
|
|||
|
|
@ -27,6 +27,8 @@ import java.util.ArrayList;
|
|||
import java.util.List;
|
||||
import java.util.Properties;
|
||||
|
||||
import org.springframework.context.support.ClassPathXmlApplicationContext;
|
||||
|
||||
import com.cloud.utils.PropertiesUtil;
|
||||
|
||||
import com.cloud.utils.component.ComponentContext;
|
||||
|
|
@ -117,6 +119,11 @@ public class DatabaseCreator {
|
|||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
ClassPathXmlApplicationContext appContext = new ClassPathXmlApplicationContext(
|
||||
new String[] {"/com/cloud/upgrade/databaseCreatorContext.xml"});
|
||||
appContext.getBean(ComponentContext.class);
|
||||
|
||||
String dbPropsFile = "";
|
||||
List<String> sqlFiles = new ArrayList<String>();
|
||||
List<String> upgradeClasses = new ArrayList<String>();
|
||||
|
|
|
|||
|
|
@ -81,6 +81,18 @@ public class ComponentContext implements ApplicationContextAware {
|
|||
for(Map.Entry<String, ComponentLifecycle> entry : lifecyleComponents.entrySet()) {
|
||||
classifiedComponents[entry.getValue().getRunLevel()].put(entry.getKey(), entry.getValue());
|
||||
}
|
||||
|
||||
// Run the SystemIntegrityCheckers first
|
||||
Map<String, SystemIntegrityChecker> integrityCheckers = getApplicationContext().getBeansOfType(SystemIntegrityChecker.class);
|
||||
for (Entry<String,SystemIntegrityChecker> entry : integrityCheckers.entrySet() ){
|
||||
s_logger.info ("Running SystemIntegrityChecker " + entry.getKey());
|
||||
try {
|
||||
entry.getValue().check();
|
||||
} catch(Throwable e) {
|
||||
s_logger.error("System integrity check failed. Refuse to startup");
|
||||
System.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
// configuration phase
|
||||
Map<String, String> avoidMap = new HashMap<String, String>();
|
||||
|
|
@ -105,18 +117,6 @@ public class ComponentContext implements ApplicationContextAware {
|
|||
avoidMap.put(implClassName, implClassName);
|
||||
}
|
||||
}
|
||||
|
||||
// Run the SystemIntegrityCheckers first
|
||||
Map<String, SystemIntegrityChecker> integrityCheckers = getApplicationContext().getBeansOfType(SystemIntegrityChecker.class);
|
||||
for (Entry<String,SystemIntegrityChecker> entry : integrityCheckers.entrySet() ){
|
||||
s_logger.info ("Running SystemIntegrityChecker " + entry.getKey());
|
||||
try {
|
||||
entry.getValue().check();
|
||||
} catch(Throwable e) {
|
||||
s_logger.error("System integrity check failed. Refuse to startup");
|
||||
System.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
// starting phase
|
||||
avoidMap.clear();
|
||||
|
|
|
|||
Loading…
Reference in New Issue