Bug 1769006

Summary: Missing openapi CRD definitions for oc explain to work
Product: OpenShift Container Platform Reporter: Maciej Szulik <maszulik>
Component: Machine Config OperatorAssignee: Antonio Murdaca <amurdaca>
Status: CLOSED ERRATA QA Contact: Michael Nguyen <mnguyen>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 4.3.0CC: kgarriso, smilner
Target Milestone: ---   
Target Release: 4.5.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: 2020-07-13 17:12:05 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 Maciej Szulik 2019-11-05 18:15:14 UTC
The following PR https://github.com/openshift/origin/pull/22696 introduced an e2e which is verifying that all the operators provide descriptive information as part of their schema which is then available through oc explain command. 
This was recently updated and brought back in https://github.com/openshift/origin/pull/24058. 

Your component has a few missing bits, see the commented out lines from the PR.

This should be fixed similarly to https://github.com/openshift/cluster-kube-controller-manager-operator/pull/302, 
iow. it should be using openshift/api's generated CRD yamls. 

Once done update origin's e2e test and uncomment the lines from your components.

Comment 3 Antonio Murdaca 2020-04-24 22:10:17 UTC
explain now works with MCO

Comment 4 Antonio Murdaca 2020-04-24 22:11:13 UTC
PR is here https://github.com/openshift/origin/pull/24633

Comment 7 Michael Nguyen 2020-04-27 17:08:21 UTC
Verified on 4.5.0-0.nightly-2020-04-27-093228

$ for i in controllerconfigs machineconfigpools machineconfigs kubeletconfigs; do ./oc explain $i; doneKIND:     ControllerConfig
VERSION:  machineconfiguration.openshift.io/v1

DESCRIPTION:
     ControllerConfig describes configuration for MachineConfigController. This
     is currently only used to drive the MachineConfig objects generated by the
     TemplateController.

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/sig-architecture/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/sig-architecture/api-conventions.md#types-kinds

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

   spec	<Object>
     ControllerConfigSpec is the spec for ControllerConfig resource.

   status	<Object>
     ControllerConfigStatus is the status for ControllerConfig

KIND:     MachineConfigPool
VERSION:  machineconfiguration.openshift.io/v1

DESCRIPTION:
     MachineConfigPool describes a pool of MachineConfigs.

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/sig-architecture/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/sig-architecture/api-conventions.md#types-kinds

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

   spec	<Object>
     MachineConfigPoolSpec is the spec for MachineConfigPool resource.

   status	<Object>
     MachineConfigPoolStatus is the status for MachineConfigPool resource.

KIND:     MachineConfig
VERSION:  machineconfiguration.openshift.io/v1

DESCRIPTION:
     MachineConfig defines the configuration for a machine

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/sig-architecture/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/sig-architecture/api-conventions.md#types-kinds

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

   spec	<Object>
     MachineConfigSpec is the spec for MachineConfig

KIND:     KubeletConfig
VERSION:  machineconfiguration.openshift.io/v1

DESCRIPTION:
     KubeletConfig describes a customized Kubelet configuration.

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/sig-architecture/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/sig-architecture/api-conventions.md#types-kinds

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

   spec	<Object>
     KubeletConfigSpec defines the desired state of KubeletConfig

   status	<Object>
     KubeletConfigStatus defines the observed state of a KubeletConfig

Comment 9 errata-xmlrpc 2020-07-13 17:12:05 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2020:2409