Bug 1972903

Summary: No error reported when target namespace creation fails during direct volume migration
Product: Migration Toolkit for Containers Reporter: Erik Nelson <ernelson>
Component: ControllerAssignee: Pranav Gaikwad <pgaikwad>
Status: CLOSED ERRATA QA Contact: Xin jiang <xjiang>
Severity: medium Docs Contact: Avital Pinnick <apinnick>
Priority: medium    
Version: 1.4.4CC: ernelson, rjohnson, sregidor
Target Milestone: ---   
Target Release: 1.5.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-07-28 04:08:13 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 Erik Nelson 2021-06-16 20:31:13 UTC
Describe the bug
This is created to fix a bug when attempting staging step from source to destination. It was observed that the during CreateDestinationPVCs step , the logs reported namespaces "example" not found.

Release version : 1.4.4

Proposed Fix
Adding return err when an error occurs creating the namespace : https://github.com/konveyor/mig-controller/blob/release-1.4.4/pkg/controller/directvolumemigration/task.go#L232

---

Mirrored from: https://github.com/konveyor/mig-controller/issues/1126

Comment 4 Sergio 2021-06-29 14:47:01 UTC
Verified using MTC 1.5.0

   openshift-migration-rhel7-operator@sha256:00e77706ca22bcb557d13c16822180fc877e6ea1639a72fda8eb9f5488b039a2
    - name: MIG_CONTROLLER_REPO
      value: openshift-migration-controller-rhel8@sha256
    - name: MIG_CONTROLLER_TAG
      value: 7f657df15e9514df4ef42da3431f558a19b8d3233a2ef1222cd8e27793c93816

When the namespace cannot be created in the target cluster we are reporting a failure in the DVM and DIM, but the migration is stuck forever.

We can reproduce it following these steps:

1 create an app with pvc + images. The sample persistent django is enough.
2 map the namespace to a valid namespace (the UI will validate it, so it will not allow you to use an invalid namespace)
3 oc edit the migplan, and set a destination namespace longer that 63 characters (it will be allowed because the bug regarding this validation has not been fixed already)
4 run the migraiton
5 the destination namespace is invalid, so it will always fail



We move the issue to ASSIGNED.

Comment 8 Sergio 2021-07-01 16:36:08 UTC
Verified using MTC 1.5.0
        - name: MIG_CONTROLLER_REPO
          value: openshift-migration-controller-rhel8
        - name: MIG_CONTROLLER_TAG
          value: v1.5.0-6
        - name: MIG_UI_REPO
          value: openshift-migration-ui-rhel8
        - name: MIG_UI_TAG
          value: v1.5.0-12


We can see this error in the DMV when we force a namespace creation failure:
'''
  Errors:
    Namespace "ocp-fixed-django-111111111111111111111111111111111111111111111022222" is invalid: [metadata.name: Invalid value: "ocp-fixed-django-111111111111111111111111111111111111111111111022222": must be no more than 63 characters, metadata.labels: Invalid value: "ocp-fixed-django-111111111111111111111111111111111111111111111022222": must be no more than 63 characters]
'''

But the migration is stuck forever instead of failing.

We move the status to ASSIGNED.

Comment 10 Xin jiang 2021-07-08 03:28:29 UTC
verified with MTC 1.5.0

image:
registry.redhat.io/rhmtc/openshift-migration-controller-rhel8@sha256:bb00be359e7e501cd5e836171a33ed1bdbdb03118d010532e0286817de571c0f


We can reproduce it following these steps:

1 create an app with pvc + images. The sample persistent django is enough.
2 map the namespace to a valid namespace (the UI will validate it, so it will not allow you to use an invalid namespace)
3 oc edit the migplan, and set a destination namespace longer that 63 characters (it will be allowed because the bug regarding this validation has not been fixed already)
4 run the migraiton
5 the destination namespace is invalid, so it will always fail


The result is:

1. We can see this error in the DMV when we force a namespace creation failure:
  errors:
  - 'Namespace "a0e77706ca22bcb557d13c16822180fc877e6ea1639a72fda8eb9f5488b039a2" is invalid: [metadata.name: Invalid value: "a0e77706ca22bcb557d13c16822180fc877e6ea1639a72fda8eb9f5488b039a2": must be no more than 63 characters, metadata.labels: Invalid value: "a0e77706ca22bcb557d13c16822180fc877e6ea1639a72fda8eb9f5488b039a2": must be no more than 63 characters]'
  itinerary: VolumeMigrationFailed

2. The migration completed with warnings

Comment 16 errata-xmlrpc 2021-07-28 04:08:13 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) image release advisory 1.5.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/RHEA-2021:2929