Description of problem: When deploying MTC on a OCP 4.6 cluster, the DPA fails to get created according to the logs, which results in some pods being missing. From the logs in the migration-controller in the OCP 4.6 cluster it indicates that an unexpected null value is passed which causes the error. Version-Release number of selected component (if applicable): MTC 1.7.8 OADP 1.0.8 OCP 4.6 --> OCP 4.10 How reproducible: Always Steps to Reproduce: 1. Provision a pair of clusters where one of them is OCP 4.6 2. Deploy mtc application Actual results: Actual resources DPA resource is not created Expected results: The MTC should be installed along with OADP and all their resources without any errors Additional info: This behavior is observed only on 4.6 clusters When creating a DPA resource in the UI console, the resource is not created but the pods are created and running, and shows the error message ( see attached image ) from the logs: lastTransitionTime: "2023-02-27T12:44:08Z" message: 'Failed to create object: b''{"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"DataProtectionApplication.oadp.openshift.io \\"velero\\" is invalid: [spec.unsupportedOverrides.awsPluginImageFqin: Invalid value: \\"null\\": spec.unsupportedOverrides.awsPluginImageFqin in body must be of type string: \\"null\\", spec.unsupportedOverrides.azurePluginImageFqin: Invalid value: \\"null\\": spec.unsupportedOverrides.azurePluginImageFqin in body must be of type string: \\"null\\", spec.unsupportedOverrides.gcpPluginImageFqin: Invalid value: \\"null\\": spec.unsupportedOverrides.gcpPluginImageFqin in body must be of type string: \\"null\\", spec.unsupportedOverrides.openshiftPluginImageFqin: Invalid value: \\"null\\": spec.unsupportedOverrides.openshiftPluginImageFqin in body must be of type string: \\"null\\", spec.unsupportedOverrides.resticRestoreImageFqin: Invalid value: \\"null\\": spec.unsupportedOverrides.resticRestoreImageFqin in body must be of type string: \\"null\\", spec.unsupportedOverrides.veleroImageFqin: Invalid value: \\"null\\": spec.unsupportedOverrides.veleroImageFqin in body must be of type string: \\"null\\", spec.configuration.velero.logLevel: Invalid value: \\"null\\": spec.configuration.velero.logLevel in body must be of type string: \\"null\\", spec.configuration.velero.logLevel: Unsupported value: \\"null\\": supported values: \\"trace\\", \\"debug\\", \\"info\\", \\"warning\\", \\"error\\", \\"fatal\\", \\"panic\\"]","reason":"Invalid","details":{"name":"velero","group":"oadp.openshift.io","kind":"DataProtectionApplication","causes":[{"reason":"FieldValueInvalid","message":"Invalid value: \\"null\\": spec.unsupportedOverrides.awsPluginImageFqin in body must be of type string: \\"null\\"","field":"spec.unsupportedOverrides.awsPluginImageFqin"},{"reason":"FieldValueInvalid","message":"Invalid value: \\"null\\": spec.unsupportedOverrides.azurePluginImageFqin in body must be of type string: \\"null\\"","field":"spec.unsupportedOverrides.azurePluginImageFqin"},{"reason":"FieldValueInvalid","message":"Invalid value: \\"null\\": spec.unsupportedOverrides.gcpPluginImageFqin in body must be of type string: \\"null\\"","field":"spec.unsupportedOverrides.gcpPluginImageFqin"},{"reason":"FieldValueInvalid","message":"Invalid value: \\"null\\": spec.unsupportedOverrides.openshiftPluginImageFqin in body must be of type string: \\"null\\"","field":"spec.unsupportedOverrides.openshiftPluginImageFqin"},{"reason":"FieldValueInvalid","message":"Invalid value: \\"null\\": spec.unsupportedOverrides.resticRestoreImageFqin in body must be of type string: \\"null\\"","field":"spec.unsupportedOverrides.resticRestoreImageFqin"},{"reason":"FieldValueInvalid","message":"Invalid value: \\"null\\": spec.unsupportedOverrides.veleroImageFqin in body must be of type string: \\"null\\"","field":"spec.unsupportedOverrides.veleroImageFqin"},{"reason":"FieldValueInvalid","message":"Invalid value: \\"null\\": spec.configuration.velero.logLevel in body must be of type string: \\"null\\"","field":"spec.configuration.velero.logLevel"},{"reason":"FieldValueNotSupported","message":"Unsupported value: \\"null\\": supported values: \\"trace\\", \\"debug\\", \\"info\\", \\"warning\\", \\"error\\", \\"fatal\\", \\"panic\\"","field":"spec.configuration.velero.logLevel"}]},"code":422}\n''' reason: Failed status: "True" type: Failure
Looks like a bug as a result of https://github.com/migtools/mig-operator/pull/861/files Imagine we need to simply not set the spec fields if the var is undefined.
Above comment was incorrect... `null` is intentional in case a user sets it and removes it. Investigating different options to allow this to work.
https://github.com/migtools/mig-operator/pull/871
CP PR: https://github.com/migtools/mig-operator/pull/872
Verified using MTC prestage
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 (Important: Migration Toolkit for Containers (MTC) 1.7.8 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-2023:1428