----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/19021/#review36900 -----------------------------------------------------------
plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/lifecycle/ElastistorPrimaryDataStoreLifeCycle.java <https://reviews.apache.org/r/19021/#comment68092> Perhaps I don't understand, but isn't this storage provider servicing a cluster...not an entire zone? If it's only servicing a cluster, I'm not sure why we're getting the hosts for the entire zone? Maybe you want to use a HostListener instead to create an association between hosts in a cluster and this storage? plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/lifecycle/ElastistorPrimaryDataStoreLifeCycle.java <https://reviews.apache.org/r/19021/#comment68093> What if the hypervisor type is VMware? - Mike Tutkowski On March 11, 2014, 7:28 a.m., punith s wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/19021/ > ----------------------------------------------------------- > > (Updated March 11, 2014, 7:28 a.m.) > > > Review request for cloudstack, edison su and Mike Tutkowski. > > > Repository: cloudstack-git > > > Description > ------- > > This patch implements a basic storage plug-in for cloudbyte elastistor > v1.3.0, The plug-in is a new feature for cloudstack 4.4 and above. > > this does not implement managed storage yet, it is been integrated only with > CreateStoragePool and DeleteStoragePool api's. > > the desired behavior of the plugin are: > > * Allow an Admin to create a primary storage at cluster level, hence creates > a volume in elastistor and gets attached to the host with the given > capacityiops and capacitybytes through CreateStoragePool api with provider > being elastistor. > > *Allow an admin to delete a primary storage at cluster level, hence it > deletes the volume from host in cloudstack and deletes the respective volume > in elastistor. > > * volume and datadisks fuctions performs the default storage fuctions, ie. > the driver extends the CloudStackPrimaryDataStoreDriverImpl. > > * support for both nfs and icsci primary storage. > > > Diffs > ----- > > client/pom.xml af724b1 > plugins/pom.xml 097f224 > plugins/storage/volume/cloudbyte/pom.xml PRE-CREATION > > plugins/storage/volume/cloudbyte/resources/META-INF/cloudstack/storage-volume-cloudbyte/module.properties > PRE-CREATION > > plugins/storage/volume/cloudbyte/resources/META-INF/cloudstack/storage-volume-cloudbyte/spring-storage-volume-cloudbyte-context.xml > PRE-CREATION > > plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/client/BaseCommand.java > PRE-CREATION > > plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/client/ElastiCenterClient.java > PRE-CREATION > > plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/client/ElastiCenterCommand.java > PRE-CREATION > > plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/command/AddQosGroupCmd.java > PRE-CREATION > > plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/command/CreateTsmCmd.java > PRE-CREATION > > plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/command/CreateVolumeCmd.java > PRE-CREATION > > plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/command/DeleteTsmCmd.java > PRE-CREATION > > plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/command/DeleteVolumeCmd.java > PRE-CREATION > > plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/command/ListCapabilitiesCmd.java > PRE-CREATION > > plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/command/ListTsmCmd.java > PRE-CREATION > > plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/command/QueryAsyncJobResultCmd.java > PRE-CREATION > > plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/driver/ElastistorPrimaryDataStoreDriver.java > PRE-CREATION > > plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/lifecycle/ElastistorPrimaryDataStoreLifeCycle.java > PRE-CREATION > > plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/model/Async.java > PRE-CREATION > > plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/model/Capabilities.java > PRE-CREATION > > plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/model/FileSystem.java > PRE-CREATION > > plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/model/FileSystemWrapper.java > PRE-CREATION > > plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/model/FilesystemQoSWrapper.java > PRE-CREATION > > plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/model/JobId.java > PRE-CREATION > > plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/model/QoSGroup.java > PRE-CREATION > > plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/model/QoSGroupWrapper.java > PRE-CREATION > > plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/model/StorageVolume.java > PRE-CREATION > > plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/model/StorageVolumeWrapper.java > PRE-CREATION > > plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/model/StorageVolumes.java > PRE-CREATION > > plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/model/Tsm.java > PRE-CREATION > > plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/model/TsmWrapper.java > PRE-CREATION > > plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/model/Tsms.java > PRE-CREATION > > plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/model/VolumeProperties.java > PRE-CREATION > > plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/provider/ElastistorHostListener.java > PRE-CREATION > > plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/provider/ElastistorPrimaryDataStoreProvider.java > PRE-CREATION > > plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/response/AddQoSGroupResponse.java > PRE-CREATION > > plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/response/AddQosGroupCmdResponse.java > PRE-CREATION > > plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/response/CreateTsmCmdResponse.java > PRE-CREATION > > plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/response/CreateVolumeCmdResponse.java > PRE-CREATION > > plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/response/DeleteTsmResponse.java > PRE-CREATION > > plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/response/DeleteVolumeResponse.java > PRE-CREATION > > plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/response/ListCapabilitiesResponse.java > PRE-CREATION > > plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/response/ListTsmsResponse.java > PRE-CREATION > > plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/response/QueryAsyncJobResultResponse.java > PRE-CREATION > > plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/util/ElastistorUtil.java > PRE-CREATION > > Diff: https://reviews.apache.org/r/19021/diff/ > > > Testing > ------- > > Build test using, > > mvn -P developer,systemvm clean install, which is successful. > > Manual testing has been performed using cloudmonkey. > > * Creating a primary storage based on cloudbyte storage plugin. > > cloudmonkey# create storagepool scope=cluster > zoneid=dac7223c-6d09-4dcb-82fb-bdecf7c657f5 > podid=20a613c4-eccf-4fdc-b8ca-c51df483326f > clusterid=9a89bc12-bf00-496b-b1d8-8e92cdf1795f name=cloudbytevolume > provider=elastistor url=nfs://10.10.171.137/cloudbytetest capacityiops=500 > capacitybytes=214748364800 tags=cloudbytetest > storagepool: > name = cloudbytevolume > id = 57f70aa4-659b-3b53-b8ab-2f712474f107 > capacityiops = 500 > clusterid = 9a89bc12-bf00-496b-b1d8-8e92cdf1795f > clustername = test000 > created = 2014-03-11T12:42:38+0530 > disksizeallocated = 0 > disksizetotal = 214748364800 > hypervisor = Any > ipaddress = 10.10.171.137 > path = /cloudbytetest > podid = 20a613c4-eccf-4fdc-b8ca-c51df483326f > podname = test00 > scope = CLUSTER > state = Up > tags = cloudbytetest > type = NetworkFilesystem > zoneid = dac7223c-6d09-4dcb-82fb-bdecf7c657f5 > zonename = DevCloud0 > > * Deleting the primary storage based on cloudbyte storage plugin. > > cloudmonkey# delete storagepool id=57f70aa4-659b-3b53-b8ab-2f712474f107 > success = true > > * creation of primary storage with negative capacityiops throws an exception. > > * creation of primary storage with already available name and ip throws an > exception. > > > Thanks, > > punith s > >