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

Reply via email to