Skip to content

Generated CRD descriptions contain typos #13639

@chinameok

Description

@chinameok

What steps did you take and what happened?

While consuming the generated Cluster API CRDs as API reference input, I found several user-facing CRD descriptions with typos or malformed wording.

This is reproducible from the current upstream branches by searching the source annotations/comments and generated CRDs:

git grep -n -E 'if it they exist|Random, "Newest"|IPAdress|Defaults to 10 is not set' origin/main -- api config/crd/bases

Examples on origin/main:

  • api/core/v1beta1/machinepool_types.go and api/core/v1beta2/machinepool_types.go
    • Current text: nodeRefs will point to the corresponding Nodes if it they exist.
  • api/core/v1beta1/machineset_types.go, api/core/v1beta2/machineset_types.go, api/core/v1beta1/machinedeployment_types.go, and api/core/v1beta2/machinedeployment_types.go
    • Current text includes: Valid values are "Random, "Newest", "Oldest"
  • api/ipam/v1alpha1/ipaddress_types.go, api/ipam/v1beta1/ipaddress_types.go, and api/ipam/v1beta2/ipaddress_types.go
    • Current text: Time duration since creation of IPAdress
  • api/ipam/v1alpha1/ipaddressclaim_types.go, api/ipam/v1beta1/ipaddressclaim_types.go, and api/ipam/v1beta2/ipaddressclaim_types.go
    • Current text: Time duration since creation of IPAdressClaim
  • api/runtime/v1alpha1/extensionconfig_types.go
    • Current text: Defaults to 10 is not set.

The same strings are also present in generated CRDs under config/crd/bases, so they are visible to users through CRD descriptions and printer-column descriptions.

I also checked origin/release-1.10; the same typo patterns are present there as well.

What did you expect to happen?

The generated CRD descriptions should use clear and correctly spelled user-facing text, for example:

  • nodeRefs will point to the corresponding Nodes if they exist.
  • Valid values are "Random", "Newest", "Oldest"
  • Defaults to "Random". Valid values are "Random", "Newest", "Oldest"
  • Time duration since creation of IPAddress
  • Time duration since creation of IPAddressClaim
  • Defaults to 10 seconds if not set.

This should be a description-only cleanup. It should not change API fields, validation rules, storage versions, served versions, conversion behavior, or controller behavior.

Cluster API version

main and release-1.10.

Verified against:

  • origin/main: 8c56ce51e5868db56030f2f2cc3c315dc62ead2a
  • origin/release-1.10: 0d1e30fd09f1f013830c0b94835f5c96ca0e4324

Kubernetes version

N/A. This is about generated CRD description text in the Cluster API repository.

Anything else you would like to add?

This was found while generating downstream API reference documentation from Cluster API CRDs. The downstream documentation temporarily applied a description-only cleanup, but the source comments and generated CRDs should be fixed upstream so future syncs do not reintroduce the same typos.

The fix should update source comments / kubebuilder annotations and regenerate the affected CRDs. If generated files change beyond descriptions or printer-column descriptions, that should be reviewed separately as an API compatibility concern.

/kind bug
/area api
/area ipam
/area runtime-sdk
/area machinepool
/area machineset
/area machinedeployment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/apiIssues or PRs related to the APIsarea/ipamIssues or PRs related to ipamarea/machinedeploymentIssues or PRs related to machinedeploymentsarea/machinepoolIssues or PRs related to machinepoolsarea/machinesetIssues or PRs related to machinesetsarea/runtime-sdkIssues or PRs related to Runtime SDKkind/bugCategorizes issue or PR as related to a bug.needs-priorityIndicates an issue lacks a `priority/foo` label and requires one.needs-triageIndicates an issue or PR lacks a `triage/foo` label and requires one.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions