Bug 1262041

Summary: QEMU Throttling of Persistent Volumes backed by RBD
Product: Red Hat OpenStack Reporter: Neil Levine <nlevine>
Component: openstack-novaAssignee: Eoghan Glynn <eglynn>
Status: CLOSED ERRATA QA Contact: Yogev Rabl <yrabl>
Severity: high Docs Contact:
Priority: high    
Version: 7.0 (Kilo)CC: berrange, dasmith, eglynn, jschluet, kchamart, ndipanov, sbauza, sferdjao, sgordon, vromanso, yeylon, yrabl
Target Milestone: betaKeywords: FutureFeature, TestOnly
Target Release: 8.0 (Liberty)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: openstack-nova-12.0.0-1.el7ost Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-04-07 21:08:09 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Logs from the controllers none

Description Neil Levine 2015-09-10 16:59:10 UTC
Need to test that a max IOPS rule can be applied against a VM connected to a RBD volume managed by Cinder.

Comment 8 Stephen Gordon 2015-12-11 17:24:45 UTC
"Part 3 for blueprint quota-instance-resource, by setting exposed params
"disk_read_bytes_sec, disk_read_iops_sec, disk_write_bytes_sec,
disk_write_iops_sec, disk_total_bytes_sec, disk_total_iops_sec"
through nova flavor-set, user can implement instance disk IO control
policy.
for example:
nova flavor-set m1.medium set disk_write_bytes_sec=10240000,
then the max disk write IO is 10MB/s for VM user."

Comment 9 Yogev Rabl 2016-02-09 15:51:06 UTC
The verification failed with the following packages: 
python-novaclient-3.1.0-2.el7ost.noarch
openstack-nova-scheduler-12.0.1-2.el7ost.noarch
openstack-nova-common-12.0.1-2.el7ost.noarch
openstack-nova-compute-12.0.1-2.el7ost.noarch
openstack-nova-api-12.0.1-2.el7ost.noarch
python-nova-12.0.1-2.el7ost.noarch
openstack-nova-conductor-12.0.1-2.el7ost.noarch
openstack-nova-console-12.0.1-2.el7ost.noarch
openstack-nova-novncproxy-12.0.1-2.el7ost.noarch
openstack-nova-cert-12.0.1-2.el7ost.noarch

My steps were:
1. added the property from comment 8
# nova flavor-key m1.tiny set disk_write_bytes_sec=10240000
2. tried to launch an instance
3. tried to launch an instance with a flavor with similar values as the tiny flavor, without the additional property and the instance launch was successful

Comment 10 Stephen Gordon 2016-02-09 16:31:08 UTC
Yogev please provide logs and more information on what the error was in (2). Also can you confirm that while the steps are listed as being manually executed this is also being added to automation?

Thanks,

Steve

Comment 11 Yogev Rabl 2016-02-10 08:36:24 UTC
Created attachment 1122709 [details]
Logs from the controllers

Adding the log from the controllers and the details of the instance.

Comment 12 Stephen Gordon 2016-02-10 09:33:35 UTC
(In reply to Stephen Gordon from comment #8)
> nova flavor-set m1.medium set disk_write_bytes_sec=10240000,
> then the max disk write IO is 10MB/s for VM user."

Thanks Yogev, one other thing. I notice you used this command to set the throttling level:

$ nova flavor-set m1.medium set disk_write_bytes_sec=10240000

Can you try again with this:

$ nova flavor-set m1.medium set quota:disk_write_bytes_sec=10240000

The request appears to be failing out of the ComputeCapabilitiesFilter, I am wondering if this is because the lack of the quota: namespacing results in it being picked up by the wrong filter.

Thanks,

Steve

Comment 13 Yogev Rabl 2016-02-10 10:54:52 UTC
Hi Steve, 

Checked it with the modification - it works well.
The disk configuration of the instance is: 

    <disk type="network" device="disk">
      <driver type="raw" cache="none"/>
      <source protocol="rbd" name="vms/3084fd6a-64b1-4560-ba0b46792d21418d_disk">
        <host name="10.35.182.137" port="6789"/>
        <host name="10.35.182.138" port="6789"/>
        <host name="10.35.182.139" port="6789"/>
      </source>
      <auth username="openstack">
        <secret type="ceph" uuid="84099bea-c9db-11e5-a169-52540097887b"/>
      </auth>
      <target bus="virtio" dev="vda"/>
      <iotune>
        <write_bytes_sec>10240</write_bytes_sec>
      </iotune>
    </disk>

changing to verify.

Comment 14 Stephen Gordon 2016-02-10 11:11:15 UTC
Thanks Yogev, just following up on one other earlier question - does this mean we now also have automation coverage of this feature?

Comment 15 Yogev Rabl 2016-02-10 11:59:48 UTC
No, we don't have an automated test for this feature at the moment. It will be automated in the near future. 

We do have a test plan for it ready

Comment 17 errata-xmlrpc 2016-04-07 21:08:09 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHEA-2016-0603.html