Created attachment 1800794 [details] must-gather file Description of problem: When we try to deploy MTC in a 3.10 cluster the operator reports an error and fail. The logs pod are not created. Version-Release number of selected component (if applicable): MTC 1.5.0 AWS 3.10 How reproducible: Always Steps to Reproduce: 1. Deploy MTC in a 3.10 cluster Actual results: We get this error in the operator pod ^Mfailed: [localhost] (item=migration.openshift.io_directvolumemigrationprogresses.yaml) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"error\": 422 , \"item\": \"migration.openshift.io_directvolumemigrationprogresses.yaml\", \"msg\": \"Failed to create object: b'{\\\"kind\\\":\\\"Status\\\",\\\"apiVersion\ \\":\\\"v1\\\",\\\"metadata\\\":{},\\\"status\\\":\\\"Failure\\\",\\\"message\\\":\\\"CustomResourceDefinition.apiextensions.k8s.io \\\\\\\\\\\"directvolumemig rationprogresses.migration.openshift.io\\\\\\\\\\\" is invalid: spec.validation.openAPIV3Schema.properties[spec].properties[podSelector].additionalProperties: Forbidden: additionalProperties cannot be set to false\\\",\\\"reason\\\":\\\"Invalid\\\",\\\"details\\\":{\\\"name\\\":\\\"directvolumemigrationprogresses.mig ration.openshift.io\\\",\\\"group\\\":\\\"apiextensions.k8s.io\\\",\\\"kind\\\":\\\"CustomResourceDefinition\\\",\\\"causes\\\":[{\\\"reason\\\":\\\"FieldValue Forbidden\\\",\\\"message\\\":\\\"Forbidden: additionalProperties cannot be set to false\\\",\\\"field\\\":\\\"spec.validation.openAPIV3Schema.properties[spec] .properties[podSelector].additionalProperties\\\"}]},\\\"code\\\":422}\\\ And the MTC logs pod are not created. We are not sure if that impacts more resources apart from the logs pods, probably yes. Expected results: The deployment should be executed without errors and all MTC pods should be created successfuly and the operator should report no errors. Additional info: Attached must-gather.gz
The root cause of the issue is that the OpenAPI schema validation for *spec.podSelector.additionalFields* in DVMP CRD is not supported on OpenShift 3.10 and below (Kubernetes 1.10-) This validation is needed to ensure that the spec field _podSelector_ can only contain input which can be parsed as a Golang map. We have removed the validation in order to make the CRD compatible across MTC's supported versions.
Verified using MTC 1.5.0 openshift-migration-rhel7-operator@sha256:33ccc57351d4374c505b2cb73c3bb2d17bf65a7ad15684b4d2a23377d2d8332b SOURCE CLUSTER: AWS OCP 3.10 TARGET CLUSTER: AWS OCP 4.8 MTC could be installed without problems, and migrations could be executed properly. Moved to VERIFIED status.
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