Closed jsakil14 closed 1 month ago
How did you create the vddk image? Did you follow the directions here? https://docs.redhat.com/en/documentation/migration_toolkit_for_virtualization/2.6/html-single/installing_and_using_the_migration_toolkit_for_virtualization/ ?
Yes exactly the same way step by step
I simply can't get through beyond invalid vddk error, clueless ...
You can take a look at the vddk-validator-$(PLANNAME)-$(RANDOM)
pod and events associated with it to see if there is any additional information available.
@jonner There is no pod getting created as soon as I create a plan - pod gets created after starting the migration I guess.
sharing plan details - Also , for note - am creating the image from MAC - vs code - is it supposed to have issues with symbolic links? Image am using broadcom 8.0.3 ...
kd plans.forklift.konveyor.io kubevirt
Name: kubevirt
Namespace: konveyor-forklift
Labels: <none>
Annotations: populatorLabels: True
API Version: forklift.konveyor.io/v1beta1
Kind: Plan
Metadata:
Creation Timestamp: 2024-07-26T13:20:26Z
Generation: 1
Managed Fields:
API Version: forklift.konveyor.io/v1beta1
Fields Type: FieldsV1
fieldsV1:
f:spec:
.:
f:map:
.:
f:network:
f:storage:
f:provider:
.:
f:destination:
f:source:
f:targetNamespace:
f:vms:
Manager: Mozilla
Operation: Update
Time: 2024-07-26T13:20:26Z
API Version: forklift.konveyor.io/v1beta1
Fields Type: FieldsV1
fieldsV1:
f:status:
.:
f:conditions:
f:migration:
f:observedGeneration:
Manager: forklift-controller
Operation: Update
Subresource: status
Time: 2024-07-26T13:20:49Z
Resource Version: 138418008
UID: 0824ee17-96c6-44d0-a5dc-3088c20e98f8
Spec:
Map:
Network:
API Version: forklift.konveyor.io/v1beta1
Kind: NetworkMap
Name: localhost-rspxr
Namespace: konveyor-forklift
UID: 567e69c2-e970-4c41-a0bc-36d9ac8eac73
Storage:
API Version: forklift.konveyor.io/v1beta1
Kind: StorageMap
Name: localhost-gr9fx
Namespace: konveyor-forklift
UID: 724e735a-c1e2-4f1d-a784-c1c937c0a3ac
Provider:
Destination:
API Version: forklift.konveyor.io/v1beta1
Kind: Provider
Name: host
Namespace: konveyor-forklift
UID: 60624b33-fe96-423e-b205-750d3b486332
Source:
API Version: forklift.konveyor.io/v1beta1
Kind: Provider
Name: localhost
Namespace: konveyor-forklift
UID: 2a02d0c6-9df3-419b-b8fb-4d798ae7b4cc
Target Namespace: konveyor-forklift
Vms:
Id: vm-7836654
Name: test-01-kubevirt
Status:
Conditions:
Category: Critical
Last Transition Time: 2024-07-26T13:20:49Z
Message: VDDK init image is invalid
Reason: NotSet
Status: True
Type: VDDKInvalid
Migration:
Observed Generation: 1
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal ValidatingVDDK 90s (x2 over 113s) plan Validating VDDK init image
Warning VDDKInvalid 90s plan VDDK init image is invalid
I am also facing the same issue. I tried with 8.0.3 and 8.0.1 (since the instructions are saying to use 8.0.1) and both are failing with the same error and is very unclear what to do/where is the issue.
Also is not clearly documented what to put as vddkInitImage
do I put the image stream ? The internal Registry Name?
I tried with:
image-registry.openshift-image-registry.svc:5000/openshift-mtv/vddk@sha256:3f536fb1815220447e25430492ea38c3709c2a9c75e597ec5045ce05050f93dc
image-registry.openshift-image-registry.svc:5000/openshift-mtv/vddk:8.0.1
And still same error.
Image name , is what you build from podman / docker - it can be quay.io/kubevirt/vddk-init
For my case I redeployed entire operator and all of a sudden it worked.
I also think , we must emphasize the usage of any Linux OS to build the docker image rather than windows or Mac , just my thoughts..
On Mon, 29 Jul, 2024, 12:51 pm camrossi, @.***> wrote:
I am also facing the same issue. I tried with 8.0.3 and 8.0.1 (since the instructions are saying to use 8.0.1) and both are failing with the same error and is very unclear what to do/where is the issue.
Also is not clearly documented what to put as vddkInitImage do I put the image stream ? The internal Registry Name? I tried with: @.*** :3f536fb1815220447e25430492ea38c3709c2a9c75e597ec5045ce05050f93dc image-registry.openshift-image-registry.svc:5000/openshift-mtv/vddk:8.0.1
And still same error.
— Reply to this email directly, view it on GitHub https://github.com/kubev2v/forklift/issues/971#issuecomment-2255143182, or unsubscribe https://github.com/notifications/unsubscribe-auth/APS2FWDRAK7HH6MQGLJU2L3ZOXUQTAVCNFSM6AAAAABLMF5SLWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENJVGE2DGMJYGI . You are receiving this because you authored the thread.Message ID: @.***>
Thanks @jsakil14 ! Apparently for me access to pull the images is failing and I get a msg="error authorizing context: access denied" not sure why.
Will troubleshoot it later on! I suspect my mistake could be that I have pushed to the local registry from outside of the cluster...
i.e. my image tag is default-route-openshift-image-registry.apps.ocp-sr-iov.cam.blabla.com/openshift-mtv/vddk:8.0.1
but then when I try to pull them I am using the local registry. Will report tomorrow if this is indeed the case.
But for sure the error logs can do with some better messaging
@jsakil14 so in the end my problem is with the internal registry.
Nothing I can do makes the forklift-controller
able to pull images from there.
I tried adding an extra rolebinding
of type system:image-puller
as well as enabling the imageStream
lookupPolicy
but nothing I can do solves the fact that the internal registry will just access deny the forklift-controller
access to the image I have built.
So I just put the image on quay.io
on a public repo and now all works.
The Validation seceded with both 8.0.1 and 8.0.3 (didn't try 8.0.2)
I think we should have some instruction on how to build this in-cluster and how to give access to forklift to it but is probably not for this git issue.
well , I am still stuck - dont know what am doing wrong or else the instructions are unclear... @jonner I know , you told me to check the vddk , but there is no vddk pod getting created as soon as I create a plan - I think its created only after we are able to start a plan..please correct me if I am wrong.,,
Below is snipper from controller log for main container...
{"level":"info","ts":"2024-07-30 12:20:26.312","logger":"plan|9lz8p","msg":"Created namespace.","plan":{"name":"windows","namespace":"konveyor-forklift"},"import":"default"}
{"level":"info","ts":"2024-07-30 12:20:26.367","logger":"plan|9lz8p","msg":"validation of VDDK job is in progress","plan":{"name":"windows","namespace":"konveyor-forklift"},"image":"internal.docker..com/vddk:latest"}
{"level":"info","ts":"2024-07-30 12:20:26.378","logger":"plan|9lz8p","msg":"Reconcile ended.","plan":{"name":"windows","namespace":"konveyor-forklift"},"reQ":3}
{"level":"info","ts":"2024-07-30 12:20:29.378","logger":"plan|xw65z","msg":"Reconcile started.","plan":{"name":"windows","namespace":"konveyor-forklift"}}
{"level":"info","ts":"2024-07-30 12:20:29.436","logger":"plan|xw65z","msg":"Created namespace.","plan":{"name":"windows","namespace":"konveyor-forklift"},"import":"default"}
{"level":"info","ts":"2024-07-30 12:20:29.444","logger":"plan|xw65z","msg":"validation of VDDK job is in progress","plan":{"name":"windows","namespace":"konveyor-forklift"},"image":"internal.docker..com/vddk:latest"}
{"level":"info","ts":"2024-07-30 12:20:29.454","logger":"plan|xw65z","msg":"Reconcile ended.","plan":{"name":"windows","namespace":"konveyor-forklift"},"reQ":3}
{"level":"info","ts":"2024-07-30 12:20:32.455","logger":"plan|r9mj7","msg":"Reconcile started.","plan":{"name":"windows","namespace":"konveyor-forklift"}}
{"level":"info","ts":"2024-07-30 12:20:32.525","logger":"plan|r9mj7","msg":"Created namespace.","plan":{"name":"windows","namespace":"konveyor-forklift"},"import":"default"}
{"level":"info","ts":"2024-07-30 12:20:32.532","logger":"plan|r9mj7","msg":"validation of VDDK job is in progress","plan":{"name":"windows","namespace":"konveyor-forklift"},"image":"internal.docker..com/vddk:latest"}
{"level":"info","ts":"2024-07-30 12:20:32.542","logger":"plan|r9mj7","msg":"Reconcile ended.","plan":{"name":"windows","namespace":"konveyor-forklift"},"reQ":3}
{"level":"info","ts":"2024-07-30 12:20:35.543","logger":"plan|m8p8c","msg":"Reconcile started.","plan":{"name":"windows","namespace":"konveyor-forklift"}}
{"level":"info","ts":"2024-07-30 12:20:35.598","logger":"plan|m8p8c","msg":"Created namespace.","plan":{"name":"windows","namespace":"konveyor-forklift"},"import":"default"}
{"level":"info","ts":"2024-07-30 12:20:35.604","logger":"plan|m8p8c","msg":"validation of VDDK job is in progress","plan":{"name":"windows","namespace":"konveyor-forklift"},"image":"internal.docker..com/vddk:latest"}
{"level":"info","ts":"2024-07-30 12:20:35.613","logger":"plan|m8p8c","msg":"Reconcile ended.","plan":{"name":"windows","namespace":"konveyor-forklift"},"reQ":3}
{"level":"info","ts":"2024-07-30 12:20:38.614","logger":"plan|pskzq","msg":"Reconcile started.","plan":{"name":"windows","namespace":"konveyor-forklift"}}
{"level":"info","ts":"2024-07-30 12:20:38.824","logger":"plan|pskzq","msg":"Created namespace.","plan":{"name":"windows","namespace":"konveyor-forklift"},"import":"default"}
{"level":"info","ts":"2024-07-30 12:20:38.832","logger":"plan|pskzq","msg":"validation of VDDK job is in progress","plan":{"name":"windows","namespace":"konveyor-forklift"},"image":"internal.docker..com/vddk:latest"}
{"level":"info","ts":"2024-07-30 12:20:38.841","logger":"plan|pskzq","msg":"Reconcile ended.","plan":{"name":"windows","namespace":"konveyor-forklift"},"reQ":3}
{"level":"info","ts":"2024-07-30 12:20:41.841","logger":"plan|6sfqh","msg":"Reconcile started.","plan":{"name":"windows","namespace":"konveyor-forklift"}}
{"level":"info","ts":"2024-07-30 12:20:42.297","logger":"plan|6sfqh","msg":"Created namespace.","plan":{"name":"windows","namespace":"konveyor-forklift"},"import":"default"}
{"level":"info","ts":"2024-07-30 12:20:42.304","logger":"plan|6sfqh","msg":"validation of VDDK job is in progress","plan":{"name":"windows","namespace":"konveyor-forklift"},"image":"internal.docker..com/vddk:latest"}
{"level":"info","ts":"2024-07-30 12:20:42.312","logger":"plan|6sfqh","msg":"Reconcile ended.","plan":{"name":"windows","namespace":"konveyor-forklift"},"reQ":3}
{"level":"info","ts":"2024-07-30 12:20:45.313","logger":"plan|rbsnb","msg":"Reconcile started.","plan":{"name":"windows","namespace":"konveyor-forklift"}}
{"level":"info","ts":"2024-07-30 12:20:45.790","logger":"plan|rbsnb","msg":"Created namespace.","plan":{"name":"windows","namespace":"konveyor-forklift"},"import":"default"}
{"level":"info","ts":"2024-07-30 12:20:45.796","logger":"plan|rbsnb","msg":"validation of VDDK job is in progress","plan":{"name":"windows","namespace":"konveyor-forklift"},"image":"internal.docker..com/vddk:latest"}
{"level":"info","ts":"2024-07-30 12:20:45.806","logger":"plan|rbsnb","msg":"Reconcile ended.","plan":{"name":"windows","namespace":"konveyor-forklift"},"reQ":3}
{"level":"info","ts":"2024-07-30 12:20:48.806","logger":"plan|5nqw5","msg":"Reconcile started.","plan":{"name":"windows","namespace":"konveyor-forklift"}}
{"level":"info","ts":"2024-07-30 12:20:48.990","logger":"plan|5nqw5","msg":"Created namespace.","plan":{"name":"windows","namespace":"konveyor-forklift"},"import":"default"}
{"level":"info","ts":"2024-07-30 12:20:48.997","logger":"plan|5nqw5","msg":"validation of VDDK job is in progress","plan":{"name":"windows","namespace":"konveyor-forklift"},"image":"internal.docker..com/vddk:latest"}
{"level":"info","ts":"2024-07-30 12:20:49.004","logger":"plan|5nqw5","msg":"Reconcile ended.","plan":{"name":"windows","namespace":"konveyor-forklift"},"reQ":3}
{"level":"info","ts":"2024-07-30 12:20:52.004","logger":"plan|gtv2h","msg":"Reconcile started.","plan":{"name":"windows","namespace":"konveyor-forklift"}}
{"level":"info","ts":"2024-07-30 12:20:52.059","logger":"plan|gtv2h","msg":"Created namespace.","plan":{"name":"windows","namespace":"konveyor-forklift"},"import":"default"}
{"level":"info","ts":"2024-07-30 12:20:52.066","logger":"plan|gtv2h","msg":"validation of VDDK job is in progress","plan":{"name":"windows","namespace":"konveyor-forklift"},"image":"internal.docker..com/vddk:latest"}
{"level":"info","ts":"2024-07-30 12:20:52.076","logger":"plan|gtv2h","msg":"Reconcile ended.","plan":{"name":"windows","namespace":"konveyor-forklift"},"reQ":3}
{"level":"info","ts":"2024-07-30 12:20:55.077","logger":"plan|q47df","msg":"Reconcile started.","plan":{"name":"windows","namespace":"konveyor-forklift"}}
{"level":"info","ts":"2024-07-30 12:20:55.132","logger":"plan|q47df","msg":"Created namespace.","plan":{"name":"windows","namespace":"konveyor-forklift"},"import":"default"}
{"level":"info","ts":"2024-07-30 12:20:55.139","logger":"plan|q47df","msg":"validation of VDDK job is in progress","plan":{"name":"windows","namespace":"konveyor-forklift"},"image":"internal.docker..com/vddk:latest"}
{"level":"info","ts":"2024-07-30 12:20:55.147","logger":"plan|q47df","msg":"Reconcile ended.","plan":{"name":"windows","namespace":"konveyor-forklift"},"reQ":3}
{"level":"info","ts":"2024-07-30 12:20:58.147","logger":"plan|cwhz4","msg":"Reconcile started.","plan":{"name":"windows","namespace":"konveyor-forklift"}}
{"level":"info","ts":"2024-07-30 12:20:58.410","logger":"plan|cwhz4","msg":"Created namespace.","plan":{"name":"windows","namespace":"konveyor-forklift"},"import":"default"}
{"level":"info","ts":"2024-07-30 12:20:58.417","logger":"plan|cwhz4","msg":"validation of VDDK job is in progress","plan":{"name":"windows","namespace":"konveyor-forklift"},"image":"internal.docker..com/vddk:latest"}
{"level":"info","ts":"2024-07-30 12:20:58.427","logger":"plan|cwhz4","msg":"Reconcile ended.","plan":{"name":"windows","namespace":"konveyor-forklift"},"reQ":3}
{"level":"info","ts":"2024-07-30 12:21:01.428","logger":"plan|lmww2","msg":"Reconcile started.","plan":{"name":"windows","namespace":"konveyor-forklift"}}
{"level":"info","ts":"2024-07-30 12:21:01.614","logger":"plan|lmww2","msg":"Created namespace.","plan":{"name":"windows","namespace":"konveyor-forklift"},"import":"default"}
{"level":"info","ts":"2024-07-30 12:21:01.621","logger":"plan|lmww2","msg":"validation of VDDK job is in progress","plan":{"name":"windows","namespace":"konveyor-forklift"},"image":"internal.docker..com/vddk:latest"}
{"level":"info","ts":"2024-07-30 12:21:01.630","logger":"plan|lmww2","msg":"Reconcile ended.","plan":{"name":"windows","namespace":"konveyor-forklift"},"reQ":3}
{"level":"info","ts":"2024-07-30 12:21:04.631","logger":"plan|8txmk","msg":"Reconcile started.","plan":{"name":"windows","namespace":"konveyor-forklift"}}
{"level":"info","ts":"2024-07-30 12:21:05.004","logger":"plan|8txmk","msg":"Created namespace.","plan":{"name":"windows","namespace":"konveyor-forklift"},"import":"default"}
{"level":"info","ts":"2024-07-30 12:21:05.010","logger":"plan|8txmk","msg":"validation of VDDK job is in progress","plan":{"name":"windows","namespace":"konveyor-forklift"},"image":"internal.docker..com/vddk:latest"}
{"level":"info","ts":"2024-07-30 12:21:05.020","logger":"plan|8txmk","msg":"Reconcile ended.","plan":{"name":"windows","namespace":"konveyor-forklift"},"reQ":3}
{"level":"info","ts":"2024-07-30 12:21:08.021","logger":"plan|srksq","msg":"Reconcile started.","plan":{"name":"windows","namespace":"konveyor-forklift"}}
{"level":"info","ts":"2024-07-30 12:21:08.308","logger":"plan|srksq","msg":"Created namespace.","plan":{"name":"windows","namespace":"konveyor-forklift"},"import":"default"}
{"level":"info","ts":"2024-07-30 12:21:08.315","logger":"plan|srksq","msg":"validation of VDDK job is in progress","plan":{"name":"windows","namespace":"konveyor-forklift"},"image":"internal.docker..com/vddk:latest"}
{"level":"info","ts":"2024-07-30 12:21:08.325","logger":"plan|srksq","msg":"Reconcile ended.","plan":{"name":"windows","namespace":"konveyor-forklift"},"reQ":3}
{"level":"info","ts":"2024-07-30 12:21:11.326","logger":"plan|fk6m7","msg":"Reconcile started.","plan":{"name":"windows","namespace":"konveyor-forklift"}}
{"level":"info","ts":"2024-07-30 12:21:11.448","logger":"plan|fk6m7","msg":"Created namespace.","plan":{"name":"windows","namespace":"konveyor-forklift"},"import":"default"}
{"level":"info","ts":"2024-07-30 12:21:11.455","logger":"plan|fk6m7","msg":"validation of VDDK job is in progress","plan":{"name":"windows","namespace":"konveyor-forklift"},"image":"internal.docker..com/vddk:latest"}
{"level":"info","ts":"2024-07-30 12:21:11.464","logger":"plan|fk6m7","msg":"Reconcile ended.","plan":{"name":"windows","namespace":"konveyor-forklift"},"reQ":3}
{"level":"info","ts":"2024-07-30 12:21:14.465","logger":"plan|wkgzj","msg":"Reconcile started.","plan":{"name":"windows","namespace":"konveyor-forklift"}}
{"level":"info","ts":"2024-07-30 12:21:14.572","logger":"plan|wkgzj","msg":"Created namespace.","plan":{"name":"windows","namespace":"konveyor-forklift"},"import":"default"}
{"level":"info","ts":"2024-07-30 12:21:14.579","logger":"plan|wkgzj","msg":"validation of VDDK job is in progress","plan":{"name":"windows","namespace":"konveyor-forklift"},"image":"internal.docker..com/vddk:latest"}
{"level":"info","ts":"2024-07-30 12:21:14.590","logger":"plan|wkgzj","msg":"Reconcile ended.","plan":{"name":"windows","namespace":"konveyor-forklift"},"reQ":3}
{"level":"info","ts":"2024-07-30 12:21:17.590","logger":"plan|qrqhn","msg":"Reconcile started.","plan":{"name":"windows","namespace":"konveyor-forklift"}}
{"level":"info","ts":"2024-07-30 12:21:17.710","logger":"plan|qrqhn","msg":"Created namespace.","plan":{"name":"windows","namespace":"konveyor-forklift"},"import":"default"}
{"level":"info","ts":"2024-07-30 12:21:17.718","logger":"plan|qrqhn","msg":"Condition added.","plan":{"name":"windows","namespace":"konveyor-forklift"},"condition":{"type":"VDDKInvalid","status":"True","reason":"NotSet","category":"Critical","message":"VDDK init image is invalid","lastTransitionTime":null}}
{"level":"info","ts":"2024-07-30 12:21:17.718","logger":"plan|qrqhn","msg":"Condition deleted.","plan":{"name":"windows","namespace":"konveyor-forklift"},"condition":{"type":"ValidatingVDDK","status":"True","reason":"Started","category":"Advisory","message":"Validating VDDK init image","lastTransitionTime":"2024-07-30T12:16:18Z"}}
{"level":"debug","ts":"2024-07-30 12:21:17.718","logger":"events","msg":"VDDK init image is invalid","type":"Warning","object":{"kind":"Plan","namespace":"konveyor-forklift","name":"windows","uid":"202680d4-face-42bd-be2d-05f7a5c64ec7","apiVersion":"forklift.konveyor.io/v1beta1","resourceVersion":"143386864"},"reason":"VDDKInvalid"}
{"level":"debug","ts":"2024-07-30 12:21:17.718","logger":"events","msg":"Validating VDDK init image","type":"Normal","object":{"kind":"Plan","namespace":"konveyor-forklift","name":"windows","uid":"202680d4-face-42bd-be2d-05f7a5c64ec7","apiVersion":"forklift.konveyor.io/v1beta1","resourceVersion":"143386864"},"reason":"ValidatingVDDK"}
{"level":"info","ts":"2024-07-30 12:21:17.729","logger":"plan|qrqhn","msg":"Reconcile ended.","plan":{"name":"windows","namespace":"konveyor-forklift"},"reQ":0}
When you create a new plan for a provider that specifies a vddk init image, it should spawn a job to validate that vddk image immediately after creation with a name like vddk-validator-$PLANNAME
. This job will create an associated pod named $JOBNAME-$RANDOM
which tries to pull the vddk image and verify that it contains the expected files. If the image fails to be pulled, it will retry a couple times until the job fails (typically after 300 seconds) at which point the pod will apparently be deleted. So you may only be able to see the pod and view the events related to that pod while the validation is running.
Conditions
Type | Status | Updated | Reason | Message
-- | -- | -- | -- | -- TargetNameNotValid | True | Jul 24, 2024, 1:02 PM | NotValid | Target VM name does not comply with DNS1123 RFC, will be automatically changed. VDDKInvalid | True | Jul 24, 2024, 1:07 PM | NotSet | VDDK init image is invalid
_Originally posted by @jsakil14 in https://github.com/kubev2v/forklift/pull/969#discussion_r1689298428_