Bug 706922 - VDSM - Add custom property for Disk-VirtIO-Cache
Summary: VDSM - Add custom property for Disk-VirtIO-Cache
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: vdsm
Version: 6.1
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Shahar Havivi
QA Contact: Dafna Ron
URL:
Whiteboard:
Depends On:
Blocks: 666157
TreeView+ depends on / blocked
 
Reported: 2011-05-23 13:38 UTC by Shahar Havivi
Modified: 2011-12-06 07:19 UTC (History)
7 users (show)

Fixed In Version: vdsm-4.9-69.el6
Doc Type: Enhancement
Doc Text:
Due to a change in RHEL 6's kvm, A Windows guest with virtio disk driver from RHEV-2.2 would hang in the Blue Screen of Death on boot. To avoid that, start up the guest with a custom property vioDiskCache=writethrough, install a newer virtio driver, and run the VM again with vioDiskCache custom property dropped.
Clone Of:
Environment:
Last Closed: 2011-12-06 07:19:07 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHEA-2011:1782 0 normal SHIPPED_LIVE new packages: vdsm 2011-12-06 11:55:51 UTC

Description Shahar Havivi 2011-05-23 13:38:40 UTC
Due to a change in RHEL 6, the 2.2 disk virtio driver causes Windows VMs to BSOD on boot.

The solution is adding cache=writethrough to driver property.

RHEV-M will pass custom property vioDiskCache=<type> ("none", "writethrough" and "writeback").

Comment 2 Shahar Havivi 2011-05-24 08:43:07 UTC
http://gerrit.usersys.redhat.com/457

Comment 6 Dafna Ron 2011-05-30 12:44:44 UTC
checked in ic119
vdsm-4.9-70.el6.x86_64

the vioDiskCache does not exist.
Danken said that it might show as custom_something but I am not seeing that also. 

I am seeing:  'boot': 'c', 'custom': 


if this is the flag we are looking for please put bug in assigned - meanwhile I am moving back to assigned





