Reviewed: https://review.opendev.org/682772 Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=af2405e1181d70cdf60bcd0e40b3e80f2db2e3a6 Submitter: Zuul Branch: master
commit af2405e1181d70cdf60bcd0e40b3e80f2db2e3a6 Author: Arthur Dayne <[email protected]> Date: Tue Sep 17 19:08:59 2019 +0800 libvirt:driver:Disallow AIO=native when 'O_DIRECT' is not available Because of the libvirt issue[1], there is a bug[2] that if we set cache mode whose write semantic is not O_DIRECT (.i.e unsafe, writeback or writethrough), there will be a problem with the volume drivers (.i.e nova.virt.libvirt.volume.LibvirtISCSIVolumeDriver, nova.virt.libvirt.volume.LibvirtNFSVolumeDriver and so on), which designate native io explicitly. That problem will generate a libvirt xml for the instance, whose content contains ``` ... <disk ... > <driver ... cache='unsafe/writeback/writethrough' io='native' /> </disk> ... ``` In turn, it will fail to start the instance or attach the disk. > When qemu is configured with a block device that has aio=native set, but > the cache mode doesn't use O_DIRECT (i.e. isn't cache=none/directsync or any > unnamed mode with explicit cache.direct=on), then the raw-posix block driver > for local files and block devices will silently fall back to aio=threads. > The blockdev-add interface rejects such combinations, but qemu can't > change the existing legacy interfaces that libvirt uses today. [1]: https://github.com/libvirt/libvirt/commit/058384003db776c580d0e5a3016a6384e8eb7b92 [2]: https://bugzilla.redhat.com/show_bug.cgi?id=1086704 Closes-Bug: #1841363 Change-Id: If9acc054100a6733f3659a15dd9fc2d462e84d64 ** Changed in: nova Status: In Progress => Fix Released ** Bug watch added: Red Hat Bugzilla #1086704 https://bugzilla.redhat.com/show_bug.cgi?id=1086704 -- 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/1841363 Title: nova cannot attach volume whose source_type='block' when setting disk_cache_modes as writethrough or writeback Status in OpenStack Compute (nova): Fix Released Bug description: Wheh nova.conf is set as ... [libvirt] ... disk_cachemodes = block=writethrough ... OR [libvirt] ... disk_cachemodes = block=writeback ... Nova cannot attache volume whose source_type is 'block', because of a libvirt issue: https://bugzilla.redhat.com/show_bug.cgi?id=1086704 To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1841363/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : [email protected] Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp

