----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/8534/ -----------------------------------------------------------
(Updated Dec. 14, 2012, 8:09 p.m.) Review request for cloudstack and edison su. Changes ------- Updated code: moved getStoragePoolByURI into KVMStoragePoolManager modified recently merged S3 code to reflect change in SnapshotCommand updated unit tests to reflect SnapshotCommand change Description ------- This is a refactor of a few things to allow pluggable storage adaptors for KVM. Instead of using LibvirtStorageAdaptor for everything, you can create your own storage adaptor and use it. We select storage adaptor based on storage pool type, thus we needed to adjust LibvirtComputingResource to pass pool type to everything in KVMStoragePoolManager. This in turn required that we pass the info necessary to LibvirtComputingResource as well, so a few agent Commands were modified. Note this patch in and of itself shouldn't change any existing behavior, just allow for new storage adaptors to be selected based on storage pool type. Diffs (updated) ----- api/src/com/cloud/agent/api/BackupSnapshotCommand.java 04a0bb4 api/src/com/cloud/agent/api/CreatePrivateTemplateFromSnapshotCommand.java bf6f260 api/src/com/cloud/agent/api/CreatePrivateTemplateFromVolumeCommand.java b589ed5 api/src/com/cloud/agent/api/CreateVolumeFromSnapshotCommand.java f006329 api/src/com/cloud/agent/api/DownloadSnapshotFromS3Command.java 1c44dcd api/src/com/cloud/agent/api/SnapshotCommand.java 892db37 api/src/com/cloud/agent/api/UpgradeSnapshotCommand.java e451768 api/src/com/cloud/agent/api/downloadSnapshotFromSwiftCommand.java 0586f8c api/src/com/cloud/agent/api/storage/PrimaryStorageDownloadCommand.java b563177 api/test/src/com/cloud/agent/api/test/BackupSnapshotAnswerTest.java aa1c0fb api/test/src/com/cloud/agent/api/test/BackupSnapshotCommandTest.java baeed55 api/test/src/com/cloud/agent/api/test/SnapshotCommandTest.java 3e37eda plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java e0187e6 plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStoragePoolManager.java 2c0e0ac plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java 2a603cb plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/StorageAdaptor.java ef1e7c9 server/src/com/cloud/storage/StorageManagerImpl.java 7ecc3ec server/src/com/cloud/storage/snapshot/SnapshotManagerImpl.java 259feab server/src/com/cloud/template/TemplateManagerImpl.java 82c31f1 server/src/com/cloud/vm/UserVmManagerImpl.java cb0531c Diff: https://reviews.apache.org/r/8534/diff/ Testing ------- tested the following on a KVM cloudstack install: add primary storage delete primary storage add vm to CLVM primary storage add vm to NFS primary storage create data disk create snapshot create template attach datadisk to VM detach datadisk from VM delete datadisk delete template delete snapshot stop vm delete vm register iso attach iso detach iso Thanks, Marcus Sorensen