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



api/src/com/cloud/offering/DiskOffering.java
<https://reviews.apache.org/r/19446/#comment71182>

    By the way, it would really benefit CloudStack if we were to come up with a 
generic way of passing key/value pairs to storage plug-ins instead of adding 
new parameters to the compute and disk offerings as needed.
    
    In many cases, the parameters we add are only utilized on certain platforms 
and the multitude of options can become confusing to users.
    
    We have plans for such a feature in 4.5, but I'm not sure how far Chris 
(from NetApp) has made it in development.
    
    We should consider using his code for this property, if possible.


- Mike Tutkowski


On March 26, 2014, 11:24 p.m., Yoshikazu Nojima wrote:
> 
> -----------------------------------------------------------
> 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.
> 
> 
> 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
> -----
> 
>   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
> 
>

Reply via email to