Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tracking issue for Improving status in CAPI resources - Phase 2 #11947

Open
33 tasks
Tracked by #10852
fabriziopandini opened this issue Mar 10, 2025 · 0 comments
Open
33 tasks
Tracked by #10852
Assignees
Labels
kind/feature Categorizes issue or PR as related to a new feature. priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. triage/accepted Indicates an issue or PR is ready to be actively worked on.
Milestone

Comments

@fabriziopandini
Copy link
Member

Implementation Phase2 (1.11)

Initial notes for phase 2 of the implementation, where new field are promoted top level in status and used by controllers

  • v1beta2 API (not strictly related to this issue)
    • Prepare main branch
    • Create v1beta2 types, make controllers/webhooks to use it
      • Update example templates
    • Change clusterctl & E2E tests & test extensions to use v1beta2
    • Consider if to step up test coverage where API version is relevant (e.g. CC, topology controller, Runtime Extension)
    • Update doc about current version
  • API changes for status
    • Introduce deprecated struct, move v1beta2 top level
    • Rename condition interfaces and method implementations (current--> deprecated, v1beta2--> current)
    • Rename condition consts (current--> deprecated, v1beta2--> current)
    • Move conditions fields as the first field in the struct
    • Add minReadySeconds to machine, remove it from KCP. MD
  • Fine tuning of print columns
  • Change contracts
    • When reading from external objects, read new fields, fallback to old ones
    • Update contract docs
  • Use new fields
    • (every controller that use conditions or counters)
    • MachineHealthCheck controller
      • Change test for ControlPlaneInitializedCondition in reconcile
      • Get MachineHealthCheckSucceededCondition in patchUnhealthyTargets
      • Drop failureReson/failureMessage test from needsRemediation
      • Change test for ControlPlaneInitializedCondition, InfrastructureReadyCondition in needsRemediation (few places)
    • KCP controller
      • Change test for MachineEtcdMemberHealthyCondition in canSafelyRemoveEtcdMember + add a test for ClusterHealthy if not already there
      • We should use the Initialized condition instead of the Available condition to calculate remoteConditionsGracePeriod
  • Condition utils
    • Rename packages for condition utils (conditions-->deprecated conditions, v1beta2conditions --> conditions)
  • Clusterctl
    • clusterctl describe (drop v1beta2 flag, introduce deprecated flag, switch default behaviour in the implementation)
  • Change metrics & dashboards to use conditions

Implementation Phase3

TBD

Backlog

Looking for volunteers (like everything else MachinePools)

If and when we have bandwidth

  • Drop fake objects from controller tests and use the test/util/builders package
@k8s-ci-robot k8s-ci-robot added needs-priority Indicates an issue lacks a `priority/foo` label and requires one. needs-kind Indicates a PR lacks a `kind/foo` label and requires one. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Mar 10, 2025
@fabriziopandini fabriziopandini added kind/feature Categorizes issue or PR as related to a new feature. priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. triage/accepted Indicates an issue or PR is ready to be actively worked on. labels Mar 10, 2025
@k8s-ci-robot k8s-ci-robot removed needs-kind Indicates a PR lacks a `kind/foo` label and requires one. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. needs-priority Indicates an issue lacks a `priority/foo` label and requires one. labels Mar 10, 2025
@fabriziopandini fabriziopandini self-assigned this Mar 10, 2025
@sbueringer sbueringer added this to the v1.11 milestone Mar 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature. priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. triage/accepted Indicates an issue or PR is ready to be actively worked on.
Projects
None yet
Development

No branches or pull requests

3 participants