cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marcus Sorensen" <shadow...@gmail.com>
Subject Review Request 14381: KVM: add connect/disconnect capabilities to StorageAdaptors so that external storage services can attach/detach devices on-demand
Date Sat, 28 Sep 2013 00:31:12 GMT

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

Review request for cloudstack and Mike Wang.


Repository: cloudstack-git


Description
-------

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.

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

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

LibvirtStorageAdaptor: need to implement dummy connectPhysicalDisk/disconnectPhysicalDisk

StorageAdaptor: define connectPhysicalDisk/disconnectPhysicalDisk in the interface

TODO: figure out how to disconnect disks on StopCommand. Currently cloudstack only passes
us a VM name, which is sufficient to stop the vm, and we can see which disks are attached
to the vm, but we don't really know which storage adaptors to call to disconnect, unless we
can do fancy parsing of the disk path to determine adaptor type. We could maybe do a 'disconnectPhysicalDiskByPath
in the KVMStoragePoolManager to determine adaptor by path and call adaptor. I looked around,
and adding new info to StopCommand to be passed along seems less than trivial, like it was
for migrate.


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


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message