Skip to content

✨ Implement CAPI v1beta2 contract support with api/v1beta2 #2895

@bnallapeta

Description

@bnallapeta

/kind feature

Describe the solution you'd like
Implement full CAPI v1beta2 contract support by creating a new api/v1beta2 API version with required breaking changes.

Background
CAPO v0.13.2 (?) reverted to v1beta1 contract. v0.15 will properly implement v1beta2.

Tasks

API Changes:

  • Create api/v1beta2/ with breaking changes:
    • Change conditions: clusterv1.Conditions[]metav1.Condition
    • Remove deprecated fields: status.ready, status.failureReason, status.failureMessage
    • Update FailureDomains if needed
  • Update all v1beta1 resources: OpenStackCluster, OpenStackMachine, OpenStackClusterTemplate, OpenStackMachineTemplate
  • Run make generate to generate deepcopy, CRDs, etc.

Conversion & Webhooks:

  • Implement conversion webhooks (v1beta1 ↔ v1beta2)
  • Update validation/defaulting webhooks for v1beta2
  • Update CRD labels: cluster.x-k8s.io/v1beta2: v1beta2

Controllers & Templates:

  • Update controllers to use conditions instead of deprecated fields
  • Update all cluster templates in templates/ to v1beta2
  • Update metadata.yaml to claim v1beta2 contract

Documentation & Testing:

  • Create migration guide: docs/book/src/topics/crd-changes/v1beta1-to-v1beta2.md
  • Unit tests for conversion webhooks
  • E2E tests with CAPI v1.11+ (v1beta2 contract)
  • Upgrade tests (v1beta1 → v1beta2)

Metadata

Metadata

Assignees

Labels

kind/featureCategorizes issue or PR as related to a new feature.

Type

No type

Projects

Status

Planned

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions