-
Bug
-
Resolution: Not a Bug
-
Major
-
None
-
4.15.z
-
None
-
False
-
Description of problem:
AWS VPCE Operator (an SRE managed operator) is failing to install due to OLM validating v2 CRs against v1 CRDs. The CRD AwsVPCEndpoint has two versions: v1alpha1 and v1alpha2. The v1alpha1 CRD had additional required fields and it seems OLM is validating these required fields against a v1alpha2 CR. The cluster only has v1alpha2 CRs installed. Looking at the InstallPlan: ... reason: InstallComponentFailed status: "False" type: Installed message: 'error validating existing CRs against new CRD''s schema for "vpcendpoints.avo.openshift.io": error validating avo.openshift.io/v1alpha1, Kind=VpcEndpoint "ocm-staging-2f680nvupr68usru982fc94064oisj87-akanni-1039/private-hcp": updated validation is too restrictive: [[].spec.externalNameService: Required value, [].spec.serviceName: Required value, [].spec.subdomainName: Required value]'
Version-Release number of selected component (if applicable):
How reproducible:
100%
Steps to Reproduce:
1. Install an Operator (Subscription, InstallPlan, ClusterServiceVersion) that has 2 versions of CRDs with various validations. 2. v1 of the CRD has strict requirements and v2 has relaxed requirements
Actual results:
CSV ends up in Pending state (No Service Account Found) and InstallPlan complains about CRD validation.
Expected results:
CSV succeeds at installation
Additional info:
- AwsVPCEndpoint CRD: https://github.com/openshift/aws-vpce-operator/blob/main/deploy/crds/avo.openshift.io_vpcendpoints.yaml
- AWS VPCE Operator OLM Bundle Example: https://gitlab.cee.redhat.com/service/saas-aws-vpce-operator-bundle/-/commit/8a9ab93cbeb6d42a6815338fb8d3044808336e5a
- is duplicated by
-
ENTMQBR-9210 Operator update failing for "updated validation is too restrictive"
- Closed