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>*™*

Reply via email to