Bug 1920664

Summary: if the status on the route is missing DVM considers it admitted
Product: Migration Toolkit for Containers Reporter: Alay Patel <alpatel>
Component: ControllerAssignee: Ian <ibolton>
Status: CLOSED ERRATA QA Contact: Xin jiang <xjiang>
Severity: unspecified Docs Contact: Avital Pinnick <apinnick>
Priority: unspecified    
Version: 1.4.0CC: ernelson, rjohnson, sregidor, vconzola
Target Milestone: ---   
Target Release: 1.4.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-02-11 12:55:27 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Alay Patel 2021-01-26 20:11:06 UTC
Description of problem:
In DirectVolumeMigration controller, the route is required to be admitted before rsync can begin. It is possible for the route to empty status if no router is availbale to pick it. This is possible is the route does not have the right labels to get picked by the router. If the status is empty, dvm controller should not consider it admitted



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

How reproducible:
Always

Steps to Reproduce:
1. $ oc edit ingresscontroller -n openshift-ingress-operator default
  spec:
    replicas: 2
    routeSelector:
      matchLabels:
        app: foo

2. run a migration

Actual results:

DVM controller will fail without warning


Expected results:

DVM controller should block waiting for the route to be admitted. The warning should be displayed in the UI

Comment 4 Xin jiang 2021-01-29 10:09:59 UTC
I am seeing the warning in dvm, but the warning is not displayed in the UI.

$ oc get dvm a4952620-6217-11eb-b496-f5d9799a7e90-7szb7 -o yaml
  - category: Warn
    lastTransitionTime: "2021-01-29T10:02:37Z"
    message: 'Some or all rsync transfer routes have failed to be admitted within 3 mins on destination cluster. Errors: [no status condition available for the route]'
    reason: NotReady
    status: "True"
    type: RsyncRouteNotAdmitted


$ oc logs migration-controller-8d58c758-48m4m -c mtc:

{"level":"info","ts":1611914350.2158859,"logger":"migration|4hlln","msg":"CR","migration":"openshift-migration/a4952620-6217-11eb-b496-f5d9799a7e90","conditions":{"conditions":[{"type":"Running","status":"True","reason":"WaitForDirectVolumeMigrationToComplete","category":"Advisory","message":"Step: 36/47","lastTransitionTime":"2021-01-29T09:53:48Z"},{"type":"Ready","status":"True","category":"Required","message":"The migration is ready.","lastTransitionTime":"2021-01-29T09:52:06Z"},{"type":"DirectVolumeMigrationBlocked","status":"True","reason":"NotReady","category":"Warn","message":"Some or all rsync transfer routes have failed to be admitted within 3 mins on destination cluster. Errors: [no status condition available for the route]","lastTransitionTime":"2021-01-29T09:59:10Z"}]}}

Comment 5 Sergio 2021-01-29 15:49:11 UTC
It looks like a problem in the UI with the new condition type SucceededWithWarnings.

We move the status to ASSIGNED.

Comment 6 Erik Nelson 2021-01-29 16:32:28 UTC
Reassigning to Ian based on our thought that this is a UI bug

Comment 7 vconzola 2021-01-29 18:37:23 UTC
Alay - What is the expected behavior in the UI for this case? It looks like after 3 mins the backend will throw a warning. We can display that in the UI. But then what? Will it eventually finish or don’t we know? Can the route be admitted without user intervention, and if so how long can/will that take? At some point do we fail the migration?

Comment 10 Sergio 2021-02-02 14:33:55 UTC
Verified using MTC 1.4.0, 3.11 -> 4.5 AWS, AWS S3.

openshift-migration-rhel7-operator@sha256:622e42cef37e3e445d04c0c7f28455b322ed5ddb11b0063c2af9950de09121ab
    - name: MIG_UI_REPO
      value: openshift-migration-ui-rhel8@sha256
    - name: MIG_UI_TAG
      value: 2420f0b1e49396a45b64dcf63972970fc6791b546d5047e17014ff1ead1ddeb4


A warning is displayed in the UI, in the migration plan and in the migration execution. The migration remains waiting until the routes are fixed, once they are fixed, the migration continues the execution.

This is the text in the displayed warning:
"Some or all rsync transfer routes have failed to be admitted within 3 mins on destination cluster. Errors: [no status condition available for the route]"


Moved to VERIFIED.

Comment 12 errata-xmlrpc 2021-02-11 12:55:27 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 (Migration Toolkit for Containers (MTC) tool image release advisory 1.4.0), 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/RHBA-2020:5329