Hi John,

What you say here may very well make sense, but I'm having a hard time
envisioning it.

Perhaps we should draw Edison in on this conversation as he was the initial
person to suggest the approach I took.

What do you think?

Thanks!


On Tue, Jun 4, 2013 at 12:42 PM, John Burwell <jburw...@basho.com> wrote:

> Mike,
>
> It feels like we are combining two distinct concepts -- storage device
> management and storage protocols.  In both cases, we are communicating with
> ISCSI, but one allows the system to create/delete volumes (Dynamic) on the
> device while the other requires the volume to be volume to be managed
> outside of the CloudStack context.  To ensure that we are in sync on
> terminology, volume, in these definitions, refers to the physical
> allocation on the device, correct?  Minimally, we must be able to
> communicate with a storage device to move bits from one place to another,
> read bits, delete bits, etc.  Optionally, a storage device may be able to
> managed by CloudStack.  Therefore, we can have a unmanaged iSCSI device
> onto which we store a Xen SR, and we can have a managed SolidFire iSCSI
> device on which CloudStack is capable of allocating LUNs and storing
> volumes.  Finally, while CloudStack may be able to manage a device, an
> operator may chose to leave it unmanaged by CloudStack (e.g. the device is
> shared by many services, and the operator has chosen to dedicate only a
> portion of it to CloudStack).  Does my reasoning make sense?
>
> Assuming my thoughts above are reasonable, it seems appropriate to strip
> the management concerns from StoragePoolType, add the notion of a storage
> device with an attached driver that indicates whether or not is managed by
> CloudStack, and establish a abstraction representing a physical allocation
> on a device separate that is associated with a volume.  With these notions
> in place, hypervisor drivers can declare which protocols they support and
> when they encounter a device managed by CloudStack, utilize the management
> operations exposed by the driver to automate allocation.  If these
> thoughts/concepts make sense, then we can sit down and drill down to a more
> detailed design.
>
> Thanks,
> -John
>
> On Jun 3, 2013, at 5:25 PM, Mike Tutkowski <mike.tutkow...@solidfire.com>
> wrote:
>
> > Here is the difference between the current iSCSI type and the Dynamic
> type:
> >
> > iSCSI type: The admin has to go in and create a Primary Storage based on
> > the iSCSI type. At this point in time, the iSCSI volume must exist on the
> > storage system (it is pre-allocated). Future CloudStack volumes are
> created
> > as VDIs on the SR that was created behind the scenes.
> >
> > Dynamic type: The admin has to go in and create Primary Storage based on
> a
> > plug-in that will create and delete volumes on its storage system
> > dynamically (as is enabled via the storage framework). When a user wants
> to
> > attach a CloudStack volume that was created, the framework tells the
> > plug-in to create a new volume. After this is done, the attach logic for
> > the hypervisor in question is called. No hypervisor data structure exists
> > at this point because the volume was just created. The hypervisor data
> > structure must be created.
> >
> >
> > On Mon, Jun 3, 2013 at 3:21 PM, Mike Tutkowski <
> mike.tutkow...@solidfire.com
> >> wrote:
> >
> >> These are new terms, so I should probably have defined them up front for
> >> you. :)
> >>
> >> Static storage: Storage that is pre-allocated (ex. an admin creates a
> >> volume on a SAN), then a hypervisor data structure is created to consume
> >> the storage (ex. XenServer SR), then that hypervisor data structure is
> >> consumed by CloudStack. Disks (VDI) are later placed on this hypervisor
> >> data structure as needed. In these cases, the attach logic assumes the
> >> hypervisor data structure is already in place and simply attaches the
> VDI
> >> on the hypervisor data structure to the VM in question.
> >>
> >> Dynamic storage: Storage that is not pre-allocated. Instead of
> >> pre-existent storage, this could be a SAN (not a volume on a SAN, but
> the
> >> SAN itself). The hypervisor data structure must be created when an
> attach
> >> volume is performed because these types of volumes have not been
> pre-hooked
> >> up to such a hypervisor data structure by an admin. Once the attach
> logic
> >> creates, say, an SR on XenServer for this volume, it attaches the one
> and
> >> only VDI within the SR to the VM in question.
> >>
> >>
> >> On Mon, Jun 3, 2013 at 3:13 PM, John Burwell <jburw...@basho.com>
> wrote:
> >>
> >>> Mike,
> >>>
> >>> The current implementation of the Dynamic type attach behavior works in
> >>> terms of Xen ISCSI which why I ask about the difference.  Another way
> to
> >>> ask the question -- what is the definition of a Dynamic storage pool
> type?
> >>>
> >>> Thanks,
> >>> -John
> >>>
> >>> On Jun 3, 2013, at 5:10 PM, Mike Tutkowski <
> mike.tutkow...@solidfire.com>
> >>> wrote:
> >>>
> >>>> As far as I know, the iSCSI type is uniquely used by XenServer when
> you
> >>>> want to set up Primary Storage that is directly based on an iSCSI
> >>> target.
> >>>> This allows you to skip the step of going to the hypervisor and
> >>> creating a
> >>>> storage repository based on that iSCSI target as CloudStack does that
> >>> part
> >>>> for you. I think this is only supported for XenServer. For all other
> >>>> hypervisors, you must first go to the hypervisor and perform this step
> >>>> manually.
> >>>>
> >>>> I don't really know what RBD is.
> >>>>
> >>>>
> >>>> On Mon, Jun 3, 2013 at 2:13 PM, John Burwell <jburw...@basho.com>
> >>> wrote:
> >>>>
> >>>>> Mike,
> >>>>>
> >>>>> Reading through the code, what is the difference between the ISCSI
> and
> >>>>> Dynamic types?  Why isn't RBD considered Dynamic?
> >>>>>
> >>>>> Thanks,
> >>>>> -John
> >>>>>
> >>>>> On Jun 3, 2013, at 3:46 PM, Mike Tutkowski <
> >>> mike.tutkow...@solidfire.com>
> >>>>> wrote:
> >>>>>
> >>>>>> This new type of storage is defined in the Storage.StoragePoolType
> >>> class
> >>>>>> (called Dynamic):
> >>>>>>
> >>>>>> public static enum StoragePoolType {
> >>>>>>
> >>>>>>      Filesystem(false), // local directory
> >>>>>>
> >>>>>>      NetworkFilesystem(true), // NFS or CIFS
> >>>>>>
> >>>>>>      IscsiLUN(true), // shared LUN, with a clusterfs overlay
> >>>>>>
> >>>>>>      Iscsi(true), // for e.g., ZFS Comstar
> >>>>>>
> >>>>>>      ISO(false), // for iso image
> >>>>>>
> >>>>>>      LVM(false), // XenServer local LVM SR
> >>>>>>
> >>>>>>      CLVM(true),
> >>>>>>
> >>>>>>      RBD(true),
> >>>>>>
> >>>>>>      SharedMountPoint(true),
> >>>>>>
> >>>>>>      VMFS(true), // VMware VMFS storage
> >>>>>>
> >>>>>>      PreSetup(true), // for XenServer, Storage Pool is set up by
> >>>>>> customers.
> >>>>>>
> >>>>>>      EXT(false), // XenServer local EXT SR
> >>>>>>
> >>>>>>      OCFS2(true),
> >>>>>>
> >>>>>>      Dynamic(true); // dynamic, zone-wide storage (ex. SolidFire)
> >>>>>>
> >>>>>>
> >>>>>>      boolean shared;
> >>>>>>
> >>>>>>
> >>>>>>      StoragePoolType(boolean shared) {
> >>>>>>
> >>>>>>          this.shared = shared;
> >>>>>>
> >>>>>>      }
> >>>>>>
> >>>>>>
> >>>>>>      public boolean isShared() {
> >>>>>>
> >>>>>>          return shared;
> >>>>>>
> >>>>>>      }
> >>>>>>
> >>>>>>  }
> >>>>>>
> >>>>>>
> >>>>>> On Mon, Jun 3, 2013 at 1:41 PM, Mike Tutkowski <
> >>>>> mike.tutkow...@solidfire.com
> >>>>>>> wrote:
> >>>>>>
> >>>>>>> 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>
> >>>>>>> *™*
> >>>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> --
> >>>>>> *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