Skip to content

Deprecate KCP.Available condition #10532

@fabriziopandini

Description

@fabriziopandini

What would you like to be added (User Story)?

As a user I would like clear observability signals.

Detailed Description

As per #3779 discussion:

WRT to Initialized vs Available:

  • As of today Cluster.ControlPlaneInitialized is used everywhere.
  • Cluster.ControlPlaneInitialized derives from ControlPlane.status.initialized, and it is up to the control plane provider to determine when to set it to true (KCP currently assumes the control plane is initialized when there is a kubeadm-config map in the workload cluster, and this imply that there is a working LB and API server for the workload cluster).
  • Available condition exists only in KCP, and it has the very same meaning of KCP.status.initialized

Considered that IMO the most practical way forwards is

  • To close this issue because we don't need to change the contract, ControlPlane.status.initialized is already documented
  • To open a new issue to drop KCP.Available, or to replace it with KCP.Initialized to get rid of the less used noun

This issue is about the last point.
My preference goes to introduce a KCP.Initialized condition (that mirrors ControlPlane.status.initialized)

Anything else you would like to add?

No response

Label(s) to be applied

/kind cleanup
/kind api-change
/area control-plane
/priority important-longterm

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/control-planeIssues or PRs related to control-plane lifecycle managementkind/api-changeCategorizes issue or PR as related to adding, removing, or otherwise changing an APIkind/cleanupCategorizes issue or PR as related to cleaning up code, process, or technical debt.needs-triageIndicates an issue or PR lacks a `triage/foo` label and requires one.priority/important-longtermImportant over the long term, but may not be staffed and/or may need multiple releases to complete.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions