-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/14381/
-----------------------------------------------------------

(Updated Sept. 29, 2013, 3:40 a.m.)


Review request for cloudstack, edison su and Mike Tutkowski.


Changes
-------

Updated notes


Repository: cloudstack-git


Description (updated)
-------

With custom storage plugins comes the need to prep the KVM host prior to 
utilizing the disks. e.g. an iscsi initiator needs to log into the target and 
scan for the lun before it can be used on the host. This patch is an example I 
developed against 4.2, minor changes may be necessary to apply to master, but I 
want to share with others who are working on storage so they can ensure it 
works for them. Please tweak as you see fit.

MigrateCommand: pass vmTO object so we can see which disks/storage pool types 
belong to the vm when migrating a VM. This facilitates being able to call 
disconnectPhysicalDisksViaVmSpec

VirtualMachineManagerImpl: pass VirtualMachineTO when migrating so that we can 
see which disks belong to the VM and what storage pools/adaptors should be used

LibvirtComputingResource: add calls KVMStoragePoolManager's 
connectPhysicalDiskViaVmSpec and disconnectPhysicalDiskViaVmSpec calls where 
appropriate (when starting a vm, migrating a vm). Ensure that we create 'raw' 
format XML disk definitions when the storage format is RAW. Move cleanupDisk 
logic to storage adaptors so that each adaptor type can clean up its disks in 
is own way.

KVMStoragePoolManager:  add connectPhysicalDisk, disconnectPhysicalDisk, 
connectPhysicalDiskViaVmSpec, disconnectPhysicalDiskViaVmSpec, 
disconnectPhysicalDiskByPath. These all call the specific StorageAdaptor's 
connectPhysicalDisk, disconnectPhysicalDisk, or disconnectPhysicalDiskByPath 
calls.

KVMStorageProcessor: Call connectPhysicalDisk/disconnectPhysicalDisk on the 
storage adaptor. Whether or not this is implemented is up to the storage 
adaptor.

LibvirtStorageAdaptor: implement dummy 
connectPhysicalDisk/disconnectPhysicalDisk, move cleanupDisk logic from 
LibvirtComputingResource to disconnectPhysicalDiskByPath

StorageAdaptor: define 
connectPhysicalDisk/disconnectPhysicalDisk/disconnectPhysicalDiskByPath in the 
interface


Diffs
-----

  core/src/com/cloud/agent/api/MigrateCommand.java 5042b8c 
  
plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
 3ee811f 
  
plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStoragePoolManager.java
 e09c9ba 
  
plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java
 c69f9b0 
  
plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java
 123a9f1 
  
plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/StorageAdaptor.java
 4956d8d 
  server/src/com/cloud/vm/VirtualMachineManagerImpl.java d46bbb0 

Diff: https://reviews.apache.org/r/14381/diff/


Testing
-------

Basic testing with my storage adaptor


Thanks,

Marcus Sorensen

Reply via email to