Just an FYI that I was busy the past week working on building integration tests for SolidFire-related functionality that's executed in CloudStack, but I plan to get back to this resizeVolume API work today.
On Wed, Jun 25, 2014 at 10:27 AM, Mike Tutkowski < mike.tutkow...@solidfire.com> wrote: > Hi Punith, > > Yes, that is exactly the approach I was planning on taking: enhance the > resizeVolume API to allow for IOPS control and to extend what it can do > with volume sizes. > > Talk to you later! > Mike > > > On Wed, Jun 25, 2014 at 7:44 AM, Punith S <punit...@cloudbyte.com> wrote: > >> hi mike, >> >> now this updateStoragePool API would be really helpful to update the >> backend storagepool and other third party features. >> >> question on individual CloudStack volumes >> is it feasible to associate resize volume and changing IOPS into one API >> ? >> >> if so we might need to add more intelligence in the design to make sure >> disk is not detached if only IOPS is being modified in the select new disk >> offering >> else disk shall be detached if both size and IOPS vary in the selected >> new disk offering. >> >> thanks. >> >> >> On Wed, Jun 25, 2014 at 2:25 AM, Mike Tutkowski < >> mike.tutkow...@solidfire.com> wrote: >> >>> OK, I've completed work on enabling a storage plug-in to be notified >>> when the size and/or IOPS of the primary storage that it represents is >>> changed: >>> >>> >>> https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;a=commit;h=c344693e48d80313270d1a972b0a3badf315567d >>> >>> This is related to the updateStoragePool API. >>> >>> I plan to switch my focus now to the resizeVolume API so that individual >>> CloudStack volumes (as opposed to the entire storage pool they are from) >>> can have not only their size, but their IOPS updated. >>> >>> >>> On Fri, Jun 20, 2014 at 12:31 AM, Mike Tutkowski < >>> mike.tutkow...@solidfire.com> wrote: >>> >>>> I'll define constants for the keys in PrimaryDataStoreLifeCycle. >>>> >>>> >>>> On Friday, June 20, 2014, Mike Tutkowski <mike.tutkow...@solidfire.com> >>>> wrote: >>>> >>>>> In fact, we do use a hash-map approach for some KVM storage code, too. >>>>> >>>>> Let's do that here, as well. >>>>> >>>>> I'll make that change. >>>>> >>>>> Thanks >>>>> >>>>> On Friday, June 20, 2014, Mike Tutkowski <mike.tutkow...@solidfire.com> >>>>> wrote: >>>>> >>>>>> We do - in some places in the code - use a hash map...like what you >>>>>> describe. >>>>>> >>>>>> I guess the trade off there would be that the values that contain our >>>>>> numbers would end up being high-level objects instead of numbers (because >>>>>> we don't really know what future values might be). >>>>>> >>>>>> I'm OK with either approach. >>>>>> >>>>>> On Friday, June 20, 2014, Mike Tutkowski < >>>>>> mike.tutkow...@solidfire.com> wrote: >>>>>> >>>>>>> Unfortunately, at the time being, the updateStoragePool API (from >>>>>>> the public-facing API) only takes in bytes, IOPS, and storage tags...not >>>>>>> details (createStoragePool takes in a lot more parameters...including >>>>>>> details). >>>>>>> >>>>>>> So - for now at least - we're a little limited in what the new >>>>>>> interface method can tell storage providers about (unless we wanted to >>>>>>> spend time adding to the parameter list of updateStoragePool). >>>>>>> >>>>>>> On Friday, June 20, 2014, Amit Das <amit....@cloudbyte.com> wrote: >>>>>>> >>>>>>>> Hi Mike, >>>>>>>> >>>>>>>> Is there any use case to have a more generic signature for >>>>>>>> updateStoragePool API ? >>>>>>>> >>>>>>>> e.g >>>>>>>> void updateStoragePool(StoragePool storagePool, Map<E,V> >>>>>>>> updateDetails); >>>>>>>> // not too sure of what should be E & V as of now. To start with E >>>>>>>> & V can be String types or Enums for better static checks. >>>>>>>> >>>>>>>> instead of below >>>>>>>> void updateCapacity(StoragePool storagePool, Long capacityBytes, L >>>>>>>> ong capacityIops); >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> Regards, >>>>>>>> Amit >>>>>>>> *CloudByte Inc.* <http://www.cloudbyte.com/> >>>>>>>> >>>>>>>> >>>>>>>> On Fri, Jun 20, 2014 at 10:37 AM, Mike Tutkowski < >>>>>>>> mike.tutkow...@solidfire.com> wrote: >>>>>>>> >>>>>>>>> I just wanted to update those who are interested in this thread >>>>>>>>> about work I've done on this over the past couple days. >>>>>>>>> >>>>>>>>> This gist is that I've added a new method to the >>>>>>>>> PrimaryDataStoreLifeCycle interface that has the following signature >>>>>>>>> (this >>>>>>>>> code is not yet checked in): >>>>>>>>> >>>>>>>>> void updateCapacity(StoragePool storagePool, Long capacityBytes, L >>>>>>>>> ong capacityIops); >>>>>>>>> >>>>>>>>> This method can be invoked from StorageManagerImpl when the >>>>>>>>> updateStoragePool API is called. >>>>>>>>> >>>>>>>>> This gives the storage plug-in that backs the primary storage in >>>>>>>>> question an opportunity to update the backend storage it represents, >>>>>>>>> if >>>>>>>>> that makes sense to do in your particular case (for example, changing >>>>>>>>> the >>>>>>>>> size and/or IOPS of a volume). >>>>>>>>> >>>>>>>>> There is a related enhancement to the resizeVolume API that I plan >>>>>>>>> to tackle next week. That one will be particularly useful for managed >>>>>>>>> storage plug-ins. >>>>>>>>> >>>>>>>>> Also, I have been collecting input on the generic key/value >>>>>>>>> proposal here: >>>>>>>>> >>>>>>>>> >>>>>>>>> https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=42566111 >>>>>>>>> >>>>>>>>> That may turn into a considerable amount of work. I was initially >>>>>>>>> thinking it could be fit into 4.5, but it might be 4.6. >>>>>>>>> >>>>>>>>> Thanks for any feedback! >>>>>>>>> >>>>>>>>> >>>>>>>>> On Thu, Jun 12, 2014 at 11:09 PM, Mike Tutkowski < >>>>>>>>> mike.tutkow...@solidfire.com> wrote: >>>>>>>>> >>>>>>>>>> As I think about this more, there are two situations we should >>>>>>>>>> cover: >>>>>>>>>> >>>>>>>>>> 1) Non-managed storage that has control over IOPS. >>>>>>>>>> >>>>>>>>>> When you invoke the createStoragePool API, you can pass in >>>>>>>>>> capacityIops. >>>>>>>>>> >>>>>>>>>> We should support modifying capacityIops via the >>>>>>>>>> updateStoragePool API. >>>>>>>>>> >>>>>>>>>> 2) Managed storage that has control over IOPS. >>>>>>>>>> >>>>>>>>>> In this environment, there is a 1:1 mapping between a SAN volume >>>>>>>>>> and a CloudStack volume. >>>>>>>>>> >>>>>>>>>> This is where we need to augment the resizeVolume API to accept - >>>>>>>>>> in a similar fashion to size - a new value for Min and/or Max IOPS. >>>>>>>>>> >>>>>>>>>> For example, a resizeVolume can be initiated by simply selecting >>>>>>>>>> a new Disk Offering. >>>>>>>>>> >>>>>>>>>> In this situation, the size and IOPS are part of the new Disk >>>>>>>>>> Offering (i.e. neither size nor IOPS can be marked as custom) and >>>>>>>>>> when the >>>>>>>>>> resize method of the storage plug-in is invoked, it will have a >>>>>>>>>> chance to >>>>>>>>>> change the size and/or IOPS. >>>>>>>>>> >>>>>>>>>> I would say we should perform a bit of analysis in the CloudStack >>>>>>>>>> volume logic to NOT stop resize from being invoked on the storage >>>>>>>>>> plug-in >>>>>>>>>> IF the volume size is the same, but the IOPS are different. This way >>>>>>>>>> the >>>>>>>>>> volume can be online as long as the user is only changing the IOPS >>>>>>>>>> of the >>>>>>>>>> volume. >>>>>>>>>> >>>>>>>>>> I also think it's only a problem for XenServer for the VDI to >>>>>>>>>> have its size changed dynamically. >>>>>>>>>> >>>>>>>>>> I plan to draw a flowchart for this soon. Once I do that I think >>>>>>>>>> it will be easier to talk in detail. >>>>>>>>>> >>>>>>>>>> Thanks! >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Thu, Jun 12, 2014 at 12:59 PM, Mike Tutkowski < >>>>>>>>>> mike.tutkow...@solidfire.com> wrote: >>>>>>>>>> >>>>>>>>>>> From what I understand about the resizeVolume API, to change the >>>>>>>>>>> size of a given volume, you must either: >>>>>>>>>>> >>>>>>>>>>> 1) pass in a new Disk Offering (if the current Disk Offering the >>>>>>>>>>> volume uses does not allow for a custom size) >>>>>>>>>>> >>>>>>>>>>> or >>>>>>>>>>> >>>>>>>>>>> 2) pass in the ID of the volume and a new size (if the current >>>>>>>>>>> Disk Offering the volume uses does allow for a custom size) >>>>>>>>>>> >>>>>>>>>>> Either way, if you are shrinking the volume's size, you then >>>>>>>>>>> have to pass in 'true' for the 'shrinkok' parameter. >>>>>>>>>>> >>>>>>>>>>> One thing we should do is support this same concept with IOPS. >>>>>>>>>>> At the time being, both Min and Max IOPS can be custom (set by >>>>>>>>>>> user) or non >>>>>>>>>>> custom (set by admin). This is a direct parallel to custom size or >>>>>>>>>>> non-custom size. If the user is using a non-custom IOPS setting and >>>>>>>>>>> wants >>>>>>>>>>> to switch to a custom IOPS setting, he should be able to do so by >>>>>>>>>>> switching >>>>>>>>>>> to a Disk Offering with custom IOPS. Of course we should support >>>>>>>>>>> doing this >>>>>>>>>>> while the volume is attached. >>>>>>>>>>> >>>>>>>>>>> If arbitrary key/value pairs can be associated with Disk >>>>>>>>>>> Offerings, then you should be able to get the new key/value pairs by >>>>>>>>>>> switching to a new Disk Offering. We'd want to allow this to work >>>>>>>>>>> with the >>>>>>>>>>> volume in the attached state, as well. >>>>>>>>>>> >>>>>>>>>>> Perhaps we should allow this all to happen online (volume >>>>>>>>>>> attached) UNLESS doing what we're about to do will change the size >>>>>>>>>>> of the >>>>>>>>>>> volume. Then we can fail the OP and tell them to detach the volume >>>>>>>>>>> and >>>>>>>>>>> re-run the OP. >>>>>>>>>>> >>>>>>>>>>> What are you thoughts on that? >>>>>>>>>>> >>>>>>>>>>> Also, I think volumeResize only works for data disks at the time >>>>>>>>>>> being. >>>>>>>>>>> >>>>>>>>>>> In my mind, volumeResize is a bit of a misnomer now. We are >>>>>>>>>>> really allowing the user to resize their Disk Offering now in terms >>>>>>>>>>> of not >>>>>>>>>>> only size, but IOPS, and even arbitrary key/value pairs. This is >>>>>>>>>>> still all >>>>>>>>>>> done by selecting a new Disk Offering (or - if you have a custom >>>>>>>>>>> size or >>>>>>>>>>> custom IOPS disk offering already - by passing in the ID of the >>>>>>>>>>> volume and >>>>>>>>>>> the new size and/or IOPS). >>>>>>>>>>> >>>>>>>>>>> Let's brainstorm on this a bit and see which way makes sense to >>>>>>>>>>> go. >>>>>>>>>>> >>>>>>>>>>> Thanks! >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Thu, Jun 12, 2014 at 9:48 AM, Punith S < >>>>>>>>>>> punit...@cloudbyte.com> wrote: >>>>>>>>>>> >>>>>>>>>>>> sure mike. >>>>>>>>>>>> >>>>>>>>>>>> and i have one question, >>>>>>>>>>>> >>>>>>>>>>>> which existing volume api are we gonna use for changing disk >>>>>>>>>>>> offerings(properties) dynamically ? >>>>>>>>>>>> since resize api will not allow unless the disk is detached ! >>>>>>>>>>>> >>>>>>>>>>>> thanks. >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On Thu, Jun 12, 2014 at 11:37 AM, Mike Tutkowski < >>>>>>>>>>>> mike.tutkow...@solidfire.com> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Sounds good - let me give some thought as to how we should >>>>>>>>>>>>> break up the work. >>>>>>>>>>>>> >>>>>>>>>>>>> My GSoC student from Tunisia will be helping us, as well. >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> On Wed, Jun 11, 2014 at 8:34 AM, Punith S < >>>>>>>>>>>>> punit...@cloudbyte.com> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>>> yes it sounds good, thanks for the proposal mike, >>>>>>>>>>>>>> >>>>>>>>>>>>>> yeah right now i have implemented prototype of my proposal, >>>>>>>>>>>>>> since its not generic we shall implement your proposal for 4.5. >>>>>>>>>>>>>> on the other hand, for 4.5 i'm supporting nfs protocol and >>>>>>>>>>>>>> resize feature for managed storage in xenserver, now trying to >>>>>>>>>>>>>> implement >>>>>>>>>>>>>> snapshot and support root disk for vm's. >>>>>>>>>>>>>> and yes if we can club together, i can start working on this >>>>>>>>>>>>>> proposal for data disk and get the prototype ready. >>>>>>>>>>>>>> what do you think ? >>>>>>>>>>>>>> >>>>>>>>>>>>>> thanks. >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> On Wed, Jun 11, 2014 at 3:53 AM, Mike Tutkowski < >>>>>>>>>>>>>> mike.tutkow...@solidfire.com> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>>> I'll send out a [PROPOSAL] e-mail so others who may not be >>>>>>>>>>>>>>> following this e-mail thread have a better chance to comment on >>>>>>>>>>>>>>> the feature. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On Tue, Jun 10, 2014 at 2:58 PM, Mike Tutkowski < >>>>>>>>>>>>>>> mike.tutkow...@solidfire.com> wrote: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Here is that design document I was referring to, Punith: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=42566111 >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> I've been working with a student in Tunisia who is >>>>>>>>>>>>>>>> participating in Google Summer of Code (GSoC) (I'm his mentor). >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> He'll be working on part of this as will I. (He is also >>>>>>>>>>>>>>>> working on another related task not listed here.) >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Feel free to join us, if you have time available, as we can >>>>>>>>>>>>>>>> divide out coding and testing among the three of us. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Talk to you later! >>>>>>>>>>>>>>>> Mike >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> On Tue, Jun 10, 2014 at 10:18 AM, Mike Tutkowski < >>>>>>>>>>>>>>>> mike.tutkow...@solidfire.com> wrote: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> I plan to draw up a design document surrounding generic >>>>>>>>>>>>>>>>> key/value pairs today. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Perhaps you can take a look at it when you have time, >>>>>>>>>>>>>>>>> Punith? >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> On Tue, Jun 10, 2014 at 10:06 AM, Mike Tutkowski < >>>>>>>>>>>>>>>>> mike.tutkow...@solidfire.com> wrote: >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Hi Punith, >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Yeah, I hear you about the number of permutations >>>>>>>>>>>>>>>>>> involved. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Traditionally Compute and Disk Offerings have been >>>>>>>>>>>>>>>>>> immutable. It makes it easier from an accounting point of >>>>>>>>>>>>>>>>>> view for >>>>>>>>>>>>>>>>>> chargeback and billing. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> You should definitely feel free to extend the CloudStack >>>>>>>>>>>>>>>>>> API. I think NetApp did this for one of their storage >>>>>>>>>>>>>>>>>> features in the >>>>>>>>>>>>>>>>>> recent past. This way vendor-specific capabilities can be >>>>>>>>>>>>>>>>>> more easily >>>>>>>>>>>>>>>>>> offered without making it look like all vendors support >>>>>>>>>>>>>>>>>> those particular >>>>>>>>>>>>>>>>>> features. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> I do not yet have any code in master related to generic >>>>>>>>>>>>>>>>>> keys/values. I'm still designing this. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> How does your schedule look for the 4.5 release? Do you >>>>>>>>>>>>>>>>>> think you might have available cycles to help out with this >>>>>>>>>>>>>>>>>> generic >>>>>>>>>>>>>>>>>> key/value implementation? >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Talk to you later! >>>>>>>>>>>>>>>>>> Mike >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> On Tue, Jun 10, 2014 at 7:09 AM, Punith S < >>>>>>>>>>>>>>>>>> punit...@cloudbyte.com> wrote: >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> hi mike, >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> thanks for the reply, i like your approach which is a >>>>>>>>>>>>>>>>>>> very generic way and also we only need to do a few changes >>>>>>>>>>>>>>>>>>> to the current >>>>>>>>>>>>>>>>>>> cloudstack, >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> but on the other hand we are tying every property of the >>>>>>>>>>>>>>>>>>> vendor to a disk offering through key/value pairs, since we >>>>>>>>>>>>>>>>>>> offer lot of >>>>>>>>>>>>>>>>>>> properties like i mentioned, this can create a lot of >>>>>>>>>>>>>>>>>>> permutation >>>>>>>>>>>>>>>>>>> combinations of disk offerings, for say if i need to turn >>>>>>>>>>>>>>>>>>> deduplication On >>>>>>>>>>>>>>>>>>> for a specific volume , should i have to create a new disk >>>>>>>>>>>>>>>>>>> offering having >>>>>>>>>>>>>>>>>>> current properties with deduplication On? >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> is this approach already implemented in the current >>>>>>>>>>>>>>>>>>> master ? >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> and also like you mentioned about exposing a new api, is >>>>>>>>>>>>>>>>>>> it okay if i expose our own api in my util by extending the >>>>>>>>>>>>>>>>>>> PlugableService >>>>>>>>>>>>>>>>>>> like in network plugins ? >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> thanks. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> On Tue, Jun 10, 2014 at 1:17 AM, Mike Tutkowski < >>>>>>>>>>>>>>>>>>> mike.tutkow...@solidfire.com> wrote: >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Allow me to follow this up with more detail (with >>>>>>>>>>>>>>>>>>>> regards to what Chris and I talked about): >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> As you are aware, today the way you associate a Compute >>>>>>>>>>>>>>>>>>>> Offering (CO) or a Disk Offering (DO) with a Primary >>>>>>>>>>>>>>>>>>>> Storage (PS) is via >>>>>>>>>>>>>>>>>>>> storage tagging. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> This has some benefits and drawbacks. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> One benefit is being able to have some level of vendor >>>>>>>>>>>>>>>>>>>> independence from the point of view of the CO or DO. For >>>>>>>>>>>>>>>>>>>> example, if the >>>>>>>>>>>>>>>>>>>> storage tag of a DO is "Fast", then this can be satisfied >>>>>>>>>>>>>>>>>>>> by PS that >>>>>>>>>>>>>>>>>>>> describes itself as "Fast", regardless of vendor. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> A major drawback with the storage-tagging approach, >>>>>>>>>>>>>>>>>>>> however, is that you are not easily able to leverage >>>>>>>>>>>>>>>>>>>> vendor-specific >>>>>>>>>>>>>>>>>>>> features, which is often why you bought storage from the >>>>>>>>>>>>>>>>>>>> vendor in question >>>>>>>>>>>>>>>>>>>> to begin with. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Ideally we do not want to add each vendor's features >>>>>>>>>>>>>>>>>>>> into the system as properties that can be seen by the >>>>>>>>>>>>>>>>>>>> admin regardless of >>>>>>>>>>>>>>>>>>>> whether or not the underlying storage he's actually using >>>>>>>>>>>>>>>>>>>> supports the >>>>>>>>>>>>>>>>>>>> feature in question. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> This coarse approach, however, was sort of business as >>>>>>>>>>>>>>>>>>>> usual when I started in with CloudStack 1.5 years ago. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> That being the case, when I added QoS options to CS, I >>>>>>>>>>>>>>>>>>>> did so in a way where the admin would see Min IOPS and Max >>>>>>>>>>>>>>>>>>>> IOPS options >>>>>>>>>>>>>>>>>>>> regardless of whether or not his storage actually >>>>>>>>>>>>>>>>>>>> supported those controls >>>>>>>>>>>>>>>>>>>> (to mitigate this a bit in the GUI, the admin has to >>>>>>>>>>>>>>>>>>>> explicitly select >>>>>>>>>>>>>>>>>>>> "Storage QoS" from a combobox). >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> We leverage the same use model with Hypervisor QoS: The >>>>>>>>>>>>>>>>>>>> admin sees these options regardless of whether or not they >>>>>>>>>>>>>>>>>>>> actually apply >>>>>>>>>>>>>>>>>>>> on the hypervisor where the VM gets deployed. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Going forward, we want to implement a more fine-grain >>>>>>>>>>>>>>>>>>>> and generic approach. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> We would like to have a storage provider field for the >>>>>>>>>>>>>>>>>>>> CO and DO windows (this equates to the name of one and >>>>>>>>>>>>>>>>>>>> only one storage >>>>>>>>>>>>>>>>>>>> provider). If the admin inputs a specific storage provider >>>>>>>>>>>>>>>>>>>> and does not use >>>>>>>>>>>>>>>>>>>> the storage tags field, he can enter in an arbitrary >>>>>>>>>>>>>>>>>>>> number of key/value >>>>>>>>>>>>>>>>>>>> pairs in another text field (perhaps we would provide a >>>>>>>>>>>>>>>>>>>> nice entry dialog >>>>>>>>>>>>>>>>>>>> to make this easier in the GUI). These key value pairs can >>>>>>>>>>>>>>>>>>>> be passed into >>>>>>>>>>>>>>>>>>>> the storage driver when it's asked to create (or update) a >>>>>>>>>>>>>>>>>>>> volume and the >>>>>>>>>>>>>>>>>>>> storage driver can decide what each and every key/value >>>>>>>>>>>>>>>>>>>> pair means. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> What do you think about this approach? >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Thanks >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> On Mon, Jun 9, 2014 at 1:14 PM, Mike Tutkowski < >>>>>>>>>>>>>>>>>>>> mike.tutkow...@solidfire.com> wrote: >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> Hi Punith, >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> This kind of a feature is something Chris Suich and I >>>>>>>>>>>>>>>>>>>>> discussed a while back. >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> We talked about leveraging arbitrary key/value pairs >>>>>>>>>>>>>>>>>>>>> to make this happen (OpenStack does something similar). >>>>>>>>>>>>>>>>>>>>> The key/value pairs >>>>>>>>>>>>>>>>>>>>> would be vendor specific. >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> If we take a key/value approach, we might be able to >>>>>>>>>>>>>>>>>>>>> make this all work the way things work today when the >>>>>>>>>>>>>>>>>>>>> user wants to change >>>>>>>>>>>>>>>>>>>>> an existing Compute Offering and/or Disk Offering. >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> For example, the user would pick a new Compute >>>>>>>>>>>>>>>>>>>>> Offering (with presumably has different key/value pairs) >>>>>>>>>>>>>>>>>>>>> and CloudStack >>>>>>>>>>>>>>>>>>>>> could inform the applicable storage provider, who could >>>>>>>>>>>>>>>>>>>>> update the volume >>>>>>>>>>>>>>>>>>>>> in question. >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> This way we don't need to introduce a new API command >>>>>>>>>>>>>>>>>>>>> and the use model for the user doesn't really change. >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> What are you thoughts on this? >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> Thanks, >>>>>>>>>>>>>>>>>>>>> Mike >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> On Mon, Jun 9, 2014 at 8:08 AM, Punith S < >>>>>>>>>>>>>>>>>>>>> punit...@cloudbyte.com> wrote: >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> hi guys, >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> since most of the third party storage providers have >>>>>>>>>>>>>>>>>>>>>> been implementing 1:1 mapping(managed storage) between a >>>>>>>>>>>>>>>>>>>>>> volume(dataset) >>>>>>>>>>>>>>>>>>>>>> and a vm disk(vdi/vmdk) for guaranteeing the Qos, i >>>>>>>>>>>>>>>>>>>>>> would like to propose a >>>>>>>>>>>>>>>>>>>>>> new feature to dynamically change the volume properties >>>>>>>>>>>>>>>>>>>>>> supported by >>>>>>>>>>>>>>>>>>>>>> storage vendors such as IOPS, Deduplication, >>>>>>>>>>>>>>>>>>>>>> Compression, Grace, >>>>>>>>>>>>>>>>>>>>>> Syncronization, Latency etc, depending on properties and >>>>>>>>>>>>>>>>>>>>>> features supported >>>>>>>>>>>>>>>>>>>>>> by respective storage vendors. hence providing more >>>>>>>>>>>>>>>>>>>>>> flexibility for users. >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> in case of using default cloudstack storage provider, >>>>>>>>>>>>>>>>>>>>>> we can change the properties of the vdi/vmdk files apart >>>>>>>>>>>>>>>>>>>>>> from resizing the >>>>>>>>>>>>>>>>>>>>>> volume(vdi/vmdk). >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> changes in management server include, >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> new async web api ChangeVolumePropertiesCmd, >>>>>>>>>>>>>>>>>>>>>> new method in VolumeApiService for vo and dao >>>>>>>>>>>>>>>>>>>>>> validation implementations. >>>>>>>>>>>>>>>>>>>>>> new method in VolumeServiceManager for supporting >>>>>>>>>>>>>>>>>>>>>> callback and calling the respective storage provider >>>>>>>>>>>>>>>>>>>>>> driver's >>>>>>>>>>>>>>>>>>>>>> implementation. >>>>>>>>>>>>>>>>>>>>>> new method in PrimaryDataStoreDriver interface for >>>>>>>>>>>>>>>>>>>>>> implementing respective features according to their >>>>>>>>>>>>>>>>>>>>>> storage product. >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> changes in UI include, >>>>>>>>>>>>>>>>>>>>>> new changing volume properties widget in volume >>>>>>>>>>>>>>>>>>>>>> section, showing different properties depending upon >>>>>>>>>>>>>>>>>>>>>> listed storage >>>>>>>>>>>>>>>>>>>>>> providers. >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> any suggestions and feedbacks ? >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> thanks >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>>>> regards, >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> punith s >>>>>>>>>>>>>>>>>>>>>> cloudbyte.com >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>>> *Mike Tutkowski* >>>>>>>>>>>>>>>>>>>>> *Senior CloudStack Developer, SolidFire Inc.* >>>>>>>>>>>>>>>>>>>>> e: mike.tutkow...@solidfire.com >>>>>>>>>>>>>>>>>>>>> o: 303.746.7302 >>>>>>>>>>>>>>>>>>>>> Advancing the way the world uses the cloud >>>>>>>>>>>>>>>>>>>>> <http://solidfire.com/solution/overview/?video=play> >>>>>>>>>>>>>>>>>>>>> *™* >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>> *Mike Tutkowski* >>>>>>>>>>>>>>>>>>>> *Senior CloudStack Developer, SolidFire Inc.* >>>>>>>>>>>>>>>>>>>> e: mike.tutkow...@solidfire.com >>>>>>>>>>>>>>>>>>>> o: 303.746.7302 >>>>>>>>>>>>>>>>>>>> Advancing the way the world uses the cloud >>>>>>>>>>>>>>>>>>>> <http://solidfire.com/solution/overview/?video=play>*™* >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>> regards, >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> punith s >>>>>>>>>>>>>>>>>>> cloudbyte.com >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>> *Mike Tutkowski* >>>>>>>>>>>>>>>>>> *Senior CloudStack Developer, SolidFire Inc.* >>>>>>>>>>>>>>>>>> e: mike.tutkow...@solidfire.com >>>>>>>>>>>>>>>>>> o: 303.746.7302 >>>>>>>>>>>>>>>>>> Advancing the way the world uses the cloud >>>>>>>>>>>>>>>>>> <http://solidfire.com/solution/overview/?video=play>*™* >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>> *Mike Tutkowski* >>>>>>>>>>>>>>>>> *Senior CloudStack Developer, SolidFire Inc.* >>>>>>>>>>>>>>>>> e: mike.tutkow...@solidfire.com >>>>>>>>>>>>>>>>> o: 303.746.7302 >>>>>>>>>>>>>>>>> Advancing the way the world uses the cloud >>>>>>>>>>>>>>>>> <http://solidfire.com/solution/overview/?video=play>*™* >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>> *Mike Tutkowski* >>>>>>>>>>>>>>>> *Senior CloudStack Developer, SolidFire Inc.* >>>>>>>>>>>>>>>> e: mike.tutkow...@solidfire.com >>>>>>>>>>>>>>>> o: 303.746.7302 >>>>>>>>>>>>>>>> Advancing the way the world uses the cloud >>>>>>>>>>>>>>>> <http://solidfire.com/solution/overview/?video=play>*™* >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>> *Mike Tutkowski* >>>>>>>>>>>>>>> *Senior CloudStack Developer, SolidFire Inc.* >>>>>>>>>>>>>>> e: mike.tutkow...@solidfire.com >>>>>>>>>>>>>>> o: 303.746.7302 >>>>>>>>>>>>>>> Advancing the way the world uses the cloud >>>>>>>>>>>>>>> <http://solidfire.com/solution/overview/?video=play>*™* >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> -- >>>>>>>>>>>>>> regards, >>>>>>>>>>>>>> >>>>>>>>>>>>>> punith s >>>>>>>>>>>>>> cloudbyte.com >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> -- >>>>>>>>>>>>> *Mike Tutkowski* >>>>>>>>>>>>> *Senior CloudStack Developer, SolidFire Inc.* >>>>>>>>>>>>> e: mike.tutkow...@solidfire.com >>>>>>>>>>>>> o: 303.746.7302 >>>>>>>>>>>>> Advancing the way the world uses the cloud >>>>>>>>>>>>> <http://solidfire.com/solution/overview/?video=play>*™* >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> regards, >>>>>>>>>>>> >>>>>>>>>>>> punith s >>>>>>>>>>>> cloudbyte.com >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> *Mike Tutkowski* >>>>>>>>>>> *Senior CloudStack Developer, SolidFire Inc.* >>>>>>>>>>> e: mike.tutkow...@solidfire.com >>>>>>>>>>> o: 303.746.7302 >>>>>>>>>>> Advancing the way the world uses the cloud >>>>>>>>>>> <http://solidfire.com/solution/overview/?video=play>*™* >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> *Mike Tutkowski* >>>>>>>>>> *Senior CloudStack Developer, SolidFire Inc.* >>>>>>>>>> e: mike.tutkow...@solidfire.com >>>>>>>>>> o: 303.746.7302 >>>>>>>>>> Advancing the way the world uses the cloud >>>>>>>>>> <http://solidfire.com/solution/overview/?video=play>*™* >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> *Mike Tutkowski* >>>>>>>>> *Senior CloudStack Developer, SolidFire Inc.* >>>>>>>>> e: mike.tutkow...@solidfire.com >>>>>>>>> o: 303.746.7302 >>>>>>>>> Advancing the way the world uses the cloud >>>>>>>>> <http://solidfire.com/solution/overview/?video=play>*™* >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> -- >>>>>>> *Mike Tutkowski* >>>>>>> *Senior CloudStack Developer, SolidFire Inc.* >>>>>>> e: mike.tutkow...@solidfire.com >>>>>>> o: 303.746.7302 >>>>>>> Advancing the way the world uses the cloud >>>>>>> <http://solidfire.com/solution/overview/?video=play>*™* >>>>>>> >>>>>>> >>>>>> >>>>>> -- >>>>>> *Mike Tutkowski* >>>>>> *Senior CloudStack Developer, SolidFire Inc.* >>>>>> e: mike.tutkow...@solidfire.com >>>>>> o: 303.746.7302 >>>>>> Advancing the way the world uses the cloud >>>>>> <http://solidfire.com/solution/overview/?video=play>*™* >>>>>> >>>>>> >>>>> >>>>> -- >>>>> *Mike Tutkowski* >>>>> *Senior CloudStack Developer, SolidFire Inc.* >>>>> e: mike.tutkow...@solidfire.com >>>>> o: 303.746.7302 >>>>> Advancing the way the world uses the cloud >>>>> <http://solidfire.com/solution/overview/?video=play>*™* >>>>> >>>>> >>>> >>>> -- >>>> *Mike Tutkowski* >>>> *Senior CloudStack Developer, SolidFire Inc.* >>>> e: mike.tutkow...@solidfire.com >>>> o: 303.746.7302 >>>> Advancing the way the world uses the cloud >>>> <http://solidfire.com/solution/overview/?video=play>*™* >>>> >>>> >>> >>> >>> -- >>> *Mike Tutkowski* >>> *Senior CloudStack Developer, SolidFire Inc.* >>> e: mike.tutkow...@solidfire.com >>> o: 303.746.7302 >>> Advancing the way the world uses the cloud >>> <http://solidfire.com/solution/overview/?video=play>*™* >>> >> >> >> >> -- >> regards, >> >> punith s >> cloudbyte.com >> > > > > -- > *Mike Tutkowski* > *Senior CloudStack Developer, SolidFire Inc.* > e: mike.tutkow...@solidfire.com > o: 303.746.7302 > Advancing the way the world uses the cloud > <http://solidfire.com/solution/overview/?video=play>*™* > -- *Mike Tutkowski* *Senior CloudStack Developer, SolidFire Inc.* e: mike.tutkow...@solidfire.com o: 303.746.7302 Advancing the way the world uses the cloud <http://solidfire.com/solution/overview/?video=play>*™*