fix attach volume for kvm

This commit is contained in:
Edison Su 2013-05-23 13:51:14 -07:00
parent 1e21b0b0e8
commit 4e4112fcec
4 changed files with 24 additions and 5 deletions

View File

@ -156,6 +156,7 @@
<argument>${basedir}/target/db/cloudbridge_offering_alter.sql</argument> <argument>${basedir}/target/db/cloudbridge_offering_alter.sql</argument>
<!-- Seed the database --> <!-- Seed the database -->
<argument>${basedir}/developer-prefill.sql</argument> <argument>${basedir}/developer-prefill.sql</argument>
<argument>${basedir}/developer-prefill.sql.override</argument>
<!-- Do database upgrade--> <!-- Do database upgrade-->
<argument>com.cloud.upgrade.DatabaseUpgradeChecker</argument> <argument>com.cloud.upgrade.DatabaseUpgradeChecker</argument>
<argument>--database=cloud,usage,awsapi</argument> <argument>--database=cloud,usage,awsapi</argument>

View File

@ -147,6 +147,13 @@ public class DatabaseCreator {
databases = arg.substring(arg.lastIndexOf("=") + 1, arg.length()).split(","); databases = arg.substring(arg.lastIndexOf("=") + 1, arg.length()).split(",");
} else if (arg.endsWith(".sql")) { } else if (arg.endsWith(".sql")) {
sqlFiles.add(arg); sqlFiles.add(arg);
} else if (arg.endsWith(".sql.override")) {
if (fileExists(arg)) {
int index = arg.lastIndexOf(".override");
String fileToOverride = arg.substring(0, index);
sqlFiles.remove(fileToOverride);
sqlFiles.add(arg);
}
} else if (arg.endsWith(".properties")) { } else if (arg.endsWith(".properties")) {
if (!dbPropsFile.endsWith("properties.override") && fileExists(arg)) if (!dbPropsFile.endsWith("properties.override") && fileExists(arg))
dbPropsFile = arg; dbPropsFile = arg;

View File

@ -680,7 +680,7 @@ public class KVMStorageProcessor implements StorageProcessor {
DiskTO disk = cmd.getDisk(); DiskTO disk = cmd.getDisk();
VolumeObjectTO vol = (VolumeObjectTO)disk.getData(); VolumeObjectTO vol = (VolumeObjectTO)disk.getData();
PrimaryDataStoreTO primaryStore = (PrimaryDataStoreTO)vol.getDataStore(); PrimaryDataStoreTO primaryStore = (PrimaryDataStoreTO)vol.getDataStore();
String vmName = vol.getVmName(); String vmName = cmd.getVmName();
try { try {
Connect conn = LibvirtConnection.getConnectionByVmName(vmName); Connect conn = LibvirtConnection.getConnectionByVmName(vmName);
KVMStoragePool primary = storagePoolMgr.getStoragePool( KVMStoragePool primary = storagePoolMgr.getStoragePool(
@ -714,7 +714,7 @@ public class KVMStorageProcessor implements StorageProcessor {
DiskTO disk = cmd.getDisk(); DiskTO disk = cmd.getDisk();
VolumeObjectTO vol = (VolumeObjectTO)disk.getData(); VolumeObjectTO vol = (VolumeObjectTO)disk.getData();
PrimaryDataStoreTO primaryStore = (PrimaryDataStoreTO)vol.getDataStore(); PrimaryDataStoreTO primaryStore = (PrimaryDataStoreTO)vol.getDataStore();
String vmName = vol.getVmName(); String vmName = cmd.getVmName();
try { try {
Connect conn = LibvirtConnection.getConnectionByVmName(vmName); Connect conn = LibvirtConnection.getConnectionByVmName(vmName);
KVMStoragePool primary = storagePoolMgr.getStoragePool( KVMStoragePool primary = storagePoolMgr.getStoragePool(

View File

@ -224,9 +224,20 @@ public class ConfigurationServerImpl extends ManagerBase implements Configuratio
} }
String hostIpAdr = NetUtils.getDefaultHostIp(); String hostIpAdr = NetUtils.getDefaultHostIp();
boolean needUpdateHostIp = true;
if (hostIpAdr != null) { if (hostIpAdr != null) {
_configDao.update(Config.ManagementHostIPAdr.key(), Config.ManagementHostIPAdr.getCategory(), hostIpAdr); Boolean devel = Boolean.valueOf(_configDao.getValue("developer"));
s_logger.debug("ConfigurationServer saved \"" + hostIpAdr + "\" as host."); if (devel) {
String value = _configDao.getValue(Config.ManagementHostIPAdr.key());
if (value != null) {
needUpdateHostIp = false;
}
}
if (needUpdateHostIp) {
_configDao.update(Config.ManagementHostIPAdr.key(), Config.ManagementHostIPAdr.getCategory(), hostIpAdr);
s_logger.debug("ConfigurationServer saved \"" + hostIpAdr + "\" as host.");
}
} }
// generate a single sign-on key // generate a single sign-on key