Bug 1981335

Summary: MTC cannot be deployed on OpenShift Container Platform version 3.10
Product: Migration Toolkit for Containers Reporter: Sergio <sregidor>
Component: OperatorAssignee: John Matthews <jmatthew>
Status: CLOSED ERRATA QA Contact: Xin jiang <xjiang>
Severity: urgent Docs Contact: Avital Pinnick <apinnick>
Priority: urgent    
Version: 1.5.0CC: ernelson, pgaikwad, rjohnson, xjiang
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:
: 1981537 1981717 (view as bug list) Environment:
Last Closed: 2021-07-28 04:08:21 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:
Bug Depends On:    
Bug Blocks: 1981537, 1981717    
Attachments:
Description Flags
must-gather file none

Description Sergio 2021-07-12 12:24:34 UTC
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

Comment 1 Pranav Gaikwad 2021-07-12 19:45:37 UTC
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.

Comment 6 Sergio 2021-07-13 11:20:00 UTC
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.

Comment 11 errata-xmlrpc 2021-07-28 04:08:21 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