For example, let's say another storage company wants to implement a plug-in
to leverage its Quality of Service feature. It would be dynamic, zone-wide
storage, as well. They would need only implement a storage plug-in as I've
made the necessary changes to the hypervisor-attach logic to support their
plug-in.


On Mon, Jun 3, 2013 at 1:39 PM, Mike Tutkowski <mike.tutkow...@solidfire.com
> wrote:

> Oh, sorry to imply the XenServer code is SolidFire specific. It is not.
>
> The XenServer attach logic is now aware of dynamic, zone-wide storage (and
> SolidFire is an implementation of this kind of storage). This kind of
> storage is new to 4.2 with Edison's storage framework changes.
>
> Edison created a new framework that supported the creation and deletion of
> volumes dynamically. However, when I visited with him in Portland back in
> April, we realized that it was not complete. We realized there was nothing
> CloudStack could do with these volumes unless the attach logic was changed
> to recognize this new type of storage and create the appropriate hypervisor
> data structure.
>
>
> On Mon, Jun 3, 2013 at 1:28 PM, John Burwell <jburw...@basho.com> wrote:
>
>> Mike,
>>
>> It is generally odd to me that any operation in the Storage layer would
>> understand or care about details.  I expect to see the Storage services
>> expose a set of operations that can be composed/driven by the Hypervisor
>> implementations to allocate space/create structures per their needs.  If
>> we
>> don't invert this dependency, we are going to end with a massive n-to-n
>> problem that will make the system increasingly difficult to maintain and
>> enhance.  Am I understanding that the Xen specific SolidFire code is
>> located in the CitrixResourceBase class?
>>
>> Thanks,
>> -John
>>
>>
>> On Mon, Jun 3, 2013 at 3:12 PM, Mike Tutkowski <
>> mike.tutkow...@solidfire.com
>> > wrote:
>>
>> > To delve into this in a bit more detail:
>> >
>> > Prior to 4.2 and aside from one setup method for XenServer, the admin
>> had
>> > to first create a volume on the storage system, then go into the
>> hypervisor
>> > to set up a data structure to make use of the volume (ex. a storage
>> > repository on XenServer or a datastore on ESX(i)). VMs and data disks
>> then
>> > shared this storage system's volume.
>> >
>> > With Edison's new storage framework, storage need no longer be so static
>> > and you can easily create a 1:1 relationship between a storage system's
>> > volume and the VM's data disk (necessary for storage Quality of
>> Service).
>> >
>> > You can now write a plug-in that is called to dynamically create and
>> delete
>> > volumes as needed.
>> >
>> > The problem that the storage framework did not address is in creating
>> and
>> > deleting the hypervisor-specific data structure when performing an
>> > attach/detach.
>> >
>> > That being the case, I've been enhancing it to do so. I've got XenServer
>> > worked out and submitted. I've got ESX(i) in my sandbox and can submit
>> this
>> > if we extend the 4.2 freeze date.
>> >
>> > Does that help a bit? :)
>> >
>> >
>> > On Mon, Jun 3, 2013 at 1:03 PM, Mike Tutkowski <
>> > mike.tutkow...@solidfire.com
>> > > wrote:
>> >
>> > > Hi John,
>> > >
>> > > The storage plug-in - by itself - is hypervisor agnostic.
>> > >
>> > > The issue is with the volume-attach logic (in the agent code). The
>> > storage
>> > > framework calls into the plug-in to have it create a volume as needed,
>> > but
>> > > when the time comes to attach the volume to a hypervisor, the attach
>> > logic
>> > > has to be smart enough to recognize it's being invoked on zone-wide
>> > storage
>> > > (where the volume has just been created) and create, say, a storage
>> > > repository (for XenServer) or a datastore (for VMware) to make use of
>> the
>> > > volume that was just created.
>> > >
>> > > I've been spending most of my time recently making the attach logic
>> work
>> > > in the agent code.
>> > >
>> > > Does that clear it up?
>> > >
>> > > Thanks!
>> > >
>> > >
>> > > On Mon, Jun 3, 2013 at 12:48 PM, John Burwell <jburw...@basho.com>
>> > wrote:
>> > >
>> > >> Mike,
>> > >>
>> > >> Can you explain why the the storage driver is hypervisor specific?
>> > >>
>> > >> Thanks,
>> > >> -John
>> > >>
>> > >> On Jun 3, 2013, at 1:21 PM, Mike Tutkowski <
>> > mike.tutkow...@solidfire.com>
>> > >> wrote:
>> > >>
>> > >> > Yes, ultimately I would like to support all hypervisors that
>> > CloudStack
>> > >> > supports. I think I'm just out of time for 4.2 to get KVM in.
>> > >> >
>> > >> > Right now this plug-in supports XenServer. Depending on what we do
>> > with
>> > >> > regards to 4.2 feature freeze, I have it working for VMware in my
>> > >> sandbox,
>> > >> > as well.
>> > >> >
>> > >> > Also, just to be clear, this is all in regards to Disk Offerings. I
>> > >> plan to
>> > >> > support Compute Offerings post 4.2.
>> > >> >
>> > >> >
>> > >> > On Mon, Jun 3, 2013 at 11:14 AM, Kelcey Jamison Damage <
>> > kel...@bbits.ca
>> > >> >wrote:
>> > >> >
>> > >> >> Is there any plan on supporting KVM in the patch cycle post 4.2?
>> > >> >>
>> > >> >> ----- Original Message -----
>> > >> >> From: "Mike Tutkowski" <mike.tutkow...@solidfire.com>
>> > >> >> To: dev@cloudstack.apache.org
>> > >> >> Sent: Monday, June 3, 2013 10:12:32 AM
>> > >> >> Subject: Re: [MERGE] disk_io_throttling to MASTER
>> > >> >>
>> > >> >> I agree on merging Wei's feature first, then mine.
>> > >> >>
>> > >> >> If his feature is for KVM only, then it is a non issue as I don't
>> > >> support
>> > >> >> KVM in 4.2.
>> > >> >>
>> > >> >>
>> > >> >> On Mon, Jun 3, 2013 at 8:55 AM, Wei ZHOU <ustcweiz...@gmail.com>
>> > >> wrote:
>> > >> >>
>> > >> >>> John,
>> > >> >>>
>> > >> >>> For the billing, as no one works on billing now, users need to
>> > >> calculate
>> > >> >>> the billing by themselves. They can get the service_offering and
>> > >> >>> disk_offering of a VMs and volumes for calculation. Of course it
>> is
>> > >> >> better
>> > >> >>> to tell user the exact limitation value of individual volume, and
>> > >> network
>> > >> >>> rate limitation for nics as well. I can work on it later. Do you
>> > >> think it
>> > >> >>> is a part of I/O throttling?
>> > >> >>>
>> > >> >>> Sorry my misunstand the second the question.
>> > >> >>>
>> > >> >>> Agree with what you said about the two features.
>> > >> >>>
>> > >> >>> -Wei
>> > >> >>>
>> > >> >>>
>> > >> >>> 2013/6/3 John Burwell <jburw...@basho.com>
>> > >> >>>
>> > >> >>>> Wei,
>> > >> >>>>
>> > >> >>>>
>> > >> >>>> On Jun 3, 2013, at 2:13 AM, Wei ZHOU <ustcweiz...@gmail.com>
>> > wrote:
>> > >> >>>>
>> > >> >>>>> Hi John, Mike
>> > >> >>>>>
>> > >> >>>>> I hope Mike's aswer helps you. I am trying to adding more.
>> > >> >>>>>
>> > >> >>>>> (1) I think billing should depend on IO statistics rather than
>> > IOPS
>> > >> >>>>> limitation. Please review disk_io_stat if you have time.
>> > >> >> disk_io_stat
>> > >> >>>> can
>> > >> >>>>> get the IO statistics including bytes/iops read/write for an
>> > >> >> individual
>> > >> >>>>> virtual machine.
>> > >> >>>>
>> > >> >>>> Going by the AWS model, customers are billed more for volumes
>> with
>> > >> >>>> provisioned IOPS, as well as, for those operations (
>> > >> >>>> http://aws.amazon.com/ebs/).  I would imagine our users would
>> like
>> > >> the
>> > >> >>>> option to employ similar cost models.  Could an operator
>> implement
>> > >> >> such a
>> > >> >>>> billing model in the current patch?
>> > >> >>>>
>> > >> >>>>>
>> > >> >>>>> (2) Do you mean IOPS runtime change? KVM supports setting
>> IOPS/BPS
>> > >> >>>>> limitation for a running virtual machine through command line.
>> > >> >> However,
>> > >> >>>>> CloudStack does not support changing the parameters of a
>> created
>> > >> >>> offering
>> > >> >>>>> (computer offering or disk offering).
>> > >> >>>>
>> > >> >>>> I meant at the Java interface level.  I apologize for being
>> > unclear.
>> > >> >> Can
>> > >> >>>> we more generalize allocation algorithms with a set of
>> interfaces
>> > >> that
>> > >> >>>> describe the service guarantees provided by a resource?
>> > >> >>>>
>> > >> >>>>>
>> > >> >>>>> (3) It is a good question. Maybe it is better to commit Mike's
>> > patch
>> > >> >>>> after
>> > >> >>>>> disk_io_throttling as Mike needs to consider the limitation in
>> > >> >>> hypervisor
>> > >> >>>>> type, I think.
>> > >> >>>>
>> > >> >>>> I will expand on my thoughts in a later response to Mike
>> regarding
>> > >> the
>> > >> >>>> touch points between these two features.  I think that
>> > >> >> disk_io_throttling
>> > >> >>>> will need to be merged before SolidFire, but I think we need
>> closer
>> > >> >>>> coordination between the branches (possibly have have solidfire
>> > track
>> > >> >>>> disk_io_throttling) to coordinate on this issue.
>> > >> >>>>
>> > >> >>>>>
>> > >> >>>>> - Wei
>> > >> >>>>>
>> > >> >>>>>
>> > >> >>>>> 2013/6/3 John Burwell <jburw...@basho.com>
>> > >> >>>>>
>> > >> >>>>>> Mike,
>> > >> >>>>>>
>> > >> >>>>>> The things I want to understand are the following:
>> > >> >>>>>>
>> > >> >>>>>>  1) Is there value in capturing IOPS policies be captured in a
>> > >> >> common
>> > >> >>>>>> data model (e.g. for billing/usage purposes, expressing
>> > offerings).
>> > >> >>>>>>   2) Should there be a common interface model for reasoning
>> about
>> > >> >> IOP
>> > >> >>>>>> provisioning at runtime?
>> > >> >>>>>>   3) How are conflicting provisioned IOPS configurations
>> between
>> > a
>> > >> >>>>>> hypervisor and storage device reconciled?  In particular, a
>> > >> scenario
>> > >> >>>> where
>> > >> >>>>>> is lead to believe (and billed) for more IOPS configured for
>> a VM
>> > >> >>> than a
>> > >> >>>>>> storage device has been configured to deliver.  Another
>> scenario
>> > >> >>> could a
>> > >> >>>>>> consistent configuration between a VM and a storage device at
>> > >> >> creation
>> > >> >>>>>> time, but a later modification to storage device introduces
>> > logical
>> > >> >>>>>> inconsistency.
>> > >> >>>>>>
>> > >> >>>>>> Thanks,
>> > >> >>>>>> -John
>> > >> >>>>>>
>> > >> >>>>>> On Jun 2, 2013, at 8:38 PM, Mike Tutkowski <
>> > >> >>>> mike.tutkow...@solidfire.com>
>> > >> >>>>>> wrote:
>> > >> >>>>>>
>> > >> >>>>>> Hi John,
>> > >> >>>>>>
>> > >> >>>>>> I believe Wei's feature deals with controlling the max number
>> of
>> > >> >> IOPS
>> > >> >>>> from
>> > >> >>>>>> the hypervisor side.
>> > >> >>>>>>
>> > >> >>>>>> My feature is focused on controlling IOPS from the storage
>> system
>> > >> >>> side.
>> > >> >>>>>>
>> > >> >>>>>> I hope that helps. :)
>> > >> >>>>>>
>> > >> >>>>>>
>> > >> >>>>>> On Sun, Jun 2, 2013 at 6:35 PM, John Burwell <
>> jburw...@basho.com
>> > >
>> > >> >>>> wrote:
>> > >> >>>>>>
>> > >> >>>>>>> Wei,
>> > >> >>>>>>>
>> > >> >>>>>>> My opinion is that no features should be merged until all
>> > >> >> functional
>> > >> >>>>>>> issues have been resolved and it is ready to turn over to
>> test.
>> > >> >>> Until
>> > >> >>>>>> the
>> > >> >>>>>>> total Ops vs discrete read/write ops issue is addressed and
>> > >> >>> re-reviewed
>> > >> >>>>>> by
>> > >> >>>>>>> Wido, I don't think this criteria has been satisfied.
>> > >> >>>>>>>
>> > >> >>>>>>> Also, how does this work intersect/compliment the SolidFire
>> > patch
>> > >> (
>> > >> >>>>>>> https://reviews.apache.org/r/11479/)?  As I understand it
>> that
>> > >> >> work
>> > >> >>> is
>> > >> >>>>>>> also involves provisioned IOPS.  I would like to ensure we
>> don't
>> > >> >>> have a
>> > >> >>>>>>> scenario where provisioned IOPS in KVM and SolidFire are
>> > >> >>> unnecessarily
>> > >> >>>>>>> incompatible.
>> > >> >>>>>>>
>> > >> >>>>>>> Thanks,
>> > >> >>>>>>> -John
>> > >> >>>>>>>
>> > >> >>>>>>> On Jun 1, 2013, at 6:47 AM, Wei ZHOU <ustcweiz...@gmail.com>
>> > >> >> wrote:
>> > >> >>>>>>>
>> > >> >>>>>>> Wido,
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> Sure. I will change it next week.
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> -Wei
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> 2013/6/1 Wido den Hollander <w...@widodh.nl>
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> Hi Wei,
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> On 06/01/2013 08:24 AM, Wei ZHOU wrote:
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> Wido,
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> Exactly. I have pushed the features into master.
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> If anyone object thems for technical reason till Monday, I
>> will
>> > >> >>> revert
>> > >> >>>>>>>
>> > >> >>>>>>> them.
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> For the sake of clarity I just want to mention again that we
>> > >> should
>> > >> >>>>>> change
>> > >> >>>>>>>
>> > >> >>>>>>> the total IOps to R/W IOps asap so that we never release a
>> > version
>> > >> >>> with
>> > >> >>>>>>>
>> > >> >>>>>>> only total IOps.
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> You laid the groundwork for the I/O throttling and that's
>> great!
>> > >> We
>> > >> >>>>>> should
>> > >> >>>>>>>
>> > >> >>>>>>> however prevent that we create legacy from day #1.
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> Wido
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> -Wei
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> 2013/5/31 Wido den Hollander <w...@widodh.nl>
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> On 05/31/2013 03:59 PM, John Burwell wrote:
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> Wido,
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> +1 -- this enhancement must to discretely support read and
>> write
>> > >> >>> IOPS.
>> > >> >>>>>>>
>> > >> >>>>>>> I
>> > >> >>>>>>>
>> > >> >>>>>>> don't see how it could be fixed later because I don't see
>> how we
>> > >> >>>>>>>
>> > >> >>>>>>> correctly
>> > >> >>>>>>>
>> > >> >>>>>>> split total IOPS into read and write.  Therefore, we would be
>> > >> stuck
>> > >> >>>>>>>
>> > >> >>>>>>> with a
>> > >> >>>>>>>
>> > >> >>>>>>> total unless/until we decided to break backwards
>> compatibility.
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> What Wei meant was merging it into master now so that it
>> will go
>> > >> in
>> > >> >>> the
>> > >> >>>>>>>
>> > >> >>>>>>> 4.2 branch and add Read / Write IOps before the 4.2 release
>> so
>> > >> that
>> > >> >>> 4.2
>> > >> >>>>>>>
>> > >> >>>>>>> will be released with Read and Write instead of Total IOps.
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> This is to make the May 31st feature freeze date. But if the
>> > >> window
>> > >> >>>> moves
>> > >> >>>>>>>
>> > >> >>>>>>> (see other threads) then it won't be necessary to do that.
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> Wido
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> I also completely agree that there is no association between
>> > >> >> network
>> > >> >>>>>>>
>> > >> >>>>>>> and
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> disk I/O.
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> Thanks,
>> > >> >>>>>>>
>> > >> >>>>>>> -John
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> On May 31, 2013, at 9:51 AM, Wido den Hollander <
>> w...@widodh.nl
>> > >
>> > >> >>>> wrote:
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> Hi Wei,
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> On 05/31/2013 03:13 PM, Wei ZHOU wrote:
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> Hi Wido,
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> Thanks. Good question.
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> I  thought about at the beginning. Finally I decided to
>> ignore
>> > the
>> > >> >>>>>>>
>> > >> >>>>>>> difference of read and write mainly because the network
>> > throttling
>> > >> >>> did
>> > >> >>>>>>>
>> > >> >>>>>>> not
>> > >> >>>>>>>
>> > >> >>>>>>> care the difference of sent and received bytes as well.
>> > >> >>>>>>>
>> > >> >>>>>>> That reasoning seems odd. Networking and disk I/O completely
>> > >> >>> different.
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> Disk I/O is much more expensive in most situations then
>> network
>> > >> >>>>>>>
>> > >> >>>>>>> bandwith.
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> Implementing it will be some copy-paste work. It could be
>> > >> >>>>>>>
>> > >> >>>>>>> implemented in
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> few days. For the deadline of feature freeze, I will
>> implement
>> > it
>> > >> >>>>>>>
>> > >> >>>>>>> after
>> > >> >>>>>>>
>> > >> >>>>>>> that , if needed.
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> It think it's a feature we can't miss. But if it goes into
>> the
>> > 4.2
>> > >> >>>>>>>
>> > >> >>>>>>> window we have to make sure we don't release with only total
>> > IOps
>> > >> >> and
>> > >> >>>>>>>
>> > >> >>>>>>> fix
>> > >> >>>>>>>
>> > >> >>>>>>> it in 4.3, that will confuse users.
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> Wido
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> -Wei
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> 2013/5/31 Wido den Hollander <w...@widodh.nl>
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> Hi Wei,
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> On 05/30/2013 06:03 PM, Wei ZHOU wrote:
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> Hi,
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> I would like to merge disk_io_throttling branch into master.
>> > >> >>>>>>>
>> > >> >>>>>>> If nobody object, I will merge into master in 48 hours.
>> > >> >>>>>>>
>> > >> >>>>>>> The purpose is :
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> Virtual machines are running on the same storage device
>> (local
>> > >> >>>>>>>
>> > >> >>>>>>> storage or
>> > >> >>>>>>>
>> > >> >>>>>>> share strage). Because of the rate limitation of device
>> (such as
>> > >> >>>>>>>
>> > >> >>>>>>> iops), if
>> > >> >>>>>>>
>> > >> >>>>>>> one VM has large disk operation, it may affect the disk
>> > >> performance
>> > >> >>>>>>>
>> > >> >>>>>>> of
>> > >> >>>>>>>
>> > >> >>>>>>> other VMs running on the same storage device.
>> > >> >>>>>>>
>> > >> >>>>>>> It is neccesary to set the maximum rate and limit the disk
>> I/O
>> > of
>> > >> >>>>>>>
>> > >> >>>>>>> VMs.
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> Looking at the code I see you make no difference between Read
>> > and
>> > >> >>>>>>>
>> > >> >>>>>>> Write
>> > >> >>>>>>>
>> > >> >>>>>>> IOps.
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> Qemu and libvirt support setting both a different rate for
>> Read
>> > >> and
>> > >> >>>>>>>
>> > >> >>>>>>> Write
>> > >> >>>>>>>
>> > >> >>>>>>> IOps which could benefit a lot of users.
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> It's also strange, in the polling side you collect both the
>> Read
>> > >> >> and
>> > >> >>>>>>>
>> > >> >>>>>>> Write
>> > >> >>>>>>>
>> > >> >>>>>>> IOps, but on the throttling side you only go for a global
>> value.
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> Write IOps are usually much more expensive then Read IOps,
>> so it
>> > >> >>>>>>>
>> > >> >>>>>>> seems
>> > >> >>>>>>>
>> > >> >>>>>>> like a valid use-case where that an admin would set a lower
>> > value
>> > >> >> for
>> > >> >>>>>>>
>> > >> >>>>>>> write
>> > >> >>>>>>>
>> > >> >>>>>>> IOps vs Read IOps.
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> Since this only supports KVM at this point I think it would
>> be
>> > of
>> > >> >>>>>>>
>> > >> >>>>>>> great
>> > >> >>>>>>>
>> > >> >>>>>>> value to at least have the mechanism in place to support
>> both,
>> > >> >>>>>>>
>> > >> >>>>>>> implementing
>> > >> >>>>>>>
>> > >> >>>>>>> this later would be a lot of work.
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> If a hypervisor doesn't support setting different values for
>> > read
>> > >> >> and
>> > >> >>>>>>>
>> > >> >>>>>>> write you can always sum both up and set that as the total
>> > limit.
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> Can you explain why you implemented it this way?
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> Wido
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> The feature includes:
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> (1) set the maximum rate of VMs (in disk_offering, and global
>> > >> >>>>>>>
>> > >> >>>>>>> configuration)
>> > >> >>>>>>>
>> > >> >>>>>>> (2) change the maximum rate of VMs
>> > >> >>>>>>>
>> > >> >>>>>>> (3) limit the disk rate (total bps and iops)
>> > >> >>>>>>>
>> > >> >>>>>>> JIRA ticket: https://issues.apache.org/****
>> > >> >>>>>>>
>> > >> >>>>>>> jira/browse/CLOUDSTACK-1192<ht**tps://issues.apache.org/****
>> > >> >>>>>>>
>> > >> >>>>>>> jira/browse/CLOUDSTACK-1192<
>> > >> >>>>>>> https://issues.apache.org/**jira/browse/CLOUDSTACK-1192>
>> > >> >>>>>>>
>> > >> >>>>>>> <ht**tps://issues.apache.org/**jira/**browse/CLOUDSTACK-1192
>> <
>> > >> >>>>>>> http://issues.apache.org/jira/**browse/CLOUDSTACK-1192>
>> > >> >>>>>>>
>> > >> >>>>>>> <**
>> > >> >>>>>>> https://issues.apache.org/**jira/browse/CLOUDSTACK-1192<
>> > >> >>>>>> https://issues.apache.org/jira/browse/CLOUDSTACK-1192>
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> FS (I will update later) :
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>
>> https://cwiki.apache.org/******confluence/display/CLOUDSTACK/******<
>> > >> >>>>>>
>> https://cwiki.apache.org/****confluence/display/CLOUDSTACK/****>
>> > >> >>>>>>>
>> > >> >>>>>>> <
>> > >> >>>>>>>
>> https://cwiki.apache.org/****confluence/display/**CLOUDSTACK/**
>> > <
>> > >> >>>>>> https://cwiki.apache.org/**confluence/display/CLOUDSTACK/**>
>> > >> >>>>>>>
>> > >> >>>>>>> VM+Disk+IO+Throttling<https://****
>> > >> cwiki.apache.org/confluence/****
>> > >> >> <
>> > >> >>>>>>> http://cwiki.apache.org/confluence/**>
>> > >> >>>>>>>
>> > >> >>>>>>> display/CLOUDSTACK/VM+Disk+IO+****Throttling<https://cwiki.
>> **
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> apache.org/confluence/display/**CLOUDSTACK/VM+Disk+IO+**Throttling
>> > >> >> <
>> > >> >>>>>>>
>> > >> >>>>>>
>> > >> >>>>
>> > >> >>>
>> > >> >>
>> > >>
>> >
>> https://cwiki.apache.org/confluence/display/CLOUDSTACK/VM+Disk+IO+Throttling
>> > >> >>>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> Merge check list :-
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> * Did you check the branch's RAT execution success?
>> > >> >>>>>>>
>> > >> >>>>>>> Yes
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> * Are there new dependencies introduced?
>> > >> >>>>>>>
>> > >> >>>>>>> No
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> * What automated testing (unit and integration) is included
>> in
>> > the
>> > >> >>>>>>>
>> > >> >>>>>>> new
>> > >> >>>>>>>
>> > >> >>>>>>> feature?
>> > >> >>>>>>>
>> > >> >>>>>>> Unit tests are added.
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> * What testing has been done to check for potential
>> regressions?
>> > >> >>>>>>>
>> > >> >>>>>>> (1) set the bytes rate and IOPS rate on CloudStack UI.
>> > >> >>>>>>>
>> > >> >>>>>>> (2) VM operations, including
>> > >> >>>>>>>
>> > >> >>>>>>> deploy, stop, start, reboot, destroy, expunge. migrate,
>> restore
>> > >> >>>>>>>
>> > >> >>>>>>> (3) Volume operations, including
>> > >> >>>>>>>
>> > >> >>>>>>> Attach, Detach
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> To review the code, you can try
>> > >> >>>>>>>
>> > >> >>>>>>> git diff c30057635d04a2396f84c588127d7e******be42e503a7
>> > >> >>>>>>>
>> > >> >>>>>>> f2e5591b710d04cc86815044f5823e******73a4a58944
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> Best regards,
>> > >> >>>>>>>
>> > >> >>>>>>> Wei
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> [1]
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>
>> https://cwiki.apache.org/******confluence/display/CLOUDSTACK/******<
>> > >> >>>>>>
>> https://cwiki.apache.org/****confluence/display/CLOUDSTACK/****>
>> > >> >>>>>>>
>> > >> >>>>>>> <
>> > >> >>>>>>>
>> https://cwiki.apache.org/****confluence/display/**CLOUDSTACK/**
>> > <
>> > >> >>>>>> https://cwiki.apache.org/**confluence/display/CLOUDSTACK/**>
>> > >> >>>>>>>
>> > >> >>>>>>> VM+Disk+IO+Throttling<https://****
>> > >> cwiki.apache.org/confluence/****
>> > >> >> <
>> > >> >>>>>>> http://cwiki.apache.org/confluence/**>
>> > >> >>>>>>>
>> > >> >>>>>>> display/CLOUDSTACK/VM+Disk+IO+****Throttling<https://cwiki.
>> **
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> apache.org/confluence/display/**CLOUDSTACK/VM+Disk+IO+**Throttling
>> > >> >> <
>> > >> >>>>>>>
>> > >> >>>>>>
>> > >> >>>>
>> > >> >>>
>> > >> >>
>> > >>
>> >
>> https://cwiki.apache.org/confluence/display/CLOUDSTACK/VM+Disk+IO+Throttling
>> > >> >>>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> [2] refs/heads/disk_io_throttling
>> > >> >>>>>>>
>> > >> >>>>>>> [3]
>> > >> >>>>>>> https://issues.apache.org/******jira/browse/CLOUDSTACK-1301<
>> > >> >>>>>> https://issues.apache.org/****jira/browse/CLOUDSTACK-1301>
>> > >> >>>>>>>
>> > >> >>>>>>> <ht**tps://issues.apache.org/****jira/browse/CLOUDSTACK-1301
>> <
>> > >> >>>>>>> https://issues.apache.org/**jira/browse/CLOUDSTACK-1301>
>> > >> >>>>>>>
>> > >> >>>>>>> <ht**tps://issues.apache.org/**jira/**browse/CLOUDSTACK-1301
>> <
>> > >> >>>>>>> http://issues.apache.org/jira/**browse/CLOUDSTACK-1301>
>> > >> >>>>>>>
>> > >> >>>>>>> <**
>> > >> >>>>>>> https://issues.apache.org/**jira/browse/CLOUDSTACK-1301<
>> > >> >>>>>> https://issues.apache.org/jira/browse/CLOUDSTACK-1301>
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> <ht**tps://
>> issues.apache.org/****jira/**browse/CLOUDSTACK-2071<
>> > >> >>>>>>> http://issues.apache.org/**jira/**browse/CLOUDSTACK-2071>
>> > >> >>>>>>>
>> > >> >>>>>>> **<
>> > >> >>>>>>> http://issues.apache.org/**jira/**browse/CLOUDSTACK-2071<
>> > >> >>>>>> http://issues.apache.org/jira/**browse/CLOUDSTACK-2071>
>> > >> >>>>>>>
>> > >> >>>>>>> <**
>> > >> >>>>>>> https://issues.apache.org/****jira/browse/CLOUDSTACK-2071<
>> > >> >>>>>> https://issues.apache.org/**jira/browse/CLOUDSTACK-2071>
>> > >> >>>>>>>
>> > >> >>>>>>> <h**ttps://issues.apache.org/jira/**browse/CLOUDSTACK-2071<
>> > >> >>>>>>> https://issues.apache.org/jira/browse/CLOUDSTACK-2071>
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> (**CLOUDSTACK-1301
>> > >> >>>>>>>
>> > >> >>>>>>> -     VM Disk I/O Throttling)
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>
>> > >> >>>>>>
>> > >> >>>>>> --
>> > >> >>>>>> *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>
*™*

Reply via email to