[Openstack-docs] [openstack/cinder] DocImpact review request change Iabc61b941aaff10395b30e2045e3421369a317e2

gerrit2 at review.openstack.org gerrit2 at review.openstack.org
Thu Jul 18 17:48:30 UTC 2013


Hi, I'd like you to take a look at this patch for potential
DocImpact.
https://review.openstack.org/29737

Log:
commit 1f64306a770ccf105c2150b89a5784aee2acca04
Author: Zhiteng Huang <zhiteng.huang at intel.com>
Date:   Sat May 18 22:21:28 2013 +0800

    Implement QoS support for volumes
    
    This patch is to implement generic Quality-of-Service(QoS) support for volumes.
    The goal is 1) to add an interface so that cloud/Cinder admins can use to set
    volume rate-limit, which can be enforced either in hypervisor or on Cinder
    back-end or both; 2) to add an interface so that admins can use to express
    QoS requirements for volumes (of specific back-ends), which will be consumed
    by back-end drivers.
    
    Note that while it's possible for Cinder to set the granularity of QoS control
    to every single volume, this patch puts the control granularity to the level
    of volumes of the same type to minimize the impact of other Cinder parts.
    In other words, the design is to bond QoS with volume types. So Cinder admin
    can create various volume types with different QoS requirements, and volumes
    of same volume type share the same QoS specifications.
    
    QoS can mean a lot different things that it's unlikely we can come up with a
    intepreation that all vendors can agree on.  On the other hand, the
    throttling/rate-limiting is a notion that has clear defintion that everyone
    agrees on. So the approach this implementation takes is to break Quality-of-
    Service into two parts: throttling/rate-limiting and the rest (free-form,
    vender specific defintion).  The free-form part is stored as key/value pairs
    as special (under the scope 'QoS_specs:') extra_specs of a volume type, and
    the rate-limit control info is stored as part of specification for types (as
    new columns for volume_types table).
    
    Changes:
     - Add following 7 columns to volume_types table for rate-limit requirements
     for volume types.
      * total_bytes_sec: total throughput limit in bytes per second. This cannot
     appear with read_bytes_sec or write_bytes_sec.
      * read_bytes_sec: read throughput limit in bytes per second.
      * write_bytes_sec: write throughput limit in bytes per second.
    
      * total_iops_sec: total I/O operations per second. This cannot appear with
     read_iops_sec or write_iops_sec.
      * read_iops_sec: read I/O operations per second.
      * write_iops_sec: write I/O operations per second.
    
      * 'control_location' is to store the value where admin would like the QoS
     policy to be enforced, currently these three values are considered valid:
     'front-end' (Nova Compute), 'back-end' (Cinder back-end), 'both'.
    
     - Add a new resource extension to 'types_extra_specs' API extension to allow
     list/create/update/delete of type QoS specs.
     - Modify 'type_manage' API extension to be able to accept rate_limit info.
     - Modify volume_types.create() to accept rate-limit info and do the checks.
     - Add 'qos_specs' to request_specs and filter properties for a volume
     create request.
     - Add rate-limit info to data structure when initialize_connection()
    
    DocImpact
    
    implement blueprint: pass-ratelimit-info-to-nova
    
    Change-Id: Iabc61b941aaff10395b30e2045e3421369a317e2

Automatically generated bug (please review):
https://bugs.launchpad.net/bugs/1202767



More information about the Openstack-docs mailing list