Bug 1057658
| Summary: | vdsm: vm pauses on permission error when boot drive is changed to read-only | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Retired] oVirt | Reporter: | Dafna Ron <dron> | ||||
| Component: | vdsm | Assignee: | Sergey Gotliv <sgotliv> | ||||
| Status: | CLOSED NOTABUG | QA Contact: | Aharon Canan <acanan> | ||||
| Severity: | urgent | Docs Contact: | |||||
| Priority: | unspecified | ||||||
| Version: | unspecified | CC: | abaron, acathrow, bazulay, gklein, iheim, mgoldboi, yeylon | ||||
| Target Milestone: | --- | Keywords: | Triaged | ||||
| Target Release: | 3.4.0 | ||||||
| Hardware: | x86_64 | ||||||
| OS: | Linux | ||||||
| Whiteboard: | storage | ||||||
| Fixed In Version: | Doc Type: | Bug Fix | |||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2014-02-25 09:20:18 UTC | Type: | Bug | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | Storage | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Embargoed: | |||||||
| Attachments: |
|
||||||
Setting target release to current version for consideration and review. please do not push non-RFE bugs to an undefined target release to make sure bugs are reviewed for relevancy, fix, closure, etc. You cannot boot from a read only disk, unless your file system is specifically built for this (e.g. iso). I just understood that the permission error is in the guest side. This is not an oVirt bug (well, not a bug in general). If you want to boot from a read only disk you need to make sure you have a read only filesystem on it that you can boot from. The "KeyError: 'domainID'" has nothing to do with this issue and was handled in a different bug (teardown of cdrom through this error). |
Created attachment 855006 [details] logs Description of problem: I created a vm and installed rhel on it's drive. after installation finished I shut down the vm and changed the drive to read-only disk and booted the vm the vm starts to run and than pauses with "unknown storage error" VM Dafna1 has paused due to unknown storage error. looking at vdsm log, we only see a warning: Drive is not a vdsm image looking at qemu log we can see block I/O error in device 'drive-virtio-disk0': Permission denied (13 Version-Release number of selected component (if applicable): vdsm-4.14.1-2.el6.x86_64 libvirt-0.10.2-29.el6.1.x86_64 [root@cougar06 ~]# rpm -qa |grep qemu qemu-img-rhev-0.12.1.2-2.415.el6.3.x86_64 gpxe-roms-qemu-0.9.7-6.10.el6.noarch qemu-kvm-rhev-tools-0.12.1.2-2.415.el6.3.x86_64 qemu-kvm-rhev-0.12.1.2-2.415.el6.3.x86_64 How reproducible: 100% Steps to Reproduce: 1. create a vm and install rhel 2. shut down the vm and change the disk to read-only 3. start the vm Actual results: vm pauses with "unknown storage error" and permission denied from qemu Expected results: 1. not sure we should not be able to mount the fs if the disk is RO 2. even if we don't we need to print an appropriate ERROR in vdsm log 3. engine should propagate the error to user Additional info: Thread-48815::WARNING::2014-01-24 16:50:49,159::clientIF::332::vds::(teardownVolumePath) Drive is not a vdsm image: VOLWM_CHUNK_MB:1024 VOLWM_CHUNK_REPLICATE_MULT:2 VOLWM_FREE_PCT:50 _blockDev:False _checkIoTuneCategories:<bound method D rive._checkIoTuneCategories of <vm.Drive object at 0x7fa9cc2eff90>> _customize:<bound method Drive._customize of <vm.Drive object at 0x7fa9cc2eff90>> _deviceXML:<disk device="cdrom" snapshot="no" type="file"><source file="" startupPolicy ="optional"/><target bus="ide" dev="hdc"/><readonly/><serial></serial></disk> _makeName:<bound method Drive._makeName of <vm.Drive object at 0x7fa9cc2eff90>> _setExtSharedState:<bound method Drive._setExtSharedState of <vm.Drive object a t 0x7fa9cc2eff90>> _validateIoTuneParams:<bound method Drive._validateIoTuneParams of <vm.Drive object at 0x7fa9cc2eff90>> address:{u'bus': u'1', u'controller': u'0', u'type': u'drive', u'target': u'0', u'unit': u'0'} alias:ide0-1-0 appa rentsize:0 blockDev:False cache:none conf:{'status': 'Powering down', 'acpiEnable': 'true', 'emulatedMachine': 'rhel6.5.0', 'vmId': '32cbcdbf-f95a-48b9-9826-b7a4a7973372', 'pid': '18078', 'memGuaranteedSize': 1024, 'timeOffset': '0', 'ke yboardLayout': 'en-us', 'displayPort': u'5900', 'displaySecurePort': u'5901', 'spiceSslCipherSuite': 'DEFAULT', 'cpuType': 'Opteron_G2', 'custom': {}, 'pauseCode': 'NOERR', 'clientIp': '', 'nicModel': 'rtl8139,pv', 'smartcardEnable': 'fa lse', 'kvmEnable': 'true', 'transparentHugePages': 'true', 'devices': [{'target': 1048576, 'alias': u'balloon0', 'specParams': {'model': 'virtio'}, 'deviceId': '0185191c-4360-46cc-b476-78e2b15a1600', 'address': {u'slot': u'0x07', u'bus': u'0x00', u'domain': u'0x0000', u'type': u'pci', u'function': u'0x0'}, 'device': 'memballoon', 'type': 'balloon'}, {'index': '0', 'alias': u'scsi0', 'specParams': {}, 'deviceId': '94dc288c-318f-4e34-98df-0a61b06f9713', 'address': {u'slot ': u'0x04', u'bus': u'0x00', u'domain': u'0x0000', u'type': u'pci', u'function': u'0x0'}, 'device': 'scsi', 'model': 'virtio-scsi', 'type': 'controller'}, {'alias': u'video0', 'specParams': {'vram': '32768', 'heads': '1'}, 'deviceId': '1 0e292e0-3dc6-4707-951a-aa5b67ce1ea0', 'address': {u'slot': u'0x02', u'bus': u'0x00', u'domain': u'0x0000', u'type': u'pci', u'function': u'0x0'}, 'device': 'qxl', 'type': 'video'}, {'nicModel': 'pv', 'macAddr': '00:1a:4a:73:36:7a', 'link Active': True, 'network': 'ovirtmgmt', 'alias': u'net0', 'bootOrder': '1', 'filter': 'vdsm-no-mac-spoofing', 'specParams': {}, 'deviceId': '46de1b0f-e15b-48be-95b1-214d21731b7b', 'address': {u'slot': u'0x03', u'bus': u'0x00', u'domain': u'0x0000', u'type': u'pci', u'function': u'0x0'}, 'device': 'bridge', 'type': 'interface', 'name': u'vnet0'}, {'index': '2', 'iface': 'ide', 'name': u'hdc', 'alias': u'ide0-1-0', 'address': {u'bus': u'1', u'controller': u'0', u'type': u' drive', u'target': u'0', u'unit': u'0'}, 'specParams': {'path': ''}, 'readonly': 'True', 'deviceId': '92b91f6c-1d4c-4b0c-bfed-18e5b8571e8a', 'path': '', 'device': 'cdrom', 'shared': 'false', 'type': 'disk'}, {'address': {u'slot': u'0x06' , u'bus': u'0x00', u'domain': u'0x0000', u'type': u'pci', u'function': u'0x0'}, 'volumeInfo': {'domainID': 'be5731ac-ce60-4302-ab04-99573f6799e4', 'volType': 'path', 'leaseOffset': 0, 'path': '/rhev/data-center/mnt/lion.qa.lab.tlv.redhat .com:_export_Dafna_domain/be5731ac-ce60-4302-ab04-99573f6799e4/images/a1d120fa-6b77-4ea6-aad8-43211dc78034/15de3475-0971-4efb-81ff-467595a0bae4', 'volumeID': '15de3475-0971-4efb-81ff-467595a0bae4', 'leasePath': '/rhev/data-center/mnt/lio n.qa.lab.tlv.redhat.com:_export_Dafna_domain/be5731ac-ce60-4302-ab04-99573f6799e4/images/a1d120fa-6b77-4ea6-aad8-43211dc78034/15de3475-0971-4efb-81ff-467595a0bae4.lease', 'imageID': 'a1d120fa-6b77-4ea6-aad8-43211dc78034'}, 'index': 0, 'i face': 'virtio', 'apparentsize': '4294967296', 'alias': u'virtio-disk0', 'imageID': 'a1d120fa-6b77-4ea6-aad8-43211dc78034', 'readonly': 'False', 'shared': 'false', 'truesize': '0', 'type': 'disk', 'domainID': 'be5731ac-ce60-4302-ab04-995 73f6799e4', 'reqsize': '0', 'format': 'raw', 'deviceId': 'a1d120fa-6b77-4ea6-aad8-43211dc78034', 'poolID': '6fe33247-68e1-4e46-be2a-ab90ab4384e3', 'device': 'disk', 'path': '/rhev/data-center/mnt/lion.qa.lab.tlv.redhat.com:_export_Dafna_ domain/be5731ac-ce60-4302-ab04-99573f6799e4/images/a1d120fa-6b77-4ea6-aad8-43211dc78034/15de3475-0971-4efb-81ff-467595a0bae4', 'propagateErrors': 'off', 'optional': 'false', 'name': u'vda', 'bootOrder': u'2', 'volumeID': '15de3475-0971-4 efb-81ff-467595a0bae4', 'specParams': {}, 'volumeChain': [{'domainID': 'be5731ac-ce60-4302-ab04-99573f6799e4', 'volType': 'path', 'leaseOffset': 0, 'path': '/rhev/data-center/mnt/lion.qa.lab.tlv.redhat.com:_export_Dafna_domain/be5731ac-c e60-4302-ab04-99573f6799e4/images/a1d120fa-6b77-4ea6-aad8-43211dc78034/15de3475-0971-4efb-81ff-467595a0bae4', 'volumeID': '15de3475-0971-4efb-81ff-467595a0bae4', 'leasePath': '/rhev/data-center/mnt/lion.qa.lab.tlv.redhat.com:_export_Dafn a_domain/be5731ac-ce60-4302-ab04-99573f6799e4/images/a1d120fa-6b77-4ea6-aad8-43211dc78034/15de3475-0971-4efb-81ff-467595a0bae4.lease', 'imageID': 'a1d120fa-6b77-4ea6-aad8-43211dc78034'}]}, {'device': u'usb', 'alias': u'usb0', 'type': 'co ntroller', 'address': {u'slot': u'0x01', u'bus': u'0x00', u'domain': u'0x0000', u'type': u'pci', u'function': u'0x2'}}, {'device': u'ide', 'alias': u'ide0', 'type': 'controller', 'address': {u'slot': u'0x01', u'bus': u'0x00', u'domain': u'0x0000', u'type': u'pci', u'function': u'0x1'}}, {'device': u'virtio-serial', 'alias': u'virtio-serial0', 'type': 'controller', 'address': {u'slot': u'0x05', u'bus': u'0x00', u'domain': u'0x0000', u'type': u'pci', u'function': u'0x0'}} , {'device': u'unix', 'alias': u'channel0', 'type': u'channel', 'address': {u'bus': u'0', u'controller': u'0', u'type': u'virtio-serial', u'port': u'1'}}, {'device': u'unix', 'alias': u'channel1', 'type': u'channel', 'address': {u'bus': u'0', u'controller': u'0', u'type': u'virtio-serial', u'port': u'2'}}, {'device': u'spicevmc', 'alias': u'channel2', 'type': u'channel', 'address': {u'bus': u'0', u'controller': u'0', u'type': u'virtio-serial', u'port': u'3'}}], 'smp': ' 1', 'vmType': 'kvm', 'memSize': 1024, 'displayIp': '0', 'spiceSecureChannels': 'smain,sinputs,scursor,splayback,srecord,sdisplay,susbredir,ssmartcard', 'smpCoresPerSocket': '1', 'vmName': 'Dafna1', 'display': 'qxl', 'nice': '0'} createXm lElem:<bound method Drive.createXmlElem of <vm.Drive object at 0x7fa9cc2eff90>> device:cdrom deviceId:92b91f6c-1d4c-4b0c-bfed-18e5b8571e8a drv:raw extSharedState:none getLeasesXML:<bound method Drive.getLeasesXML of <vm.Drive object at 0 x7fa9cc2eff90>> getNextVolumeSize:<bound method Drive.getNextVolumeSize of <vm.Drive object at 0x7fa9cc2eff90>> getXML:<bound method Drive.getXML of <vm.Drive object at 0x7fa9cc2eff90>> hasVolumeLeases:False iface:ide index:2 isDiskRepli cationInProgress:<bound method Drive.isDiskReplicationInProgress of <vm.Drive object at 0x7fa9cc2eff90>> log:<logUtils.SimpleLogAdapter instance at 0x226acb0> name:hdc networkDev:False path: readonly:True reqsize:0 serial: shared:false s pecParams:{'path': ''} transientDisk:False truesize:0 type:cdrom volExtensionChunk:1024 watermarkLimit:536870912 Traceback (most recent call last): File "/usr/share/vdsm/clientIF.py", line 326, in teardownVolumePath res = self.irs.teardownImage(drive['domainID'], File "/usr/share/vdsm/vm.py", line 1493, in __getitem__ raise KeyError(key) KeyError: 'domainID' Thread-48815::INFO::2014-01-24 16:50:49,167::logUtils::44::dispatcher::(wrapper) Run and protect: teardownImage(sdUUID='be5731ac-ce60-4302-ab04-99573f6799e4', spUUID='6fe33247-68e1-4e46-be2a-ab90ab4384e3', imgUUID='a1d120fa-6b77-4ea6-aad 8-43211dc78034', volUUID=None) 2014-01-24 14:51:02.949+0000: starting up LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin QEMU_AUDIO_DRV=spice /usr/libexec/qemu-kvm -name Dafna1 -S -M rhel6.5.0 -cpu Opteron_G2 -enable-kvm -m 1024 -realtime mlock=off -smp 1,sockets=1,cores=1,threads=1 -uuid 32cbcdbf-f95a-48b9-9826-b7a4a7973372 -smbios type=1,manufacturer=oVirt,product=oVirt Node,version=6Server-6.5.0.1.el6,serial=ff3d62d3-d3b7-4f59-82a7-3ae41b750585,uuid=32cbcdbf-f95a-48b9-9826-b7a4a7973372 -nodefconfig -nodefaults - chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/Dafna1.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=2014-01-24T14:51:02,driftfix=slew -no-shutdown -device piix3-usb-uhci,id=usb,bus=pci.0,addr= 0x1.0x2 -device virtio-scsi-pci,id=scsi0,bus=pci.0,addr=0x4 -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x5 -drive if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw,serial= -device ide-drive,bus=ide.1,unit=0,dri ve=drive-ide0-1-0,id=ide0-1-0 -drive file=/rhev/data-center/mnt/lion.qa.lab.tlv.redhat.com:_export_Dafna_domain/be5731ac-ce60-4302-ab04-99573f6799e4/images/a1d120fa-6b77-4ea6-aad8-43211dc78034/15de3475-0971-4efb-81ff-467595a0bae4,if=none ,id=drive-virtio-disk0,readonly=on,format=raw,serial=a1d120fa-6b77-4ea6-aad8-43211dc78034,cache=none,werror=stop,rerror=stop,aio=threads -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x6,drive=drive-virtio-disk0,id=virtio-disk0,bootinde x=2 -netdev tap,fd=28,id=hostnet0,vhost=on,vhostfd=29 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=00:1a:4a:73:36:7a,bus=pci.0,addr=0x3,bootindex=1 -chardev socket,id=charchannel0,path=/var/lib/libvirt/qemu/channels/32cbcdbf-f95a-4 8b9-9826-b7a4a7973372.com.redhat.rhevm.vdsm,server,nowait -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.rhevm.vdsm -chardev socket,id=charchannel1,path=/var/lib/libvirt/qemu/channels/32 cbcdbf-f95a-48b9-9826-b7a4a7973372.org.qemu.guest_agent.0,server,nowait -device virtserialport,bus=virtio-serial0.0,nr=2,chardev=charchannel1,id=channel1,name=org.qemu.guest_agent.0 -chardev spicevmc,id=charchannel2,name=vdagent -device virtserialport,bus=virtio-serial0.0,nr=3,chardev=charchannel2,id=channel2,name=com.redhat.spice.0 -spice port=5900,tls-port=5901,addr=0,x509-dir=/etc/pki/vdsm/libvirt-spice,tls-channel=main,tls-channel=display,tls-channel=inputs,tls-chan nel=cursor,tls-channel=playback,tls-channel=record,tls-channel=smartcard,tls-channel=usbredir,seamless-migration=on -k en-us -vga qxl -global qxl-vga.ram_size=67108864 -global qxl-vga.vram_size=33554432 -device virtio-balloon-pci,id=ball oon0,bus=pci.0,addr=0x7 ((null):20275): Spice-Warning **: reds.c:2719:reds_handle_read_link_done: spice channels 1 should be encrypted main_channel_link: add main channel client main_channel_handle_parsed: net test: latency 91.720000 ms, bitrate 3695843 bps (3.524631 Mbps) LOW BANDWIDTH ((null):20275): Spice-Warning **: reds.c:2719:reds_handle_read_link_done: spice channels 2 should be encrypted ((null):20275): Spice-Warning **: reds.c:2719:reds_handle_read_link_done: spice channels 3 should be encrypted ((null):20275): Spice-Warning **: reds.c:2719:reds_handle_read_link_done: spice channels 4 should be encrypted inputs_connect: inputs channel client create red_dispatcher_set_cursor_peer: block I/O error in device 'drive-virtio-disk0': Permission denied (13) block I/O error in device 'drive-virtio-disk0': Permission denied (13) block I/O error in device 'drive-virtio-disk0': Permission denied (13) block I/O error in device 'drive-virtio-disk0': Permission denied (13) block I/O error in device 'drive-virtio-disk0': Permission denied (13) block I/O error in device 'drive-virtio-disk0': Permission denied (13) block I/O error in device 'drive-virtio-disk0': Permission denied (13) block I/O error in device 'drive-virtio-disk0': Permission denied (13) block I/O error in device 'drive-virtio-disk0': Permission denied (13) block I/O error in device 'drive-virtio-disk0': Permission denied (13) block I/O error in device 'drive-virtio-disk0': Permission denied (13) block I/O error in device 'drive-virtio-disk0': Permission denied (13) block I/O error in device 'drive-virtio-disk0': Permission denied (13) block I/O error in device 'drive-virtio-disk0': Permission denied (13) block I/O error in device 'drive-virtio-disk0': Permission denied (13) block I/O error in device 'drive-virtio-disk0': Permission denied (13) block I/O error in device 'drive-virtio-disk0': Permission denied (13) block I/O error in device 'drive-virtio-disk0': Permission denied (13) block I/O error in device 'drive-virtio-disk0': Permission denied (13) :