Description of problem:
OLM is supposed to verify that an update to a CRD does not introduce validation that is more restrictive than what is currently in effect. The logic for this only works if a CRD uses a single spec.validation entry, but this is unlikely to ever be the case. Instead, most CRDs use per-version validation schemas.
Version-Release number of selected component (if applicable):
How reproducible:
100%
Steps to Reproduce:
1. Create an operator that has a CRD with an entry in spec.versions along with spec.versions[].schema populated with some validation schema. 2. Create a CR 3. Attempt to upgrade to a newer version of the operator, where the CRD is updated to add a new version whose schema validation is more restrictive and will fail against the CR that was previously created
Actual results:
Upgrade succeeds
Expected results:
Upgrade fails
Additional info: