-
Bug
-
Resolution: Duplicate
-
Undefined
-
None
-
4.22.0
-
None
-
None
-
False
-
-
None
-
None
-
None
-
None
-
None
-
Rejected
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Description of problem:
The OLM `packageserver` in OCP 4.22.0-ec.3 publishes a broken OpenAPI v2 schemathat prevents ArgoCD (OpenShift GitOps v3.1.12) from building its cluster cache.This causes all ArgoCD applications to fail with `ComparisonError` and`UnknownError` conditions, blocking sync operations entirely.
Version-Release number of selected component (if applicable):
- **OpenShift**: 4.22.0-ec.3 - **OpenShift GitOps Operator**: v1.19.2 (bundles upstream ArgoCD v3.1.12) - **Cluster Type**: Single Node OpenShift (SNO), but likely affects all topologies
How reproducible:
100%
Steps to Reproduce:
ArgoCD applications show the following error: ```SchemaError(com.github.operator-framework.operator-lifecycle-manager.pkg.package-server.apis.operators.v1.PackageManifest.spec):unknown model in reference: "github.com~1operator-framework~1operator-lifecycle-manager~1pkg~1package-server~1apis~1operators~1v1.PackageManifestSpec"``` Application conditions report: - `ComparisonError`: Failed to load live state / target state- `UnknownError`: error synchronizing cache state All ArgoCD applications targeting the affected cluster are unable to sync.
Actual results:
The `packageserver` registers an aggregated APIService (`v1.packages.operators.coreos.com`)that serves an OpenAPI v2 schema with an inconsistent `$ref` reference: - The `PackageManifest` model is keyed as: `com.github.operator-framework.operator-lifecycle-manager.pkg.package-server.apis.operators.v1.PackageManifest` (dot-separated, standard OpenAPI v2 naming) - The `spec` field contains a `$ref` pointing to: `#/definitions/github.com~1operator-framework~1...~1v1.PackageManifestSpec` (slash-based with JSON Pointer `~1` encoding) - The target model does **not** exist in `#/definitions/` under either the `~1`-encoded name or the unescaped name. The model is simply missing from the OpenAPI v2 definitions. ArgoCD (via `kube-openapi`) fails hard when it cannot resolve this reference,which prevents the entire cluster cache from being built.
Expected results:
Additional info: