Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1771276

Summary: Missing description and FIELDS info for CRD operatorsource
Product: OpenShift Container Platform Reporter: Fan Jia <jfan>
Component: OLMAssignee: Alexander Greene <agreene>
OLM sub component: OperatorHub QA Contact: Fan Jia <jfan>
Status: CLOSED DUPLICATE Docs Contact:
Severity: medium    
Priority: medium CC: agreene, anbhatta, bandrade, chezhang, chuo, dyan, jiazha, scolange, xjiang
Version: 4.3.0   
Target Milestone: ---   
Target Release: 4.3.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-11-19 15:11:59 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:

Description Fan Jia 2019-11-12 05:38:30 UTC
Description of problem:
Should add the description and FIELDS info for CRD operatorsource.
# oc explain operatorsource
KIND:     OperatorSource
VERSION:  operators.coreos.com/v1

DESCRIPTION:
     <empty>

Version-Release number of selected component (if applicable):
4.3.0-0.nightly-2019-11-10-185106

How reproducible:
always

Steps to Reproduce:
1. Install the OCP 4.3.
2. Login this cluster as a cluster-admin.
3. Check the CRD operatorsource
$ oc explain operatorsource

Actual results:
Get nothing about the descrioption and no FIELDs.
#oc explain operatorsource
DESCRIPTION:
     <empty>

Expected results:
Should get the appropriate description for CRD operatorsource.
#oc explain operatorsource
KIND:     OperatorSource
VERSION:  operators.coreos.com/v1

DESCRIPTION:
     OperatorSource is used to define the external datastore we are using to
     store operator bundles.

FIELDS:
   apiVersion	<string>
     APIVersion defines the versioned schema of this representation of an
     object. Servers should convert recognized schemas to the latest internal
     value, and may reject unrecognized values. More info:
     https://git.k8s.io/community/contributors/devel/api-conventions.md#resources

   kind	<string>
     Kind is a string value representing the REST resource this object
     represents. Servers may infer this from the endpoint the client submits
     requests to. Cannot be updated. In CamelCase. More info:
     https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds

   metadata	<Object>
     Standard object's metadata. More info:
     https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata

   spec	<Object>
     Spec for an OperatorSource.

   status	<map[string]>
Additional info:

Comment 1 Alexander Greene 2019-11-19 15:11:59 UTC
Problem:
This issue was created due to the introduction of a new version of CustomResourceDefinitions (V1), which requires Structural Schemas [1]. With this change, any CRD that does not prune unknown fields will not return any output from `oc explain`.

Solution:
The CatalogSourceConfig and OperatorSource CRDs that Marketplace owns must be rebuilt using the Operator-SDK and must have `spec.preserveUnknownFields` set to `false`. Due to the nature of this fix, I will be updating Bugzilla #1771277 to include this work and close this bug.


Links:
[1] https://kubernetes.io/blog/2019/06/20/crd-structural-schema/

*** This bug has been marked as a duplicate of bug 1771277 ***