You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ki...@apache.org on 2014/03/27 10:29:53 UTC

[1/2] git commit: updated refs/heads/master to 3060f88

Repository: cloudstack
Updated Branches:
  refs/heads/master 2dc1c7bec -> 3060f884a


CLOUDSTACK-6122: Map rbd image on host before attaching to Vm


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/fe7b753b
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/fe7b753b
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/fe7b753b

Branch: refs/heads/master
Commit: fe7b753b03ee000fdd128abc87c88e5c122174d4
Parents: 2dc1c7b
Author: Kishan Kavala <ki...@cloud.com>
Authored: Thu Mar 27 14:33:34 2014 +0530
Committer: Kishan Kavala <ki...@cloud.com>
Committed: Thu Mar 27 14:53:36 2014 +0530

----------------------------------------------------------------------
 .../kvm/resource/LibvirtComputingResource.java  |  4 ++++
 .../kvm/storage/KVMStorageProcessor.java        | 20 ++++++++++++++++++--
 2 files changed, 22 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/fe7b753b/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 1d7d1b2..14b7f2f 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
@@ -5458,4 +5458,8 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
 
     }
 
+    public HypervisorType getHypervisorType(){
+        return _hypervisorType;
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/fe7b753b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java
index 9813389..0024c8e 100644
--- a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java
+++ b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java
@@ -38,6 +38,7 @@ import java.util.UUID;
 
 import javax.naming.ConfigurationException;
 
+import com.cloud.hypervisor.Hypervisor;
 import org.apache.commons.io.FileUtils;
 import org.apache.log4j.Logger;
 import org.libvirt.Connect;
@@ -955,8 +956,23 @@ public class KVMStorageProcessor implements StorageProcessor {
             } else {
                 diskdef = new DiskDef();
                 if (attachingPool.getType() == StoragePoolType.RBD) {
-                    diskdef.defNetworkBasedDisk(attachingDisk.getPath(), attachingPool.getSourceHost(), attachingPool.getSourcePort(), attachingPool.getAuthUserName(),
-                        attachingPool.getUuid(), devId, DiskDef.diskBus.VIRTIO, diskProtocol.RBD, DiskDef.diskFmtType.RAW);
+                    if(resource.getHypervisorType() == Hypervisor.HypervisorType.LXC){
+                        // For LXC, map image to host and then attach to Vm
+                        String mapRbd = Script.runSimpleBashScript("rbd map " + attachingDisk.getPath() + " --id "+attachingPool.getAuthUserName());
+                        //Split pool and image details from disk path
+                        String[] splitPoolImage = attachingDisk.getPath().split("/");
+                        //ToDo: rbd showmapped supports json and xml output. Use json/xml to get device
+                        String device = Script.runSimpleBashScript("rbd showmapped | grep \""+splitPoolImage[0]+"  "+splitPoolImage[1]+"\" | cut -d \" \" -f10");
+                        if (device != null) {
+                            s_logger.debug("RBD device on host is: "+device);
+                            diskdef.defBlockBasedDisk(device, devId, DiskDef.diskBus.VIRTIO);
+                        } else {
+                            throw new InternalErrorException("Error while mapping disk "+attachingDisk.getPath()+" on host");
+                        }
+                    } else {
+                        diskdef.defNetworkBasedDisk(attachingDisk.getPath(), attachingPool.getSourceHost(), attachingPool.getSourcePort(), attachingPool.getAuthUserName(),
+                                attachingPool.getUuid(), devId, DiskDef.diskBus.VIRTIO, diskProtocol.RBD, DiskDef.diskFmtType.RAW);
+                    }
                 } else if (attachingPool.getType() == StoragePoolType.Gluster) {
                     String mountpoint = attachingPool.getLocalPath();
                     String path = attachingDisk.getPath();


[2/2] git commit: updated refs/heads/master to 3060f88

Posted by ki...@apache.org.
Added fix for CLOUDSTACK-6269

Added fix for CLOUDSTACK-6269.More details inside the bug

Signed-off-by: Santhosh Edukulla <Sa...@citrix.com>


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/3060f884
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/3060f884
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/3060f884

Branch: refs/heads/master
Commit: 3060f884ab62d92ade9073a147dee204aba4a889
Parents: fe7b753
Author: Santhosh Edukulla <Sa...@citrix.com>
Authored: Wed Mar 26 00:45:44 2014 +0530
Committer: Kishan Kavala <ki...@cloud.com>
Committed: Thu Mar 27 14:53:43 2014 +0530

----------------------------------------------------------------------
 .../simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3060f884/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java
index 27002f2..f487eb4 100644
--- a/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java
+++ b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java
@@ -26,6 +26,7 @@ import javax.ejb.Local;
 import javax.inject.Inject;
 import javax.naming.ConfigurationException;
 
+import com.cloud.network.VirtualNetworkApplianceService;
 import org.apache.log4j.Logger;
 import org.springframework.stereotype.Component;
 
@@ -568,7 +569,8 @@ public class MockVmManagerImpl extends ManagerBase implements MockVmManager {
 
     @Override
     public GetDomRVersionAnswer getDomRVersion(GetDomRVersionCmd cmd) {
-        return new GetDomRVersionAnswer(cmd, null, "CloudStack Release 4.2.0", UUID.randomUUID().toString());
+        String template_version = "CloudStack Release "+ VirtualNetworkApplianceService.MinVRVersion.toString();
+        return new GetDomRVersionAnswer(cmd, null, template_version, UUID.randomUUID().toString());
     }
 
     @Override