Bug 2076047

Summary: Disk convert on block type might raise "No space left on device" and fail to convert
Product: [oVirt] ovirt-engine Reporter: sshmulev
Component: BLL.StorageAssignee: Benny Zlotnik <bzlotnik>
Status: CLOSED CURRENTRELEASE QA Contact: Ilia Markelov <imarkelo>
Severity: high Docs Contact:
Priority: unspecified    
Version: 4.5.0.2CC: ahadas, bugs, bzlotnik, sfishbai
Target Milestone: ovirt-4.5.1Keywords: ZStream
Target Release: ---Flags: pm-rhel: ovirt-4.5?
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: ovirt-engine-4.5.1 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-06-23 05:54:58 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:

Description sshmulev 2022-04-17 11:38:39 UTC
Description of problem:
When converting a disk of block type (resides on Netapp) - ISCSI/FCP, sometime we might see this issue:

"2022-04-17 12:23:01,219+03 INFO  [org.ovirt.engine.core.vdsbroker.vdsbroker.GetHostJobsVDSCommand] (EE-ManagedScheduledExecutorService-engineScheduledThreadPool-Thread-22) [18e96916-3ccc-4ff0-b398-c4538a29803b] FINISH, GetHostJobsVDSCommand, return: {0f0857d6-e75e-4656-8fd0-9186f7d7dd09=HostJobInfo:{id='0f0857d6-e75e-4656-8fd0-9186f7d7dd09', type='storage', description='copy_data', status='failed', progress='100', error='VDSError:{code='GeneralException', message='General Exception: ("Command ['/usr/bin/qemu-img', 'convert', '-p', '-t', 'none', '-T', 'none', '-f', 'raw', '-O', 'qcow2', '-n', '/rhev/data-center/mnt/blockSD/5736683f-4004-4404-9b60-6d684cda4296/images/9723180f-8b06-4d7a-8761-8874c8c3ee74/b04804f8-38da-4d19-b939-ddfdc8ea5f7d', '/rhev/data-center/mnt/blockSD/5736683f-4004-4404-9b60-6d684cda4296/images/9723180f-8b06-4d7a-8761-8874c8c3ee74/6234d93b-99bf-4239-9b0a-828eba599cd2'] failed with rc=1 out=b'' err=bytearray(b'qemu-img: error while writing at byte 1071644672: No space left on device\\n')",)'}'}}, log id: 99f78ab"

Version-Release number of selected component (if applicable):
engine-4.5.0.2-0.7.el8ev
vdsm-4.50.0.12-1.el8ev.x86_64

How reproducible:
It might happen continuously and suddenly start working again (not sure how consistent this theory is, just from what I could see)

Steps to Reproduce:
1. Create disk ISCSI/FCP 
POST engine/ovirt-engine/api/disks

<disk>
  <storage_domains>
    <storage_domain id="{{ISCSI_SD}}"/>
  </storage_domains>
  <name>ISCSI_Raw-Preallocated-Disabled</name>
  <provisioned_size>1073741824</provisioned_size>
  <format>raw</format>
  <sparse>false</sparse>
  <backup>None</backup>
</disk>

2. Convert the disk to 
POST engine/ovirt-engine/api/disks/{{ISCSI_Raw-Preallocated-Disabled}}/convert

<action>
    <disk>
        <format>cow</format>
        <backup>incremental</backup>
    </disk>
</action>

Actual results:
The disk fails to convert its format type from raw to cow with the error "No space left on device"

Expected results:
The disk should be converted successfully from raw/Preallocated/Disabled to Cow/Preallocated/Enabled

Comment 2 Ilia Markelov 2022-06-01 11:49:46 UTC
Verified.

Problem does not appear during flow reproduction. Disk was successfully converted from Raw/Preallocated/Disabled to Cow/Preallocated/Enabled.

Versions:
engine-4.5.1-635.bba3bb6ad58e.55.el8ev
vdsm-4.50.0.13-1.el8ev.x86_64

Comment 3 Sandro Bonazzola 2022-06-23 05:54:58 UTC
This bugzilla is included in oVirt 4.5.1 release, published on June 22nd 2022.
Since the problem described in this bug report should be resolved in oVirt 4.5.1 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.