From d3ecf719ce2b3e70d1fa18732468664f1f8e2fd1 Mon Sep 17 00:00:00 2001 From: Alex Huang Date: Fri, 18 Mar 2011 09:12:13 -0700 Subject: [PATCH] looks like everything is working except for snapshots --- .../DefaultComponentLibrary.java | 3 +- .../cloud/upgrade/dao/Upgrade221to222.java | 5 +- .../resources/VersionDaoImplTest/clean-db.sql | 6 +++ setup/db/create-schema.sql | 2 + setup/db/schema-21to22.sql | 4 +- .../src/com/cloud/utils/db/ScriptRunner.java | 51 +++++-------------- 6 files changed, 27 insertions(+), 44 deletions(-) diff --git a/server/src/com/cloud/configuration/DefaultComponentLibrary.java b/server/src/com/cloud/configuration/DefaultComponentLibrary.java index 076e0b5d6a1..7249ab2debf 100644 --- a/server/src/com/cloud/configuration/DefaultComponentLibrary.java +++ b/server/src/com/cloud/configuration/DefaultComponentLibrary.java @@ -122,6 +122,7 @@ import com.cloud.storage.snapshot.SnapshotManagerImpl; import com.cloud.storage.snapshot.SnapshotSchedulerImpl; import com.cloud.storage.upload.UploadMonitorImpl; import com.cloud.template.TemplateManagerImpl; +import com.cloud.upgrade.dao.DatabaseUpgradeChecker; import com.cloud.user.AccountManagerImpl; import com.cloud.user.dao.AccountDaoImpl; import com.cloud.user.dao.SSHKeyPairDaoImpl; @@ -154,7 +155,7 @@ public class DefaultComponentLibrary extends ComponentLibraryBase implements Com @Override public List getSystemIntegrityCheckers() { ArrayList checkers = new ArrayList(); -// checkers.add(new DatabaseUpgradeChecker()); + checkers.add(new DatabaseUpgradeChecker()); return checkers; } diff --git a/server/src/com/cloud/upgrade/dao/Upgrade221to222.java b/server/src/com/cloud/upgrade/dao/Upgrade221to222.java index d77531ec9d9..b3028e53bff 100644 --- a/server/src/com/cloud/upgrade/dao/Upgrade221to222.java +++ b/server/src/com/cloud/upgrade/dao/Upgrade221to222.java @@ -20,7 +20,6 @@ package com.cloud.upgrade.dao; import java.io.File; import java.sql.Connection; -import com.cloud.utils.PropertiesUtil; import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.utils.script.Script; @@ -43,12 +42,12 @@ public class Upgrade221to222 implements DbUpgrade { @Override public File[] getCleanupScripts() { - File file = PropertiesUtil.findConfigFile("schema-221to222-cleanup.sql"); + String file = Script.findScript("", "db/schema-221to222-cleanup.sql"); if (file == null) { throw new CloudRuntimeException("Unable to find the upgrade script, schema-221to222-cleanup.sql"); } - return new File[] {file}; + return new File[] {new File(file)}; } @Override diff --git a/server/test/resources/VersionDaoImplTest/clean-db.sql b/server/test/resources/VersionDaoImplTest/clean-db.sql index f4e25b93a24..ec99a883119 100755 --- a/server/test/resources/VersionDaoImplTest/clean-db.sql +++ b/server/test/resources/VersionDaoImplTest/clean-db.sql @@ -118,3 +118,9 @@ DROP TABLE IF EXISTS `cloud`.`network_groups`; DROP TABLE IF EXISTS `cloud`.`network_ingress_rule`; DROP TABLE IF EXISTS `cloud`.`op_nwgrp_work`; DROP TABLE IF EXISTS `cloud`.`op_vm_ruleset_log`; +DROP TABLE IF EXISTS `cloud`.`disk_template_ref`; +DROP TABLE IF EXISTS `cloud`.`ext_lun_alloc`; +DROP TABLE IF EXISTS `cloud`.`ext_lun_details`; +DROP TABLE IF EXISTS `cloud`.`netapp_lun`; +DROP TABLE IF EXISTS `cloud`.`netapp_pool`; +DROP TABLE IF EXISTS `cloud`.`netapp_volume`; \ No newline at end of file diff --git a/setup/db/create-schema.sql b/setup/db/create-schema.sql index f963d98398e..725a9d008eb 100755 --- a/setup/db/create-schema.sql +++ b/setup/db/create-schema.sql @@ -124,6 +124,8 @@ CREATE TABLE `cloud`.`version` ( INDEX `i_version__version`(`version`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; +INSERT INTO `version` (`version`, `updated`, `step`) VALUES('@VERSION@', now(), 'Complete'); + CREATE TABLE `cloud`.`op_it_work` ( `id` char(40) COMMENT 'reservation id', `mgmt_server_id` bigint unsigned COMMENT 'management server id', diff --git a/setup/db/schema-21to22.sql b/setup/db/schema-21to22.sql index 29747ccee06..f6acaa0ee1d 100755 --- a/setup/db/schema-21to22.sql +++ b/setup/db/schema-21to22.sql @@ -350,10 +350,10 @@ ALTER TABLE `cloud`.`resource_count` MODIFY COLUMN `account_id` bigint unsigned; ALTER TABLE `cloud`.`op_host_capacity` ADD COLUMN `reserved_capacity` bigint unsigned NOT NULL; -ALTER TABLE `cloud`.`disk_offering` ADD COLUMN `system_used` tinyint(1) unsigned NOT NULL DEFAULT 0; +ALTER TABLE `cloud`.`disk_offering` ADD COLUMN `system_use` tinyint(1) unsigned NOT NULL DEFAULT 0; ALTER TABLE `cloud`.`disk_offering` ADD COLUMN `customized` tinyint(1) unsigned NOT NULL DEFAULT 0; -update `cloud`.`disk_offering` set system_used=1, removed=null WHERE unique_name like 'Cloud.Com-%'; +update `cloud`.`disk_offering` set system_use=1, removed=null WHERE unique_name like 'Cloud.Com-%'; CREATE TABLE `cloud`.`remote_access_vpn` ( `vpn_server_addr_id` bigint unsigned UNIQUE NOT NULL, diff --git a/utils/src/com/cloud/utils/db/ScriptRunner.java b/utils/src/com/cloud/utils/db/ScriptRunner.java index c7191dc8eb5..19b90580a46 100644 --- a/utils/src/com/cloud/utils/db/ScriptRunner.java +++ b/utils/src/com/cloud/utils/db/ScriptRunner.java @@ -22,7 +22,6 @@ package com.cloud.utils.db; import java.io.IOException; import java.io.LineNumberReader; -import java.io.PrintWriter; import java.io.Reader; import java.sql.Connection; import java.sql.ResultSet; @@ -30,10 +29,13 @@ import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; +import org.apache.log4j.Logger; + /** * Tool to run database scripts */ public class ScriptRunner { + private static Logger s_logger = Logger.getLogger(ScriptRunner.class); private static final String DEFAULT_DELIMITER = ";"; @@ -42,11 +44,10 @@ public class ScriptRunner { private boolean stopOnError; private boolean autoCommit; - private PrintWriter logWriter = new PrintWriter(System.out); - private PrintWriter errorLogWriter = new PrintWriter(System.err); - private String delimiter = DEFAULT_DELIMITER; private boolean fullLineDelimiter = false; + + private StringBuffer _logBuffer = new StringBuffer(); /** * Default constructor @@ -62,26 +63,6 @@ public class ScriptRunner { this.fullLineDelimiter = fullLineDelimiter; } - /** - * Setter for logWriter property - * - * @param logWriter - * - the new value of the logWriter property - */ - public void setLogWriter(PrintWriter logWriter) { - this.logWriter = logWriter; - } - - /** - * Setter for errorLogWriter property - * - * @param errorLogWriter - * - the new value of the errorLogWriter property - */ - public void setErrorLogWriter(PrintWriter errorLogWriter) { - this.errorLogWriter = errorLogWriter; - } - /** * Runs an SQL script (read in using the Reader parameter) * @@ -215,29 +196,23 @@ public class ScriptRunner { } private void print(Object o) { - if (logWriter != null) { - System.out.print(o); - } + _logBuffer.append(o); } private void println(Object o) { - if (logWriter != null) { - logWriter.println(o); - } + _logBuffer.append(o); + s_logger.debug(_logBuffer.toString()); + _logBuffer = new StringBuffer(); } private void printlnError(Object o) { - if (errorLogWriter != null) { - errorLogWriter.println(o); - } + s_logger.error("" + o); } private void flush() { - if (logWriter != null) { - logWriter.flush(); - } - if (errorLogWriter != null) { - errorLogWriter.flush(); + if (_logBuffer.length() > 0) { + s_logger.debug(_logBuffer.toString()); + _logBuffer = new StringBuffer(); } } } \ No newline at end of file