----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/14381/ -----------------------------------------------------------
(Updated Sept. 28, 2013, 4:51 a.m.) Review request for cloudstack and Mike Tutkowski. 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