Bug 1705750 - Missing openapi CRD definitions for oc explain to work
Summary: Missing openapi CRD definitions for oc explain to work
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Machine Config Operator
Version: 4.1.0
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: ---
: 4.5.0
Assignee: Yu Qi Zhang
QA Contact: Micah Abbott
URL:
Whiteboard:
: 1802461 1809389 (view as bug list)
Depends On:
Blocks: 1808457
TreeView+ depends on / blocked
 
Reported: 2019-05-02 21:05 UTC by Maciej Szulik
Modified: 2020-07-13 17:11 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1808457 (view as bug list)
Environment:
Last Closed: 2020-07-13 17:11:03 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github openshift machine-config-operator pull 1485 0 None closed generate CRD manifests and fix for oc explain 2020-12-06 18:00:47 UTC
Red Hat Product Errata RHBA-2020:2409 0 None None None 2020-07-13 17:11:16 UTC

Description Maciej Szulik 2019-05-02 21:05:45 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. 

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-version-operator/pull/168 and then update origin's e2e test and uncomment the lines from your components.

Comment 1 Antonio Murdaca 2019-05-03 12:35:46 UTC
The MCO has types that rely on external repositories that we don't control (like ignition). We can't support that _now_ till we figure something out. Some types are being moved as we speak though e.g. https://github.com/openshift/api/pull/301

Comment 2 Maciej Szulik 2019-05-03 20:15:55 UTC
This is not 4.1 blocker, but it needs to be fixed as part of 4.1.x since this is important element of documentation.

Comment 3 Antonio Murdaca 2019-05-29 13:25:41 UTC
We still have a PR in openshift/api opened, moving this to 4.2 where it better fits (unlikely to focus on this for 4.1.z)

Comment 4 Antonio Murdaca 2019-07-04 10:08:46 UTC
Tracking upstream issue https://github.com/openshift/machine-config-operator/issues/930 (work started already, it'll hopefully make 4.2 or 4.2.z at most)

Comment 5 Antonio Murdaca 2019-08-22 10:32:28 UTC
Moving to 4.2.z as we're not yet done with the Ignition move out of the MC (or move to RawExtension)

Comment 7 Antonio Murdaca 2019-08-29 16:06:29 UTC
as per previous comment, I'm setting this BZ to 4.3

Comment 8 Maciej Szulik 2019-11-05 18:03:51 UTC
See https://github.com/openshift/cluster-kube-controller-manager-operator/pull/302 for how you should now be using vendored openshift/api's CRDs.

Comment 10 Antonio Murdaca 2020-01-30 16:10:41 UTC
The remaining one based on some chats with Clayton for MCO are:

- controllerconfigs
- containerruntimeconfigs
- kubeletconfigs
- machineconfigpools

Everything else should be set and done at this point.

Comment 11 Yu Qi Zhang 2020-02-18 21:50:38 UTC
*** Bug 1802461 has been marked as a duplicate of this bug. ***

Comment 12 Yu Qi Zhang 2020-02-28 14:28:58 UTC
Fixed in https://github.com/openshift/machine-config-operator/pull/1485

Comment 15 Yu Qi Zhang 2020-03-04 14:07:36 UTC
*** Bug 1809389 has been marked as a duplicate of this bug. ***

Comment 16 Michael Nguyen 2020-03-12 13:18:39 UTC
$ for i in containerruntimeconfigs controllerconfigs kubeletconfigs machineconfigpools machineconfigs; do ./oc explain ${i}; done
KIND:     ContainerRuntimeConfig
VERSION:  machineconfiguration.openshift.io/v1

DESCRIPTION:
     ContainerRuntimeConfig describes a customized Container Runtime
     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>
     ContainerRuntimeConfigSpec defines the desired state of
     ContainerRuntimeConfig

   status	<Object>
     ContainerRuntimeConfigStatus defines the observed state of a
     ContainerRuntimeConfig

KIND:     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:     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

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
./oc get clusterversion
NAME      VERSION                             AVAILABLE   PROGRESSING   SINCE   STATUS
version   4.5.0-0.nightly-2020-03-12-003015   True        False         9h      Cluster version is 4.5.0-0.nightly-2020-03-12-003015
$ ./oc version
Client Version: openshift-clients-4.5.0-202003100316
Server Version: 4.5.0-0.nightly-2020-03-12-003015
Kubernetes Version: v1.17.1

Comment 18 errata-xmlrpc 2020-07-13 17:11:03 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


Note You need to log in before you can comment on or make changes to this bug.