From 007783f6cf20ce80420724e681ff98202bc764c4 Mon Sep 17 00:00:00 2001 From: edison Date: Wed, 10 Nov 2010 09:49:03 -0800 Subject: [PATCH 01/19] add more logs when taking heartbeat, and make ha enabled even in oss --- .../computing/LibvirtComputingResource.java | 50 ++++++++----------- scripts/vm/hypervisor/kvm/kvmheartbeat.sh | 2 + 2 files changed, 24 insertions(+), 28 deletions(-) diff --git a/agent/src/com/cloud/agent/resource/computing/LibvirtComputingResource.java b/agent/src/com/cloud/agent/resource/computing/LibvirtComputingResource.java index 67a21bb198d..e997cae9dc2 100644 --- a/agent/src/com/cloud/agent/resource/computing/LibvirtComputingResource.java +++ b/agent/src/com/cloud/agent/resource/computing/LibvirtComputingResource.java @@ -235,7 +235,6 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv private String _dcId; private String _pod; private String _clusterId; - private String _premium; private long _hvVersion; private KVMHAMonitor _monitor; private final String _SSHKEYSPATH = "/root/.ssh"; @@ -735,17 +734,12 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv } - _premium = (String)params.get("premium"); - if (_premium == null) { - _premium = "false"; - } - - if (_premium.equalsIgnoreCase("true")) { - String[] info = NetUtils.getNetworkParams(_privateNic); - _monitor = new KVMHAMonitor(null, _conn, info[0], _heartBeatPath); - Thread ha = new Thread(_monitor); - ha.start(); - } + + String[] info = NetUtils.getNetworkParams(_privateNic); + _monitor = new KVMHAMonitor(null, _conn, info[0], _heartBeatPath); + Thread ha = new Thread(_monitor); + ha.start(); + try { Class clazz = Class.forName("com.cloud.storage.JavaStorageLayer"); @@ -1252,14 +1246,14 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv pool.destroy(); pool.undefine(); - if (_premium.equalsIgnoreCase("true")) { - KVMHABase.NfsStoragePool sp = new KVMHABase.NfsStoragePool(cmd.getPool().getUuid(), - cmd.getPool().getHostAddress(), - cmd.getPool().getPath(), - _mountPoint + File.separator + cmd.getPool().getUuid(), - PoolType.PrimaryStorage); - _monitor.removeStoragePool(sp); - } + + KVMHABase.NfsStoragePool sp = new KVMHABase.NfsStoragePool(cmd.getPool().getUuid(), + cmd.getPool().getHostAddress(), + cmd.getPool().getPath(), + _mountPoint + File.separator + cmd.getPool().getUuid(), + PoolType.PrimaryStorage); + _monitor.removeStoragePool(sp); + return new Answer(cmd); } catch (LibvirtException e) { @@ -1903,14 +1897,14 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv spi.capacity, spi.allocation, tInfo); - if (_premium.equalsIgnoreCase("true")) { - KVMHABase.NfsStoragePool pool = new KVMHABase.NfsStoragePool(cmd.getPool().getUuid(), - cmd.getPool().getHostAddress(), - cmd.getPool().getPath(), - _mountPoint + File.separator + cmd.getPool().getUuid(), - PoolType.PrimaryStorage); - _monitor.addStoragePool(pool); - } + + KVMHABase.NfsStoragePool pool = new KVMHABase.NfsStoragePool(cmd.getPool().getUuid(), + cmd.getPool().getHostAddress(), + cmd.getPool().getPath(), + _mountPoint + File.separator + cmd.getPool().getUuid(), + PoolType.PrimaryStorage); + _monitor.addStoragePool(pool); + try { storagePool.free(); } catch (LibvirtException e) { diff --git a/scripts/vm/hypervisor/kvm/kvmheartbeat.sh b/scripts/vm/hypervisor/kvm/kvmheartbeat.sh index 02738405d76..88a25b772c8 100755 --- a/scripts/vm/hypervisor/kvm/kvmheartbeat.sh +++ b/scripts/vm/hypervisor/kvm/kvmheartbeat.sh @@ -77,6 +77,7 @@ then mount $NfsSvrIP:$NfsSvrPath $MountPoint -o sync,soft,proto=tcp,acregmin=0,acregmax=0,acdirmin=0,acdirmax=0,noac,timeo=133,retrans=10 &> /dev/null if [ $? -gt 0 ] then + printf "Failed to remount $NfsSvrIP:$NfsSvrPath under $MountPoint" exit 1 fi if [ "$rflag" == "0" ] @@ -98,6 +99,7 @@ write_hbLog() { touch $hbFile &> /dev/null if [ $? -gt 0 ] then + printf "Failed to create $hbFile" return 2 fi fi From b1194e68f74844c62bc5ab620cf42aa5c358c470 Mon Sep 17 00:00:00 2001 From: alena Date: Wed, 10 Nov 2010 10:14:08 -0800 Subject: [PATCH 02/19] Fixed the build --- .../com/cloud/api/doc/ApiXmlDocWriter.java | 44 +++++++++---------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/server/src/com/cloud/api/doc/ApiXmlDocWriter.java b/server/src/com/cloud/api/doc/ApiXmlDocWriter.java index 922819f0409..626b5f3bffb 100644 --- a/server/src/com/cloud/api/doc/ApiXmlDocWriter.java +++ b/server/src/com/cloud/api/doc/ApiXmlDocWriter.java @@ -154,30 +154,30 @@ public class ApiXmlDocWriter { } } - //Get response parameters - Method getResponseMethod = clas.getMethod("getResponse"); - Class responseClas = (Class)getResponseMethod.getReturnType(); - Type returnType = getResponseMethod.getGenericReturnType(); - - if(returnType != null && returnType instanceof ParameterizedType){ - ParameterizedType type = (ParameterizedType) returnType; - Type[] typeArguments = type.getActualTypeArguments(); - responseClas = (Class)typeArguments[0]; - } - - //Get response parameters - Field[] responseFields = responseClas.getDeclaredFields(); - for (Field responseField : responseFields) { - SerializedName nameAnnotation = responseField.getAnnotation(SerializedName.class); - Param descAnnotation = responseField.getAnnotation(Param.class); - Argument respArg = new Argument(nameAnnotation.value()); - if (descAnnotation != null) - respArg.setDescription(descAnnotation.description()); - response.add(respArg); - } +// //Get response parameters +// Method getResponseMethod = clas.getMethod("getResponse"); +// Class responseClas = (Class)getResponseMethod.getReturnType(); +// Type returnType = getResponseMethod.getGenericReturnType(); +// +// if(returnType != null && returnType instanceof ParameterizedType){ +// ParameterizedType type = (ParameterizedType) returnType; +// Type[] typeArguments = type.getActualTypeArguments(); +// responseClas = (Class)typeArguments[0]; +// } +// +// //Get response parameters +// Field[] responseFields = responseClas.getDeclaredFields(); +// for (Field responseField : responseFields) { +// SerializedName nameAnnotation = responseField.getAnnotation(SerializedName.class); +// Param descAnnotation = responseField.getAnnotation(Param.class); +// Argument respArg = new Argument(nameAnnotation.value()); +// if (descAnnotation != null) +// respArg.setDescription(descAnnotation.description()); +// response.add(respArg); +// } apiCommand.setRequest(request); - apiCommand.setResponse(response); + //apiCommand.setResponse(response); commands.add(apiCommand); //Write command to xml file From 546db0715c8a57f876a0943979f29d8aa5eef9ab Mon Sep 17 00:00:00 2001 From: Jessica Wang Date: Wed, 10 Nov 2010 11:16:41 -0800 Subject: [PATCH 03/19] new UI - Add Zone Wizard - implement close button, next button and previous button. --- ui/jsp/resource.jsp | 59 +++++++++++++------------- ui/scripts/cloud.core.resource.js | 70 +++++++++++++++++++++++++++++-- 2 files changed, 97 insertions(+), 32 deletions(-) diff --git a/ui/jsp/resource.jsp b/ui/jsp/resource.jsp index ec73c0b7556..017145696ef 100644 --- a/ui/jsp/resource.jsp +++ b/ui/jsp/resource.jsp @@ -34,7 +34,7 @@
-
+
@@ -49,7 +49,7 @@
-
+
@@ -66,7 +66,7 @@
-
+
@@ -83,7 +83,7 @@
-
+
@@ -93,8 +93,10 @@ - -