Bug 1913756 - Migrating to Ceph-RBD + Block fails when skipping zeroes
Summary: Migrating to Ceph-RBD + Block fails when skipping zeroes
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Container Native Virtualization (CNV)
Classification: Red Hat
Component: V2V
Version: 2.6.0
Hardware: Unspecified
OS: Unspecified
urgent
urgent
Target Milestone: ---
: 2.6.0
Assignee: Matthew Arnold
QA Contact: Daniel Gur
URL:
Whiteboard:
Depends On:
Blocks: 1904797 1916333
TreeView+ depends on / blocked
 
Reported: 2021-01-07 14:13 UTC by Fabien Dupont
Modified: 2021-03-10 11:23 UTC (History)
8 users (show)

Fixed In Version: virt-cdi-importer v2.6.0-19
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-03-10 11:22:46 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
Log of failed pod (25.51 KB, text/plain)
2021-01-07 14:16 UTC, Fabien Dupont
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2021:0799 0 None None None 2021-03-10 11:23:17 UTC

Description Fabien Dupont 2021-01-07 14:13:00 UTC
Description of problem:
When migrating a VM to Ceph-RBD storage class with Block volume mode, it fails with the following error message:

I0107 13:59:28.976462       1 vddk-datasource.go:569] Found a hole, filling destination with zeroes.
I0107 13:59:28.976494       1 vddk-datasource.go:572] Found a zero block, filling destination with zeroes.
E0107 13:59:28.976503       1 vddk-datasource.go:639] Unable to ftruncate file: invalid argument
E0107 13:59:28.976515       1 vddk-datasource.go:929] Unable to copy block at offset 159383552: invalid argument
E0107 13:59:35.256748       1 data-processor.go:234] invalid argument
Unable to transfer source data to target file
kubevirt.io/containerized-data-importer/pkg/importer.(*DataProcessor).ProcessDataWithPause
	/remote-source/app/pkg/importer/data-processor.go:206
kubevirt.io/containerized-data-importer/pkg/importer.(*DataProcessor).ProcessData
	/remote-source/app/pkg/importer/data-processor.go:166
main.main
	/remote-source/app/cmd/cdi-importer/importer.go:176
runtime.main
	/usr/lib/golang/src/runtime/proc.go:203
runtime.goexit
	/usr/lib/golang/src/runtime/asm_amd64.s:1373
E0107 13:59:35.256897       1 importer.go:178] invalid argument
Unable to transfer source data to target file
kubevirt.io/containerized-data-importer/pkg/importer.(*DataProcessor).ProcessDataWithPause
	/remote-source/app/pkg/importer/data-processor.go:206
kubevirt.io/containerized-data-importer/pkg/importer.(*DataProcessor).ProcessData
	/remote-source/app/pkg/importer/data-processor.go:166
main.main
	/remote-source/app/cmd/cdi-importer/importer.go:176
runtime.main
	/usr/lib/golang/src/runtime/proc.go:203
runtime.goexit
	/usr/lib/golang/src/runtime/asm_amd64.s:1373

It seems that the new implementation based on libnbd, is trying to ftruncate on the block device, which shouldn't work as the file size is immutable.

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Fabien Dupont 2021-01-07 14:16:00 UTC
Created attachment 1745313 [details]
Log of failed pod

Comment 2 Adam Litke 2021-01-11 19:42:59 UTC
Matthew, have you found a way to resolve this?  We've missed the cutoff for 2.6 and I'm trying to figure out if a fix would be feasible for 2.6.1 (merged within a week or two) or if we would be better off targeting 2.7.

Comment 3 Matthew Arnold 2021-01-12 05:44:56 UTC
Yes, I think this will be fixable within the week.

Comment 4 Adam Litke 2021-01-12 14:43:21 UTC
Fabien: I just retargeted this bug to 2.6.1 but I am wondering if we should move it to the v2v component since it would be your QE that is verifying the bug.  What do you think?

Comment 5 Fabien Dupont 2021-01-12 19:29:22 UTC
Since we're still in blockers only phase, I guess this one can be left in 2.6.0, as long as a QE team accepts to validate it. What do you think?

Comment 6 Adam Litke 2021-01-12 19:55:35 UTC
Sure, sounds good.  Let's get a PR merged to the main CDI branch and then we can entertain a backport to the stable branch once this bug has a QA ack.

Comment 7 Fabien Dupont 2021-01-13 07:03:41 UTC
Here is the PR: https://github.com/kubevirt/containerized-data-importer/pull/1564

Comment 10 errata-xmlrpc 2021-03-10 11:22:46 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 (Moderate: OpenShift Virtualization 2.6.0 security and bug fix update), and where to find the updated
files, follow the link below.

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

https://access.redhat.com/errata/RHSA-2021:0799


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