Description of problem:
On 4.20.0-ec.5 (with TechPreviewNoUpgrade ), with OLMv1, testing an upgrade of Serverless Operator from 1.35.0 to 1.36.0, I am getting "v1beta1: ^.spec.ingress.istio.knative-local-gateway.servers: unhandled: unhandled changes found :"
error for resolved bundle "serverless-operator.v1.36.0" with version "1.36.0": validating upgrade for CRD "knativeservings.operator.knative.dev": v1beta1: ^.spec.ingress.istio.knative-local-gateway.servers[*].tls: type: type changed : "object" -> ""
v1beta1: ^.spec.ingress.istio.knative-local-gateway.servers[*].tls: required: new required fields: [httpsRedirect]
v1beta1: ^.spec.ingress.istio.knative-local-gateway.servers: unhandled: unhandled changes found :
&v1.JSONSchemaProps{
... // 21 identical fields
MinProperties: nil,
Required: nil,
Items: &v1.JSONSchemaPropsOrArray{
Schema: &v1.JSONSchemaProps{
... // 26 identical fields
AnyOf: nil,
Not: nil,
Properties: map[string]v1.JSONSchemaProps{
"hosts": {Description: "One or more hosts exposed by this gateway.", Type: "array", Items: &{Schema: &{Type: "string", Format: "string"}}},
"port": {Type: "object", Properties: {"name": {Description: "Label assigned to the port.", Type: "string", Format: "string"}, "number": {Description: "A valid non-negative integer port number.", Type: "integer"}, "protocol": {Description: "The protocol exposed on the port.", Type: "string", Format: "string"}, "target_port": {Description: "A valid non-negative integer target port number.", Type: "integer"}}},
"tls": {
... // 23 identical fields
Items: nil,
AllOf: nil,
- OneOf: nil,
+ OneOf: []v1.JSONSchemaProps{
+ {Required: []string{"mode", "credentialName"}},
+ {Required: []string{"httpsRedirect"}},
+ },
AnyOf: nil,
Not: nil,
Properties: map[string]v1.JSONSchemaProps{
"credentialName": {Description: "TLS certificate name.", Type: "string", Format: "string"},
+ "httpsRedirect": {
+ Description: "If set to true, the load balancer will send a 301 redirect to HTTPS for all HTTP requests. Should be used only for HTTP listener"...,
+ Type: "boolean",
+ },
"mode": {Description: "TLS mode can be SIMPLE, MUTUAL, ISTIO_MUTUAL.", Type: "string", Format: "string"},
},
AdditionalProperties: nil,
PatternProperties: nil,
... // 3 identical fields
ExternalDocs: nil,
Example: nil,
- Nullable: false,
+ Nullable: true,
XPreserveUnknownFields: nil,
XEmbeddedResource: false,
... // 5 identical fields
},
},
AdditionalProperties: nil,
PatternProperties: nil,
... // 13 identical fields
},
JSONSchemas: nil,
},
AllOf: nil,
OneOf: nil,
... // 18 identical fields
}
Version-Release number of selected component (if applicable):
4.20.0-ec.5
How reproducible:
Always
Steps to Reproduce:
1. Create
oc create -f - <<EOF
---
apiVersion: v1
kind: Namespace
metadata:
name: openshift-serverless
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: serverless-operator-installer
namespace: openshift-serverless
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: serverless-operator-installer-binding
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: serverless-operator-installer
namespace: openshift-serverless
---
apiVersion: olm.operatorframework.io/v1
kind: ClusterExtension
metadata:
name: serverless-operator
spec:
namespace: openshift-serverless
serviceAccount:
name: serverless-operator-installer
source:
sourceType: Catalog
catalog:
packageName: serverless-operator
version: 1.35.0
EOF
2. Wait until the installation succeedes
3. oc edit ClusterExtension serverless-operator # remove the version: 1.35.0 to upgrade to a current 1.36.0
Actual results:
Fails with the 'error for resolved bundle "serverless-operator.v1.36.0" with version "1.36.0": validating upgrade for CRD' errors
Expected results:
Succeedes
Additional info:
(note, currently Serverless Operator 1.35.0 and 1.36.0 are present in 4.19 catalog, but not in 4.20)
- is cloned by
-
OCPBUGS-60963 OLMv1 crdUpgradeSafety fails due to unhandled OneOf changes
-
- New
-
- is related to
-
OCPBUGS-64643 OLM fail the upgrade with a HUGE error message
-
- New
-
- relates to
-
OCPBUGS-60194 OLMv1 crdUpgradeSafety fails due to unhandled Items changes
-
- Closed
-