Thread-64716::DEBUG::2011-05-30 15:27:03,464::clientIF::50::vds::(wrapper) [10.35.70.6]::call create with ({'bridge': 'rhevm', 'acpiEnable': 'true', 'emulatedMachine': 'rhel6.0.
0', 'tabletEnable': 'true', 'vmId': '0c6d60cc-bf1b-4679-b475-1494ff68b5d5', 'transparentHugePages': 'false', 'spiceSslCipherSuite': 'DEFAULT', 'cpuType': 'Opteron_G2', 'smp': '1
', 'macAddr': '00:1a:4a:16:84:13', 'boot': 'c', 'custom': {}, 'vmType': 'kvm', 'memSize': 512, 'smpCoresPerSocket': '1', 'vmName': 'DISK_HERE', 'spiceMonitors': '1', 'nice': '0'
, 'drives': [{'domainID': 'e1128fd2-07ed-4b56-a771-579be5246185', 'format': 'cow', 'bus': '0', 'boot': 'true', 'volumeID': 'f5bc51d8-4733-4e4d-b818-5ddaf9079cee', 'imageID': '08
58d4d4-f78a-4d3e-9cd7-f6ee1369fdb4', 'poolID': 'bb0c60f3-0df2-4305-a81e-e0df186bfab7', 'propagateErrors': 'off', 'if': 'virtio'}], 'cdrom': '/rhev/data-center/bb0c60f3-0df2-4305
-a81e-e0df186bfab7/47172803-d3ee-421b-9f47-764d2580bd4e/images/11111111-1111-1111-1111-111111111111/RHEV-toolsSetup_2.3_395.iso', 'nicModel': 'pv', 'keyboardLayout': 'en-us', 'k
vmEnable': 'true', 'soundDevice': 'ac97', 'timeOffset': '0', 'spiceSecureChannels': 'smain,sinputs', 'display': 'vnc'},) {}





Thread-64716::DEBUG::2011-05-30 15:27:03,503::clientIF::55::vds::(wrapper) return create with {'status': {'message': 'Done', 'code': 0}, 'vmList': {'cdrom': '/rhev/data-center/b
b0c60f3-0df2-4305-a81e-e0df186bfab7/47172803-d3ee-421b-9f47-764d2580bd4e/images/11111111-1111-1111-1111-111111111111/RHEV-toolsSetup_2.3_395.iso', 'bridge': 'rhevm', 'acpiEnable
': 'true', 'emulatedMachine': 'rhel6.0.0', 'tabletEnable': 'true', 'pid': '0', 'drives': [{'domainID': 'e1128fd2-07ed-4b56-a771-579be5246185', 'format': 'cow', 'bus': '0', 'boot
': 'true', 'volumeID': 'f5bc51d8-4733-4e4d-b818-5ddaf9079cee', 'imageID': '0858d4d4-f78a-4d3e-9cd7-f6ee1369fdb4', 'poolID': 'bb0c60f3-0df2-4305-a81e-e0df186bfab7', 'propagateErr
ors': 'off', 'if': 'virtio'}], 'transparentHugePages': 'false', 'keyboardLayout': 'en-us', 'displaySecurePort': '-1', 'displayPort': '-1', 'cpuType': 'Opteron_G2', 'custom': {},
 'clientIp': '', 'nicModel': 'pv', 'soundDevice': 'ac97', 'macAddr': '00:1a:4a:16:84:13', 'kvmEnable': 'true', 'vmId': '0c6d60cc-bf1b-4679-b475-1494ff68b5d5', 'boot': 'c', 'smp'
: '1', 'vmType': 'kvm', 'spiceSslCipherSuite': 'DEFAULT', 'status': 'WaitForLaunch', 'timeOffset': '0', 'memSize': 512, 'displayIp': '0', 'spiceSecureChannels': 'smain,sinputs',
 'smpCoresPerSocket': '1', 'vmName': 'DISK_HERE', 'display': 'vnc', 'spiceMonitors': '1', 'nice': '0'}}

Comment 7 Dan Kenigsberg 2011-05-30 13:02:18 UTC
It is the other way around. You pass 'custom': {}, which means NO custom property. Please set a custom property of viodiskcache=writethrough for this VM, and see what happens.

Comment 8 Dafna Ron 2011-05-30 13:33:50 UTC
verified on ic119

the problem was that the viodiskcache is in all lower case letters and I tried adding it as VioDiskCache. 

I can add this to the custom properties of the VM and can see it in vdsm log:


custom': {'viodiskcache': 'writethrough'}


Thread-6552::INFO::2011-05-30 16:20:54,083::blockSD::617::Storage.StorageDomain::(validate) sdUUID=e1128fd2-07ed-4b56-a771-579be5246185
Thread-67181::DEBUG::2011-05-30 16:20:54,310::clientIF::50::vds::(wrapper) [10.35.70.6]::call create with ({'bridge': 'rhevm', 'acpiEnable': 'true', 'emulatedMachine': 'rhel6.0.
0', 'tabletEnable': 'true', 'vmId': '0c6d60cc-bf1b-4679-b475-1494ff68b5d5', 'transparentHugePages': 'false', 'spiceSslCipherSuite': 'DEFAULT', 'cpuType': 'Opteron_G2', 'smp': '1
', 'macAddr': '00:1a:4a:16:84:13', 'boot': 'c', 'custom': {'viodiskcache': 'writethrough'}, 'vmType': 'kvm', 'memSize': 512, 'smpCoresPerSocket': '1', 'vmName': 'DISK_HERE', 'sp
iceMonitors': '1', 'nice': '0', 'drives': [{'domainID': 'e1128fd2-07ed-4b56-a771-579be5246185', 'format': 'cow', 'bus': '0', 'boot': 'true', 'volumeID': 'f5bc51d8-4733-4e4d-b818
-5ddaf9079cee', 'imageID': '0858d4d4-f78a-4d3e-9cd7-f6ee1369fdb4', 'poolID': 'bb0c60f3-0df2-4305-a81e-e0df186bfab7', 'propagateErrors': 'off', 'if': 'virtio'}], 'cdrom': '/rhev/
data-center/bb0c60f3-0df2-4305-a81e-e0df186bfab7/47172803-d3ee-421b-9f47-764d2580bd4e/images/11111111-1111-1111-1111-111111111111/RHEV-toolsSetup_2.3_395.iso', 'nicModel': 'pv',
 'keyboardLayout': 'en-us', 'kvmEnable': 'true', 'soundDevice': 'ac97', 'timeOffset': '0', 'spiceSecureChannels': 'smain,sinputs', 'display': 'vnc'},) {}
Thread-67181::INFO::2011-05-30 16:20:54,343::clientIF::507::vds::(_getNetworkIp) network None: using 0

Comment 11 Dafna Ron 2011-05-30 14:10:43 UTC
it's in both qemu and libvirt:


libvirt: 

<driver cache="writethrough" error_policy="stop" io="native" name="qemu" type="qcow2"/>



qemu - VM log: 

cache=writethrough


full VM qemu log:

LC_ALL=C PATH=/sbin:/usr/sbin:/bin:/usr/bin QEMU_AUDIO_DRV=none /usr/libexec/qemu-kvm -S -M rhel6.0.0 -cpu Opteron_G2 -enable-nesting -enable-kvm -m 512 -smp 1,sockets=1,cores=1,threads=1 -name DISK_HERE -uuid 0c6d60cc-bf1b-4679-b475-1494ff68b5d5 -smbios type=1,manufacturer=Red Hat,product=RHEL,version=6Server-6.1.0.2.el6,serial=44454C4C-3800-1046-8035-B4C04F34344A_00:22:19:14:7E:B8,uuid=0c6d60cc-bf1b-4679-b475-1494ff68b5d5 -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/DISK_HERE.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=2011-05-30T14:01:09 -boot c -device virtio-serial-pci,id=virtio-serial0,max_ports=16,bus=pci.0,addr=0x5 -drive file=/rhev/data-center/bb0c60f3-0df2-4305-a81e-e0df186bfab7/e1128fd2-07ed-4b56-a771-579be5246185/images/0858d4d4-f78a-4d3e-9cd7-f6ee1369fdb4/26ea7965-0566-4e16-adb2-b5f2fea13f15,if=none,id=drive-virtio-disk0,format=qcow2,serial=3e-9cd7-f6ee1369fdb4,cache=writethrough,werror=stop,rerror=stop,aio=native -device virtio-blk-pci,bus=pci.0,addr=0x6,drive=drive-virtio-disk0,id=virtio-disk0 -drive file=/rhev/data-center/bb0c60f3-0df2-4305-a81e-e0df186bfab7/47172803-d3ee-421b-9f47-764d2580bd4e/images/11111111-1111-1111-1111-111111111111/RHEV-toolsSetup_2.3_395.iso,if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -netdev tap,fd=23,id=hostnet0,vhost=on,vhostfd=24 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=00:1a:4a:16:84:13,bus=pci.0,addr=0x3 -chardev socket,id=charchannel0,path=/var/lib/libvirt/qemu/channels/DISK_HERE.com.redhat.rhevm.vdsm,server,nowait -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.rhevm.vdsm -usb -device usb-tablet,id=input0 -vnc 0:0,password -k en-us -vga cirrus -device AC97,id=sound0,bus=pci.0,addr=0x4

Comment 12 Dan Kenigsberg 2011-11-23 10:30:03 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
Due to a change in RHEL 6's kvm, A Windows guest with virtio disk driver from RHEV-2.2 would hang in the Blue Screen of Death on boot.
To avoid that, start up the guest with a custom property  vioDiskCache=writethrough, install a newer virtio driver, and run the VM again with vioDiskCache custom property dropped.

Comment 13 errata-xmlrpc 2011-12-06 07:19:07 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

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

http://rhn.redhat.com/errata/RHEA-2011-1782.html


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