yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #71216
[Bug 1750319] [NEW] libvirt.driver doesn't make <iotune> when using extra_specs of flavor
Public bug reported:
Description
===========
I use pike release.
I tried to use extra_specs of flavors to limit instance's disk io and network bandwidth by using "Disk tuning" and "Bandwidth I/O".
But "Disk tuning" was not worked and only "Bandwidth I/O" worked.
I turned debug=on, and found nova.virt.libvirt.driver makes only
<bandwith> in _get_guest_xml, without <iotune>.
And I tried to use volume-type qos with image property to limit disk
bandwith and iops, it works well as I expected.
Steps to reproduce
==================
# make flavor with extra_specs
openstack flavor create medium --vcpus 2 --ram 4096 --disk 40 \
--property quota:vif_outbound_average=$(( 300 * 125 )) \
--property quota:vif_outbound_peak=$(( 300 * 375 )) \
--property quota:vif_outbound_burst=$(( 300 * 375 )) \
--property quota:vif_inbound_average=$(( 300 * 125 )) \
--property quota:vif_inbound_peak=$(( 300 * 375 )) \
--property quota:vif_inbound_burst=$(( 300 * 375 )) \
--property quota:disk_total_iops_sec=800 \
--property quota:disk_total_bytes_sec=$(( 70 * 1048576 ))
# server create
openstack server create --image ubuntu --network test-net --flavor medium test-ubuntu
# perform tests
$ iperf3 -c "ip_address_of_iperf3_server"
$ dd if=/dev/zero of=1GB bs=64k count=16k conv=fdatasync
$ fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=test --bs=4k --iodepth=64 --size=1000M --readwrite=randrw --rwmixread=75
Expected result
===============
Network bandwidh will be limited under 300Mbps.
Disk iops will be limited under 800.
Disk bandwidh will be limited under 70MBps.
Actual result
=============
Network bandwidh was limited under 300Mbps.
Disk iops was unlimited.
Disk bandwidth was unlimited.
Environment
===========
1. Nova's version
(nova-compute)[nova@comp01 /]$ rpm -qa | grep nova
python2-novaclient-9.1.1-1.el7.noarch
openstack-nova-compute-16.0.3-2.el7.noarch
python-nova-16.0.3-2.el7.noarch
openstack-nova-common-16.0.3-2.el7.noarch
2. hypervisor
(nova-libvirt)[root@comp01 /]# rpm -qa | grep kvm
qemu-kvm-common-ev-2.9.0-16.el7_4.13.1.x86_64
libvirt-daemon-kvm-3.2.0-14.el7_4.7.x86_64
qemu-kvm-ev-2.9.0-16.el7_4.13.1.x86_64
2. Storage
(ceph-osd-0)[root@stor01 /]# ceph --version
ceph version 12.2.2 (cf0baeeeeba3b47f9427c6c97e2144b094b7e5ba) luminous (stable)
3. Networking
Neutron with OpenVSwitch
Logs & Configs
==============
Please see following paste:
http://paste.openstack.org/show/677319/
** Affects: nova
Importance: Undecided
Status: New
** Description changed:
Description
===========
I use pike release.
I tried to use extra_specs of flavors to limit instance's disk io and network bandwidth by using "Disk tuning" and "Bandwidth I/O".
But "Disk tuning" was not worked and only "Bandwidth I/O" worked.
I turned debug=on, and found nova.virt.libvirt.driver makes only
<bandwith> in _get_guest_xml, without <iotune>.
And I tried to use volume-type qos with image property to limit disk
bandwith and iops, it works well as I expected.
-
Steps to reproduce
==================
# make flavor with extra_specs
openstack flavor create medium --vcpus 2 --ram 4096 --disk 40 \
--property quota:vif_outbound_average=$(( 300 * 125 )) \
--property quota:vif_outbound_peak=$(( 300 * 375 )) \
--property quota:vif_outbound_burst=$(( 300 * 375 )) \
--property quota:vif_inbound_average=$(( 300 * 125 )) \
--property quota:vif_inbound_peak=$(( 300 * 375 )) \
--property quota:vif_inbound_burst=$(( 300 * 375 )) \
--property quota:disk_total_iops_sec=800 \
--property quota:disk_total_bytes_sec=$(( 70 * 1048576 ))
# server create
openstack server create --image ubuntu --network test-net --flavor medium test-ubuntu
# perform tests
$ iperf3 -c "ip_address_of_iperf3_server"
$ dd if=/dev/zero of=1GB bs=64k count=16k conv=fdatasync
$ fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=test --bs=4k --iodepth=64 --size=1000M --readwrite=randrw --rwmixread=75
-
Expected result
===============
Network bandwidh will be limited under 300Mbps.
Disk iops will be limited under 800.
Disk bandwidh will be limited under 70MBps.
-
Actual result
=============
Network bandwidh was limited under 300Mbps.
Disk iops was unlimited.
Disk bandwidth was unlimited.
-
Environment
===========
1. Nova's version
nova-compute)[nova@comp01 /]$ rpm -qa | grep openstack-nova
openstack-nova-compute-16.0.3-2.el7.noarch
openstack-nova-common-16.0.3-2.el7.noarch
2. hypervisor
- (nova-compute)[nova@comp01 /]$ rpm -qa | grep kvm
+ (nova-libvirt)[root@comp01 /]# rpm -qa | grep kvm
qemu-kvm-common-ev-2.9.0-16.el7_4.13.1.x86_64
+ libvirt-daemon-kvm-3.2.0-14.el7_4.7.x86_64
qemu-kvm-ev-2.9.0-16.el7_4.13.1.x86_64
- libvirt-daemon-kvm-3.2.0-14.el7_4.7.x86_6
2. Storage
(ceph-osd-0)[root@stor01 /]# ceph --version
ceph version 12.2.2 (cf0baeeeeba3b47f9427c6c97e2144b094b7e5ba) luminous (stable)
3. Networking
Neutron with OpenVSwitch
-
Logs & Configs
==============
Please see following paste:
http://paste.openstack.org/show/677319/
** Description changed:
Description
===========
I use pike release.
I tried to use extra_specs of flavors to limit instance's disk io and network bandwidth by using "Disk tuning" and "Bandwidth I/O".
But "Disk tuning" was not worked and only "Bandwidth I/O" worked.
I turned debug=on, and found nova.virt.libvirt.driver makes only
<bandwith> in _get_guest_xml, without <iotune>.
And I tried to use volume-type qos with image property to limit disk
bandwith and iops, it works well as I expected.
Steps to reproduce
==================
# make flavor with extra_specs
openstack flavor create medium --vcpus 2 --ram 4096 --disk 40 \
--property quota:vif_outbound_average=$(( 300 * 125 )) \
--property quota:vif_outbound_peak=$(( 300 * 375 )) \
--property quota:vif_outbound_burst=$(( 300 * 375 )) \
--property quota:vif_inbound_average=$(( 300 * 125 )) \
--property quota:vif_inbound_peak=$(( 300 * 375 )) \
--property quota:vif_inbound_burst=$(( 300 * 375 )) \
--property quota:disk_total_iops_sec=800 \
--property quota:disk_total_bytes_sec=$(( 70 * 1048576 ))
# server create
openstack server create --image ubuntu --network test-net --flavor medium test-ubuntu
# perform tests
$ iperf3 -c "ip_address_of_iperf3_server"
$ dd if=/dev/zero of=1GB bs=64k count=16k conv=fdatasync
$ fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=test --bs=4k --iodepth=64 --size=1000M --readwrite=randrw --rwmixread=75
Expected result
===============
Network bandwidh will be limited under 300Mbps.
Disk iops will be limited under 800.
Disk bandwidh will be limited under 70MBps.
Actual result
=============
Network bandwidh was limited under 300Mbps.
Disk iops was unlimited.
Disk bandwidth was unlimited.
Environment
===========
1. Nova's version
- nova-compute)[nova@comp01 /]$ rpm -qa | grep openstack-nova
+ (nova-compute)[nova@comp01 /]$ rpm -qa | grep nova
+ python2-novaclient-9.1.1-1.el7.noarch
openstack-nova-compute-16.0.3-2.el7.noarch
+ python-nova-16.0.3-2.el7.noarch
openstack-nova-common-16.0.3-2.el7.noarch
2. hypervisor
(nova-libvirt)[root@comp01 /]# rpm -qa | grep kvm
qemu-kvm-common-ev-2.9.0-16.el7_4.13.1.x86_64
libvirt-daemon-kvm-3.2.0-14.el7_4.7.x86_64
qemu-kvm-ev-2.9.0-16.el7_4.13.1.x86_64
2. Storage
(ceph-osd-0)[root@stor01 /]# ceph --version
ceph version 12.2.2 (cf0baeeeeba3b47f9427c6c97e2144b094b7e5ba) luminous (stable)
3. Networking
Neutron with OpenVSwitch
Logs & Configs
==============
Please see following paste:
http://paste.openstack.org/show/677319/
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1750319
Title:
libvirt.driver doesn't make <iotune> when using extra_specs of flavor
Status in OpenStack Compute (nova):
New
Bug description:
Description
===========
I use pike release.
I tried to use extra_specs of flavors to limit instance's disk io and network bandwidth by using "Disk tuning" and "Bandwidth I/O".
But "Disk tuning" was not worked and only "Bandwidth I/O" worked.
I turned debug=on, and found nova.virt.libvirt.driver makes only
<bandwith> in _get_guest_xml, without <iotune>.
And I tried to use volume-type qos with image property to limit disk
bandwith and iops, it works well as I expected.
Steps to reproduce
==================
# make flavor with extra_specs
openstack flavor create medium --vcpus 2 --ram 4096 --disk 40 \
--property quota:vif_outbound_average=$(( 300 * 125 )) \
--property quota:vif_outbound_peak=$(( 300 * 375 )) \
--property quota:vif_outbound_burst=$(( 300 * 375 )) \
--property quota:vif_inbound_average=$(( 300 * 125 )) \
--property quota:vif_inbound_peak=$(( 300 * 375 )) \
--property quota:vif_inbound_burst=$(( 300 * 375 )) \
--property quota:disk_total_iops_sec=800 \
--property quota:disk_total_bytes_sec=$(( 70 * 1048576 ))
# server create
openstack server create --image ubuntu --network test-net --flavor medium test-ubuntu
# perform tests
$ iperf3 -c "ip_address_of_iperf3_server"
$ dd if=/dev/zero of=1GB bs=64k count=16k conv=fdatasync
$ fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=test --bs=4k --iodepth=64 --size=1000M --readwrite=randrw --rwmixread=75
Expected result
===============
Network bandwidh will be limited under 300Mbps.
Disk iops will be limited under 800.
Disk bandwidh will be limited under 70MBps.
Actual result
=============
Network bandwidh was limited under 300Mbps.
Disk iops was unlimited.
Disk bandwidth was unlimited.
Environment
===========
1. Nova's version
(nova-compute)[nova@comp01 /]$ rpm -qa | grep nova
python2-novaclient-9.1.1-1.el7.noarch
openstack-nova-compute-16.0.3-2.el7.noarch
python-nova-16.0.3-2.el7.noarch
openstack-nova-common-16.0.3-2.el7.noarch
2. hypervisor
(nova-libvirt)[root@comp01 /]# rpm -qa | grep kvm
qemu-kvm-common-ev-2.9.0-16.el7_4.13.1.x86_64
libvirt-daemon-kvm-3.2.0-14.el7_4.7.x86_64
qemu-kvm-ev-2.9.0-16.el7_4.13.1.x86_64
2. Storage
(ceph-osd-0)[root@stor01 /]# ceph --version
ceph version 12.2.2 (cf0baeeeeba3b47f9427c6c97e2144b094b7e5ba) luminous (stable)
3. Networking
Neutron with OpenVSwitch
Logs & Configs
==============
Please see following paste:
http://paste.openstack.org/show/677319/
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1750319/+subscriptions
Follow ups