rate-limiting doesn't work
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Cinder |
Fix Released
|
High
|
Huang Zhiteng | ||
Havana |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Hi everyone,
I tried to play with the new rate-limiting feature however it doesn't work.
See below my setup.
root@openstack:~# uname -a
Linux openstack 3.8.0-33-generic #48~precise1-Ubuntu SMP Thu Oct 24 16:28:06 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
root@openstack:~# dpkg -l |grep -E 'nova|glance|
ii cinder-api 1:2013.
ii cinder-common 1:2013.
ii cinder-scheduler 1:2013.
ii cinder-volume 1:2013.
ii glance 1:2013.
ii glance-api 1:2013.
ii glance-common 1:2013.
ii glance-registry 1:2013.
ii libvirt-bin 1.1.1-0ubuntu8~
ii libvirt0 1.1.1-0ubuntu8~
ii nova-api 1:2013.
ii nova-cert 1:2013.
ii nova-common 1:2013.
ii nova-compute 1:2013.
ii nova-compute-kvm 1:2013.
ii nova-conductor 1:2013.
ii nova-consoleauth 1:2013.
ii nova-network 1:2013.
ii nova-novncproxy 1:2013.
ii nova-scheduler 1:2013.
ii python-cinder 1:2013.
ii python-cinderclient 1:1.0.6-
ii python-glance 1:2013.
ii python-glanceclient 1:0.11.
ii python-libvirt 1.1.1-0ubuntu8~
ii python-nova 1:2013.
ii python-novaclient 1:2.15.
root@openstack:~# cinder qos-create high-read-low-write consumer=
+------
| Property | Value |
+------
| consumer | front-end |
| id | c5f2119e-
| name | high-read-low-write |
| specs | {u'write_iops_sec': u'5', u'read_iops_sec': u'20'} |
+------
root@openstack:~# cinder type-create slow
+------
| ID | Name |
+------
| d3080d3c-
+------
root@openstack:~# cinder qos-associate c5f2119e-
root@openstack:~# cinder create --display-name slow --volume-type slow 1
+------
| Property | Value |
+------
| attachments | [] |
| availability_zone | nova |
| bootable | false |
| created_at | 2013-12-
| display_description | None |
| display_name | slow |
| id | 58b47e19-
| metadata | {} |
| size | 1 |
| snapshot_id | None |
| source_volid | None |
| status | creating |
| volume_type | slow |
+------
root@openstack:~# cinder create --display-name slow --volume-type slow 1
+------
| Property | Value |
+------
| attachments | [] |
| availability_zone | nova |
| bootable | false |
| created_at | 2013-12-
| display_description | None |
| display_name | slow |
| id | 2e589abc-
| metadata | {} |
| size | 1 |
| snapshot_id | None |
| source_volid | None |
| status | creating |
| volume_type | slow |
+------
root@openstack:~# cinder list
+------
| ID | Status | Display Name | Size | Volume Type | Bootable | Attached to |
+------
| 2e589abc-
+------
root@openstack:~# nova list
+------
| ID | Name | Status | Task State | Power State | Networks |
+------
| 4601cdd3-
+------
root@openstack:~# nova volume-attach vm 2e589abc-
+------
| Property | Value |
+------
| device | /dev/vdb |
| serverId | 4601cdd3-
| id | 2e589abc-
| volumeId | 2e589abc-
+------
root@openstack:~# virsh list
Id Name State
-------
2 instance-00000002 running
root@openstack:~# virsh dumpxml instance-00000002
<domain type='qemu' id='2'>
<name>
<uuid>
<memory unit='KiB'
<currentMemory unit='KiB'
<vcpu placement=
<resource>
<partition>
</resource>
<sysinfo type='smbios'>
<system>
<entry name='manufactu
<entry name='product'
<entry name='version'
<entry name='serial'
<entry name='uuid'
</system>
</sysinfo>
<os>
<type arch='x86_64' machine=
<boot dev='hd'/>
<smbios mode='sysinfo'/>
</os>
<features>
<acpi/>
<apic/>
</features>
<clock offset='utc'/>
<on_poweroff>
<on_reboot>
<on_crash>
<devices>
<emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='none'/>
<source file='/
<target dev='vda' bus='virtio'/>
<alias name='virtio-
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</disk>
<disk type='network' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<auth username='volumes'>
<secret type='ceph' uuid='95c98032-
</auth>
<source protocol='rbd' name='volumes/
<host name='192.
</source>
<target dev='vdb' bus='virtio'/>
<
<alias name='virtio-
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</disk>
<disk type='file' device='cdrom'>
<driver name='qemu' type='raw' cache='none'/>
<source file='/
<target dev='hdd' bus='ide'/>
<readonly/>
<alias name='ide0-1-1'/>
<address type='drive' controller='0' bus='1' target='0' unit='1'/>
</disk>
<controller type='usb' index='0'>
<alias name='usb0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
</controller>
<controller type='pci' index='0' model='pci-root'>
<alias name='pci0'/>
</controller>
<controller type='ide' index='0'>
<alias name='ide0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
</controller>
<interface type='bridge'>
<mac address=
<source bridge='br100'/>
<target dev='vnet0'/>
<model type='virtio'/>
<driver name='qemu'/>
<filterref filter=
<alias name='net0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
<serial type='file'>
<source path='/
<target port='0'/>
<alias name='serial0'/>
</serial>
<serial type='pty'>
<source path='/dev/pts/3'/>
<target port='1'/>
<alias name='serial1'/>
</serial>
<console type='file'>
<source path='/
<target type='serial' port='0'/>
<alias name='serial0'/>
</console>
<input type='mouse' bus='ps2'/>
<graphics type='vnc' port='5900' autoport='yes' listen='127.0.0.1' keymap='en-us'>
<listen type='address' address=
</graphics>
<video>
<model type='cirrus' vram='9216' heads='1'/>
<alias name='video0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
<memballoon model='virtio'>
<alias name='balloon0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</memballoon>
</devices>
<seclabel type='dynamic' model='apparmor' relabel='yes'>
<label>
<imagelabel
</seclabel>
</domain>
This is a bit redundant but this is the nova's log:
2013-12-11 10:22:27.712 DEBUG nova.virt.
<driver name="qemu" type="raw" cache="none"/>
<source protocol="rbd" name="volumes/
<host name="192.
</source>
<auth username="volumes">
<secret type="ceph" uuid="95c98032-
</auth>
<target bus="virtio" dev="vdb"/>
<serial>
</disk>
I was expecting an "iotune" flag in the xml but nothing.
After discussing and debugging this with winston-d, he found the bug.
description: | updated |
description: | updated |
Changed in cinder: | |
status: | New → Confirmed |
importance: | Undecided → High |
assignee: | nobody → Huang Zhiteng (zhiteng-huang) |
milestone: | none → icehouse-2 |
Changed in cinder: | |
status: | Confirmed → In Progress |
tags: | added: havana-backport-potential |
Changed in cinder: | |
status: | Fix Committed → Fix Released |
Changed in cinder: | |
milestone: | icehouse-2 → 2014.1 |
Reviewed: https:/ /review. openstack. org/61531 /git.openstack. org/cgit/ openstack/ cinder/ commit/ ?id=e40dafd5441 1f0e4648fc051ef 4d9c806f337f9d
Committed: https:/
Submitter: Jenkins
Branch: master
commit e40dafd54411f0e 4648fc051ef4d9c 806f337f9d
Author: Zhiteng Huang <email address hidden>
Date: Wed Dec 11 23:56:14 2013 +0800
Fix QoS information in initialize_ connection( ) result
Currently the entire QoS information (if any) is included in the result of connection( ) even if the consumer of the QoS is 'back-end'. Also connection( ).
initialize_
the format for QoS specs also is changed so that front-end (Nova) can
parse correctly. Add unit test to cover initialize_
Closes-bug: 1259957
DocImpact
Change-Id: Ibc5e92cc1ddf64 04e5b234ef52469 8feae282eec