cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yoshikazu Nojima" <m...@ynojima.net>
Subject Re: Review Request 19446: CLOUDSTACK-6191: Volume provisioning type option
Date Wed, 26 Mar 2014 23:25:09 GMT

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

(Updated March 26, 2014, 11:24 p.m.)


Review request for cloudstack, Mike Tutkowski, Marcus Sorensen, and Wido den Hollander.


Changes
-------

rebase to origin/master


Bugs: CLOUDSTACK-6191
    https://issues.apache.org/jira/browse/CLOUDSTACK-6191


Repository: cloudstack-git


Description
-------

purpose:
Thin provisioning of a volume saves consumption of a storage, and fat provisioning minimizes
IOPS performance overhead.
This feature adds a disk offering parameter to provide users an option to select how to provision
volumes.
Especially, qcow2 format is known that its performance can be improved by deploying a volume
as a sparse file.[1] This feature also supports sparse provisioning.

    http://itscblog.tamu.edu/improve-disk-io-performance-in-kvm/#.232---preallocation

Scope:
First, start with KVM+NFS installation.
Leave rooms to support other hypervisors.

For more details please refer fs: https://cwiki.apache.org/confluence/display/CLOUDSTACK/Volume+provisioning+type+option


Diffs (updated)
-----

  api/src/com/cloud/offering/DiskOffering.java 4641b9a 
  api/src/com/cloud/storage/Storage.java 8ab2463 
  api/src/com/cloud/storage/Volume.java 304dbcf 
  api/src/com/cloud/vm/DiskProfile.java 5fdacf2 
  api/src/org/apache/cloudstack/api/ApiConstants.java 87fa8ee 
  api/src/org/apache/cloudstack/api/command/admin/offering/CreateDiskOfferingCmd.java 67c9792

  api/src/org/apache/cloudstack/api/command/admin/offering/CreateServiceOfferingCmd.java 6cd5d84

  api/src/org/apache/cloudstack/api/response/DiskOfferingResponse.java 91bd441 
  api/src/org/apache/cloudstack/api/response/ServiceOfferingResponse.java 764ade5 
  api/src/org/apache/cloudstack/api/response/VolumeResponse.java 27e95de 
  client/WEB-INF/classes/resources/messages.properties 8abe874 
  core/src/org/apache/cloudstack/storage/to/VolumeObjectTO.java 11a3324 
  engine/orchestration/src/org/apache/cloudstack/engine/orchestration/VolumeOrchestrator.java
4ebde04 
  engine/orchestration/test/com/cloud/vm/VirtualMachineManagerImplTest.java 49b2fc5 
  engine/schema/src/com/cloud/service/ServiceOfferingVO.java 3be0aaa 
  engine/schema/src/com/cloud/storage/DiskOfferingVO.java 99214b2 
  engine/schema/src/com/cloud/storage/VolumeVO.java 9f27c23 
  engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeObject.java 385f8e6

  plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
1d7d1b2 
  plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtStorageVolumeDef.java
35777cf 
  plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/IscsiAdmStorageAdaptor.java
761bb37 
  plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/IscsiAdmStoragePool.java 2cecfa3

  plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStoragePool.java ca3d32f

  plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStoragePoolManager.java
583d48a 
  plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java 9813389

  plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java
c1a5043 
  plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStoragePool.java 550bd01

  plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/StorageAdaptor.java c751aab

  plugins/hypervisors/kvm/src/org/apache/cloudstack/utils/qemu/QemuImg.java 4bec375 
  plugins/hypervisors/kvm/test/org/apache/cloudstack/utils/qemu/QemuImgTest.java 8bdff4d 
  plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java
2a7bcac 
  plugins/network-elements/internal-loadbalancer/src/org/apache/cloudstack/network/lb/InternalLoadBalancerVMManagerImpl.java
aa763d5 
  plugins/network-elements/internal-loadbalancer/test/org/apache/cloudstack/internallbvmmgr/InternalLBVMManagerTest.java
f418586 
  plugins/network-elements/internal-loadbalancer/test/org/apache/cloudstack/internallbvmmgr/InternalLBVMServiceTest.java
62ca09b 
  server/src/com/cloud/api/query/dao/DiskOfferingJoinDaoImpl.java bf28c03 
  server/src/com/cloud/api/query/dao/ServiceOfferingJoinDaoImpl.java 7fcc5c6 
  server/src/com/cloud/api/query/dao/VolumeJoinDaoImpl.java 8a0431b 
  server/src/com/cloud/api/query/vo/DiskOfferingJoinVO.java e3e0a9e 
  server/src/com/cloud/api/query/vo/ServiceOfferingJoinVO.java dbeb530 
  server/src/com/cloud/api/query/vo/VolumeJoinVO.java 8165d68 
  server/src/com/cloud/configuration/ConfigurationManagerImpl.java bdceed7 
  server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java 0512096 
  server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java c692491 
  server/src/com/cloud/server/ConfigurationServerImpl.java 13135b0 
  server/src/com/cloud/storage/VolumeApiServiceImpl.java 5ffa99b 
  server/src/com/cloud/test/DatabaseConfig.java 8d7b42a 
  server/test/com/cloud/vm/DeploymentPlanningManagerImplTest.java fb63766 
  server/test/com/cloud/vm/UserVmManagerTest.java b67c164 
  server/test/org/apache/cloudstack/service/ServiceOfferingVOTest.java a3f8afb 
  services/secondary-storage/controller/src/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java
f8edefa 
  setup/db/db/schema-440to450.sql 2bd5386 
  test/integration/smoke/test_deploy_vm_provisioningtype_sparse.py PRE-CREATION 
  test/integration/smoke/test_disk_offerings.py 4c8a34c 
  test/integration/smoke/test_volumes.py 411ecf1 
  ui/dictionary.jsp ebe71b6 
  ui/scripts/configuration.js 7b2f4e9 
  ui/scripts/docs.js 32237f3 
  ui/scripts/storage.js e69a07e 

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


Testing
-------

Compute offering creation
- create a compute offering with "provisioningtype="thin"
- create a compute offering with "provisioningtype="sparse"
- create a compute offering with "provisioningtype="fat"
Disk offering creation
- create a disk offering with "provisioningtype=thin"
- create a disk offering with "provisioningtype=sparse"
- create a disk offering with "provisioningtype=fat"
New VM deployment
- deploy a VM with a "thin" type compute offering, and check the root volume is provisioned
as s thin disk
- deploy a VM with a "sparse" type compute offering, and check the root volume is provisioned
as s sparse disk
- deploy a VM with a "fat" type compute offering, and check the root volume is provisioned
as s fat disk
New data disk creation and attachment
- create and attach "thin" type volume to a VM, and check the data volume is provisioned as
s thin disk
- create and attach "sparse" type volume to a VM, and check the data volume is provisioned
as s sparse disk
- create and attach "fat" type volume to a VM, and check the data volume is provisioned as
s fat disk


Thanks,

Yoshikazu Nojima


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