You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by we...@apache.org on 2013/07/12 09:48:02 UTC
git commit: updated refs/heads/4.2 to 22c6df0
Updated Branches:
refs/heads/4.2 87a2a9544 -> 22c6df0ba
CLOUDSTACK-2823: try passCmdLine some times if kernel < 2.6.34 and qemu < 1.1.0 on hypervisor (for instance, CentOS 6.4)
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/22c6df0b
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/22c6df0b
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/22c6df0b
Branch: refs/heads/4.2
Commit: 22c6df0ba25f1f1fd3cf489a29ed1f4f4097c89c
Parents: 87a2a95
Author: Wei Zhou <w....@leaseweb.com>
Authored: Fri Jul 12 09:47:12 2013 +0200
Committer: Wei Zhou <w....@leaseweb.com>
Committed: Fri Jul 12 09:47:12 2013 +0200
----------------------------------------------------------------------
.../kvm/resource/LibvirtComputingResource.java | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/22c6df0b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
index 914017c..24f9ee0 100755
--- a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
+++ b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
@@ -3318,7 +3318,21 @@ ServerResource {
// pass cmdline info to system vms
if (vmSpec.getType() != VirtualMachine.Type.User) {
- passCmdLine(vmName, vmSpec.getBootArgs() );
+ String unameKernelVersion = Script.runSimpleBashScript("uname -r");
+ String[] kernelVersions = unameKernelVersion.split("[\\.\\-]");
+ long kernelVersion = Integer.parseInt(kernelVersions[0]) * 1000 * 1000 + Integer.parseInt(kernelVersions[1]) * 1000 + Integer.parseInt(kernelVersions[2]);
+ if ((kernelVersion < 2006034) && (conn.getVersion() < 1001000)) { // CLOUDSTACK-2823: try passCmdLine some times if kernel < 2.6.34 and qemu < 1.1.0 on hypervisor (for instance, CentOS 6.4)
+ for (int count = 0; count < 10; count ++) {
+ passCmdLine(vmName, vmSpec.getBootArgs());
+ try {
+ Thread.sleep(5000);
+ } catch (InterruptedException e) {
+ s_logger.trace("Ignoring InterruptedException.", e);
+ }
+ }
+ } else {
+ passCmdLine(vmName, vmSpec.getBootArgs() );
+ }
}
state = State.Running;