Bug 1546824 - Enable caching for disks with non-native IO
Summary: Enable caching for disks with non-native IO
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: ovirt-engine
Classification: oVirt
Component: BLL.Virt
Version: 4.2.1
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ovirt-4.2.2
: ---
Assignee: Arik
QA Contact: Polina
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-02-19 16:44 UTC by Arik
Modified: 2018-03-29 11:10 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-03-29 11:10:19 UTC
oVirt Team: Virt
Embargoed:
rule-engine: ovirt-4.2+
rule-engine: blocker+


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
oVirt gerrit 87837 0 None None None 2018-02-21 16:45:12 UTC
oVirt gerrit 87838 0 None None None 2018-02-21 16:43:54 UTC
oVirt gerrit 87861 0 master MERGED vm: set caching of disks according to the engine xml 2018-02-22 17:02:53 UTC
oVirt gerrit 88148 0 ovirt-4.2 MERGED vm: set caching of disks according to the engine xml 2018-02-27 09:53:05 UTC
oVirt gerrit 88150 0 ovirt-engine-4.2 MERGED core: cache vm custom properties when building engine xml 2018-02-26 12:56:40 UTC
oVirt gerrit 88151 0 ovirt-engine-4.2 MERGED core: respect viodiskcache with engine xml 2018-02-26 12:56:45 UTC

Description Arik 2018-02-19 16:44:54 UTC
The switch to engine XML broke the setting of cache for disks that are set with non-native IO.

Comment 1 Yaniv Kaul 2018-02-21 11:51:34 UTC
Currently, viodiskcache property does not work on 4.2 - setting Regression keyword.

Comment 2 Red Hat Bugzilla Rules Engine 2018-02-21 16:44:00 UTC
This bug report has Keywords: Regression or TestBlocker.
Since no regressions or test blockers are allowed between releases, it is also being identified as a blocker for this release. Please resolve ASAP.

Comment 3 Polina 2018-03-18 07:16:07 UTC
verified on build rhv-release-4.2.2-4-001.noarch

1. Create disk (Storage /Disks/Images) with profile nfs_0, Interface VirtIO.
2. Create VM with this disk.
3. Create Custom Property "viodiskcach = none"
3. On host run <virsh -r dumpxml 21>
    result:
    <ovirt-vm:custom>
        <ovirt-vm:viodiskcache>none</ovirt-vm:viodiskcache>
    </ovirt-vm:custom>
4. change the value of Custom Property "viodiskcach = writeback"
    result:
    <ovirt-vm:custom>
        <ovirt-vm:viodiskcache>writeback</ovirt-vm:viodiskcache>
    </ovirt-vm:custom>
5. change the value of Custom Property "viodiskcach = writethrough"
    result:
     <ovirt-vm:custom>
        <ovirt-vm:viodiskcache>writethrough</ovirt-vm:viodiskcache>
    </ovirt-vm:custom>

The same steps are performed with VirtIO-SCSI Interface disk.

Comment 4 Arik 2018-03-18 07:36:00 UTC
(In reply to Polina from comment #3)
> verified on build rhv-release-4.2.2-4-001.noarch
> 
> 1. Create disk (Storage /Disks/Images) with profile nfs_0, Interface VirtIO.
> 2. Create VM with this disk.
> 3. Create Custom Property "viodiskcach = none"
> 3. On host run <virsh -r dumpxml 21>
>     result:
>     <ovirt-vm:custom>
>         <ovirt-vm:viodiskcache>none</ovirt-vm:viodiskcache>
>     </ovirt-vm:custom>
> 4. change the value of Custom Property "viodiskcach = writeback"
>     result:
>     <ovirt-vm:custom>
>         <ovirt-vm:viodiskcache>writeback</ovirt-vm:viodiskcache>
>     </ovirt-vm:custom>
> 5. change the value of Custom Property "viodiskcach = writethrough"
>     result:
>      <ovirt-vm:custom>
>         <ovirt-vm:viodiskcache>writethrough</ovirt-vm:viodiskcache>
>     </ovirt-vm:custom>
> 
> The same steps are performed with VirtIO-SCSI Interface disk.

Polina, please verify that the cache is set in the 'driver' element of the 'disk'. It should be something like:
<disk ... >
 ...
 <driver cache="writethrough" ... />
 ...
</disk>

Comment 5 Polina 2018-03-18 08:27:44 UTC
yes, it appears under disk element:

    <disk type='file' device='cdrom'>
      <driver error_policy='report'/>
      <source startupPolicy='optional'/>
      <target dev='hdc' bus='ide'/>
      <readonly/>
      <alias name='ua-fc8fd256-bcf9-4994-bced-353c56e67334'/>
      <address type='drive' controller='0' bus='1' target='0' unit='0'/>
    </disk>
    <disk type='file' device='disk' snapshot='no'>
      <driver name='qemu' type='raw' cache='writeback' error_policy='stop' io='threads'/>
      <source file='/rhev/data-center/mnt/yellow-vdsb.qa.lab.tlv.redhat.com:_Compute__NFS_GE_compute-ge-3_nfs__0/8ac34f0b-b74a-48b7-bb81-9f5d112cf196/images/43ef6129-cc20-459a-bcce-fa5d9cff2962/a2510013-7c45-4b04-9c0a-93c83a3e9790'/>
      <backingStore/>
      <target dev='vda' bus='virtio'/>
      <serial>43ef6129-cc20-459a-bcce-fa5d9cff2962</serial>
      <alias name='ua-43ef6129-cc20-459a-bcce-fa5d9cff2962'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </disk>

Comment 6 Arik 2018-03-18 08:35:36 UTC
(In reply to Polina from comment #5)
Thanks, so that is verified then.

Comment 7 Sandro Bonazzola 2018-03-29 11:10:19 UTC
This bugzilla is included in oVirt 4.2.2 release, published on March 28th 2018.

Since the problem described in this bug report should be
resolved in oVirt 4.2.2 release, it has been closed with a resolution of CURRENT RELEASE.

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


Note You need to log in before you can comment on or make changes to this bug.