The libvirt driver is ignoring the 'disk_cachemodes' configuration setting and is always setting "cache='none'" in the device xml.
For example, with a setting in nova.conf of "disk_cachemodes=network=writeback":
Expected result:
# virsh dumpxml <instance> | grep cache <driver name='qemu' type='raw' cache='writeback' discard='unmap'/> <driver name='qemu' type='raw' cache='writeback' discard='unmap'/> <driver name='qemu' type='raw' cache='writeback' discard='unmap'/> <driver name='qemu' type='raw' cache='writeback' discard='unmap'/>
Actual result:
# virsh dumpxml <instance> | grep cache <driver name='qemu' type='raw' cache='none' discard='unmap'/> <driver name='qemu' type='raw' cache='none' discard='unmap'/> <driver name='qemu' type='raw' cache='none' discard='unmap'/> <driver name='qemu' type='raw' cache='none' discard='unmap'/>
This is a regression in pike [1] that was also backported to ocata and newton.
[1] https://review.openstack.org/#/c/485752
The libvirt driver is ignoring the 'disk_cachemodes' configuration setting and is always setting "cache='none'" in the device xml.
For example, with a setting in nova.conf of "disk_cachemode s=network= writeback" :
Expected result:
# virsh dumpxml <instance> | grep cache
<driver name='qemu' type='raw' cache='writeback' discard='unmap'/>
<driver name='qemu' type='raw' cache='writeback' discard='unmap'/>
<driver name='qemu' type='raw' cache='writeback' discard='unmap'/>
<driver name='qemu' type='raw' cache='writeback' discard='unmap'/>
Actual result:
# virsh dumpxml <instance> | grep cache
<driver name='qemu' type='raw' cache='none' discard='unmap'/>
<driver name='qemu' type='raw' cache='none' discard='unmap'/>
<driver name='qemu' type='raw' cache='none' discard='unmap'/>
<driver name='qemu' type='raw' cache='none' discard='unmap'/>
This is a regression in pike [1] that was also backported to ocata and newton.
[1] https:/ /review. openstack. org/#/c/ 485752