Skip to content

⚠️ Adopt CAPI v1beta2 api's #2383

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

Merged
merged 3 commits into from
Jun 16, 2025

Conversation

Karthik-K-N
Copy link
Contributor

@Karthik-K-N Karthik-K-N commented Jun 10, 2025

What this PR does / why we need it:

This PR updates cluster-api version to v1.11.0-alpha.0
As a part of this upgrade the CORE CAPI resource version are updated to v1beta2, In controller as well in cluster creation templates.

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes ##2375 #2387

Special notes for your reviewer:

/area provider/ibmcloud

  1. Please confirm that if this PR changes any image versions, then that's the sole change this PR makes.

Release note:

Adopt CAPI v1beta2 API

Test following cluster creation flow

@k8s-ci-robot k8s-ci-robot added area/provider/ibmcloud Issues or PRs related to ibmcloud provider cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels Jun 10, 2025
Copy link

netlify bot commented Jun 10, 2025

Deploy Preview for kubernetes-sigs-cluster-api-ibmcloud ready!

Name Link
🔨 Latest commit aa4a97a
🔍 Latest deploy log https://app.netlify.com/projects/kubernetes-sigs-cluster-api-ibmcloud/deploys/684fe996538d7300084797e2
😎 Deploy Preview https://deploy-preview-2383.cluster-api-ibmcloud.sigs.k8s.io
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@Karthik-K-N
Copy link
Contributor Author

/hold for testing

@k8s-ci-robot k8s-ci-robot added size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. labels Jun 10, 2025
@Karthik-K-N
Copy link
Contributor Author

Normal PowerVS Cluster testing results

karthikkn@Karthiks-MacBook-Pro cluster-api-provider-ibmcloud % kubectl get cluster
NAME            CLUSTERCLASS   PHASE         AGE   VERSION
ibm-powervs-1                  Provisioned   27m
karthikkn@Karthiks-MacBook-Pro cluster-api-provider-ibmcloud % kubectl get ibmpowervscluster
NAME            CLUSTER         AGE
ibm-powervs-1   ibm-powervs-1   27m
karthikkn@Karthiks-MacBook-Pro cluster-api-provider-ibmcloud % kubectl get machines
NAME                                CLUSTER         NODENAME                            PROVIDERID                                                                                         PHASE     AGE   VERSION
ibm-powervs-1-control-plane-56p5p   ibm-powervs-1   ibm-powervs-1-control-plane-56p5p   ibmpowervs://osa/osa21/10b1000b-da8d-4e18-ad1f-6b2a56a8c130/3ffed609-9430-4300-99f8-e441f70c231d   Running   28m   v1.31.0
ibm-powervs-1-control-plane-9h52q   ibm-powervs-1   ibm-powervs-1-control-plane-9h52q   ibmpowervs://osa/osa21/10b1000b-da8d-4e18-ad1f-6b2a56a8c130/16bfb011-6f07-4b94-84bc-fdf9b4239f81   Running   22m   v1.31.0
ibm-powervs-1-control-plane-cgdhb   ibm-powervs-1   ibm-powervs-1-control-plane-cgdhb   ibmpowervs://osa/osa21/10b1000b-da8d-4e18-ad1f-6b2a56a8c130/f7077168-1360-4e5e-8edd-48ee819acac6   Running   15m   v1.31.0
ibm-powervs-1-md-0-8hj2n-mhcpp      ibm-powervs-1   ibm-powervs-1-md-0-8hj2n-mhcpp      ibmpowervs://osa/osa21/10b1000b-da8d-4e18-ad1f-6b2a56a8c130/920228f6-2968-44de-a2f2-438fc3084049   Running   27m   v1.31.0
karthikkn@Karthiks-MacBook-Pro cluster-api-provider-ibmcloud % kubectl get ibmpowervsmachines
NAME                                CLUSTER         AGE   READY   STATE    HEALTH
ibm-powervs-1-control-plane-56p5p   ibm-powervs-1   28m   true    ACTIVE   OK
ibm-powervs-1-control-plane-9h52q   ibm-powervs-1   22m   true    ACTIVE   OK
ibm-powervs-1-control-plane-cgdhb   ibm-powervs-1   15m   true    ACTIVE   OK
ibm-powervs-1-md-0-8hj2n-mhcpp      ibm-powervs-1   28m   true    ACTIVE   OK

From workload cluster

karthikkn@Karthiks-MacBook-Pro clusterctl % ./clusterctl get kubeconfig ibm-powervs-1 > workload.conf
karthikkn@Karthiks-MacBook-Pro clusterctl % export KUBECONFIG=workload.conf
karthikkn@Karthiks-MacBook-Pro clusterctl % kubectl get nodes
NAME                                STATUS     ROLES           AGE   VERSION
ibm-powervs-1-control-plane-56p5p   NotReady   control-plane   24m   v1.31.0
ibm-powervs-1-control-plane-9h52q   NotReady   control-plane   18m   v1.31.0
ibm-powervs-1-control-plane-cgdhb   NotReady   control-plane   11m   v1.31.0
ibm-powervs-1-md-0-8hj2n-mhcpp      NotReady   <none>          19m   v1.31.0

@Karthik-K-N
Copy link
Contributor Author

PowerVS Cluster creation with Infra creation flow

karthikkn@Karthiks-MacBook-Pro cluster-api-provider-ibmcloud % kubectl get cluster
NAME                     CLUSTERCLASS   PHASE         AGE   VERSION
karthikkn-capi-powervs                  Provisioned   55m


karthikkn@Karthiks-MacBook-Pro cluster-api-provider-ibmcloud % kubectl get ibmpowervscluster
NAME                     CLUSTER                  AGE
karthikkn-capi-powervs   karthikkn-capi-powervs   55m


karthikkn@Karthiks-MacBook-Pro cluster-api-provider-ibmcloud % kubectl get machines
NAME                                         CLUSTER                  NODENAME                                     PROVIDERID                                                                                         PHASE     AGE   VERSION
karthikkn-capi-powervs-control-plane-hpshs   karthikkn-capi-powervs   karthikkn-capi-powervs-control-plane-hpshs   ibmpowervs://osa/osa21/06f035e2-2c9d-47fb-bc9a-d40678ea22d3/698a14f8-9c1e-47c0-85b3-738aac90b330   Running   19m   v1.32.3
karthikkn-capi-powervs-control-plane-lcjhq   karthikkn-capi-powervs   karthikkn-capi-powervs-control-plane-lcjhq   ibmpowervs://osa/osa21/06f035e2-2c9d-47fb-bc9a-d40678ea22d3/fe0da2cb-6ad1-4abf-87bb-b4b1bde0ef7e   Running   11m   v1.32.3
karthikkn-capi-powervs-control-plane-n5ttf   karthikkn-capi-powervs   karthikkn-capi-powervs-control-plane-n5ttf   ibmpowervs://osa/osa21/06f035e2-2c9d-47fb-bc9a-d40678ea22d3/84e23cc5-310f-40ea-bc03-3cc3820bc4b7   Running   46m   v1.32.3
karthikkn-capi-powervs-md-0-9l8vz-cqxc6      karthikkn-capi-powervs   karthikkn-capi-powervs-md-0-9l8vz-cqxc6      ibmpowervs://osa/osa21/06f035e2-2c9d-47fb-bc9a-d40678ea22d3/4d9f29d9-d3ab-4b05-806e-033253ff7594   Running   46m   v1.32.3


karthikkn@Karthiks-MacBook-Pro cluster-api-provider-ibmcloud % kubectl get ibmpowervsmachines
NAME                                         CLUSTER                  AGE   READY   STATE    HEALTH
karthikkn-capi-powervs-control-plane-hpshs   karthikkn-capi-powervs   19m   true    ACTIVE   OK
karthikkn-capi-powervs-control-plane-lcjhq   karthikkn-capi-powervs   12m   true    ACTIVE   WARNING
karthikkn-capi-powervs-control-plane-n5ttf   karthikkn-capi-powervs   46m   true    ACTIVE   OK
karthikkn-capi-powervs-md-0-9l8vz-cqxc6      karthikkn-capi-powervs   46m   true    ACTIVE   OK



arthikkn@Karthiks-MacBook-Pro cluster-api-provider-ibmcloud % kubectl get ibmpowervscluster -o yaml
apiVersion: v1
items:
- apiVersion: infrastructure.cluster.x-k8s.io/v1beta2
  kind: IBMPowerVSCluster
  metadata:
    annotations:
      powervs.cluster.x-k8s.io/create-infra: "true"
    creationTimestamp: "2025-06-12T05:21:51Z"
    finalizers:
    - ibmpowervscluster.infrastructure.cluster.x-k8s.io
    generation: 2
    labels:
      cluster.x-k8s.io/cluster-name: karthikkn-capi-powervs
    name: karthikkn-capi-powervs
    namespace: default
    ownerReferences:
    - apiVersion: cluster.x-k8s.io/v1beta2
      blockOwnerDeletion: true
      controller: true
      kind: Cluster
      name: karthikkn-capi-powervs
      uid: 6983cfc1-a798-4b3f-ac8c-8bea84fefe89
    resourceVersion: "9222"
    uid: 65eb01d8-47ba-4a70-aee4-ede1ae578437
  spec:
    controlPlaneEndpoint:
      host: 61c173cd-jp-osa.lb.appdomain.cloud
      port: 6443
    loadBalancers:
    - name: karthikkn-capi-powervs-loadbalancer
      public: true
    network: {}
    resourceGroup:
      name: ibm-hypershift-dev
    serviceInstance:
      name: karthikkn-capi-powervs-serviceInstance
    serviceInstanceID: ""
    transitGateway:
      name: karthikkn-capi-powervs-transitgateway
    vpc:
      name: karthikkn-capi-powervs-vpc
      region: jp-osa
    vpcSubnets:
    - name: karthikkn-capi-powervs-vpcsubnet
    zone: osa21
  status:
    conditions:
    - lastTransitionTime: "2025-06-12T05:30:23Z"
      status: "True"
      type: LoadBalancerReady
    - lastTransitionTime: "2025-06-12T05:30:11Z"
      status: "True"
      type: NetworkReady
    - lastTransitionTime: "2025-06-12T05:22:41Z"
      status: "True"
      type: ServiceInstanceReady
    - lastTransitionTime: "2025-06-12T05:26:25Z"
      status: "True"
      type: TransitGatewayReady
    - lastTransitionTime: "2025-06-12T05:22:08Z"
      status: "True"
      type: VPCReady
    - lastTransitionTime: "2025-06-12T05:22:14Z"
      status: "True"
      type: VPCSecurityGroupReady
    - lastTransitionTime: "2025-06-12T05:22:14Z"
      status: "True"
      type: VPCSubnetReady
    dhcpServer:
      controllerCreated: true
      id: 6e4f1cfd-79a9-4fb9-a773-2d2a69b7c5ea
    loadBalancers:
      karthikkn-capi-powervs-loadbalancer:
        controllerCreated: true
        hostname: 61c173cd-jp-osa.lb.appdomain.cloud
        id: r034-61c173cd-2ff2-4c7c-a66d-f71c408da7b3
        state: active
    network:
      controllerCreated: true
      id: bc55099f-1a52-428b-8595-7a700b676dcd
    ready: true
    resourceGroupID:
      controllerCreated: false
      id: 08fe0ad0ec9b45aab2cb6d7a4d6817ba
    serviceInstance:
      controllerCreated: true
      id: 06f035e2-2c9d-47fb-bc9a-d40678ea22d3
    transitGateway:
      controllerCreated: true
      id: ca104202-b77c-4669-a7a3-16bf758f843c
      powerVSConnection:
        controllerCreated: true
        id: 88c9a42c-a98a-439a-8005-0eccda9348bc
      vpcConnection:
        controllerCreated: true
        id: 088f8450-0e96-4257-86a7-5b5e4c9d44e1
    v1beta2:
      conditions:
      - lastTransitionTime: "2025-06-12T05:30:32Z"
        message: ""
        observedGeneration: 2
        reason: Ready
        status: "True"
        type: Ready
      - lastTransitionTime: "2025-06-12T05:30:23Z"
        message: ""
        observedGeneration: 2
        reason: Ready
        status: "True"
        type: LoadBalancerReady
      - lastTransitionTime: "2025-06-12T05:30:11Z"
        message: ""
        observedGeneration: 2
        reason: Ready
        status: "True"
        type: NetworkReady
      - lastTransitionTime: "2025-06-12T05:26:25Z"
        message: ""
        observedGeneration: 2
        reason: Ready
        status: "True"
        type: TransitGatewayReady
      - lastTransitionTime: "2025-06-12T05:22:08Z"
        message: ""
        observedGeneration: 2
        reason: Ready
        status: "True"
        type: VPCReady
      - lastTransitionTime: "2025-06-12T05:22:14Z"
        message: ""
        observedGeneration: 2
        reason: Ready
        status: "True"
        type: VPCSecurityGroupReady
      - lastTransitionTime: "2025-06-12T05:22:14Z"
        message: ""
        observedGeneration: 2
        reason: Ready
        status: "True"
        type: VPCSubnetReady
      - lastTransitionTime: "2025-06-12T05:22:41Z"
        message: ""
        observedGeneration: 2
        reason: Ready
        status: "True"
        type: WorkspaceReady
      - lastTransitionTime: "2025-06-12T05:21:51Z"
        message: ""
        observedGeneration: 2
        reason: NotPaused
        status: "False"
        type: Paused
    vpc:
      controllerCreated: true
      id: r034-5bf00434-9f46-4673-95ad-432a7405d58c
    vpcSubnet:
      karthikkn-capi-powervs-vpcsubnet:
        controllerCreated: true
        id: 02n7-095d0cd1-1b52-4994-bc13-e0831747b23c
kind: List
metadata:
  resourceVersion: ""

From workload cluster

arthikkn@Karthiks-MacBook-Pro clusterctl % ./clusterctl get kubeconfig karthikkn-capi-powervs  > workload.conf


karthikkn@Karthiks-MacBook-Pro clusterctl % export KUBECONFIG=workload.conf


karthikkn@Karthiks-MacBook-Pro clusterctl % kubectl get nodes
NAME                                         STATUS     ROLES           AGE     VERSION
karthikkn-capi-powervs-control-plane-hpshs   NotReady   control-plane   14m     v1.32.3
karthikkn-capi-powervs-control-plane-lcjhq   NotReady   control-plane   6m31s   v1.32.3
karthikkn-capi-powervs-control-plane-n5ttf   NotReady   control-plane   23m     v1.32.3
karthikkn-capi-powervs-md-0-9l8vz-cqxc6      NotReady   <none>          17m     v1.32.3

@Karthik-K-N Karthik-K-N changed the title Adopt CAPI v1beta2 api's ⚠️ Adopt CAPI v1beta2 api's Jun 12, 2025
@Amulyam24
Copy link
Contributor

VPC cluster creation with image 1.32.3

amulyameka@Amulyas-MacBook-Pro capi-karthik % kubectl get clusters
NAME        CLUSTERCLASS   PHASE         AGE   VERSION
ibm-vpc-0                  Provisioned   18m
amulyameka@Amulyas-MacBook-Pro capi-karthik % kubectl get machines
NAME                            CLUSTER     NODENAME                        PROVIDERID                                                                                     PHASE     AGE     VERSION
ibm-vpc-0-control-plane-w5znp   ibm-vpc-0   ibm-vpc-0-control-plane-w5znp   ibm://c265c8cefda241ca9c107adcbbacaa84///ibm-vpc-0/0717_eafe92c0-f231-42d0-b338-d34a495340da   Running   5m13s   v1.32.3
ibm-vpc-0-control-plane-wmrr5   ibm-vpc-0   ibm-vpc-0-control-plane-wmrr5   ibm://c265c8cefda241ca9c107adcbbacaa84///ibm-vpc-0/0717_f5ce9b43-1696-4f4f-b6a4-3bf45f362ef6   Running   7m36s   v1.32.3
ibm-vpc-0-control-plane-z4mpr   ibm-vpc-0   ibm-vpc-0-control-plane-z4mpr   ibm://c265c8cefda241ca9c107adcbbacaa84///ibm-vpc-0/0717_30ffe892-afe1-457d-ba6a-9350afc43dd6   Running   10m     v1.32.3
ibm-vpc-0-md-0-zq9ck-glnqc      ibm-vpc-0   ibm-vpc-0-md-0-zq9ck-glnqc      ibm://c265c8cefda241ca9c107adcbbacaa84///ibm-vpc-0/0717_41fc442a-c979-4f0e-9f9c-4eb972807ffd   Running   10m     v1.32.3

@Karthik-K-N
Copy link
Contributor Author

@mkumatag @Prajyot-Parab this PR is ready for review and we have tested various cluster creation flow as well.

I think since we are updating to alpha version, Can we cut a patch release of CAPIBM prior to that if anyone wants to use few of the latest features we added like

  1. add tier0 storage type support #2384
  2. Add listener based on the machine label and listener label #2155

@mkumatag
Copy link
Member

I think since we are updating to alpha version, Can we cut a patch release of CAPIBM prior to that if anyone wants to use few of the latest features we added like

I think we need to be cautious about who consumes this. We can't guarantee that any changes in this alpha release will remain unchanged - they are subject to change or removal. This is intended for testing purposes only.

@Karthik-K-N
Copy link
Contributor Author

PR is ready for review.

Copy link
Contributor

@Amulyam24 Amulyam24 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @Karthik-K-N! LGTM

Copy link
Contributor

@Prajyot-Parab Prajyot-Parab left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Karthik-K-N
Copy link
Contributor Author

@Karthik-K-N Missed - hack/ccm/Makefile#L16

This we will update while updating the CCM image, I think this is uses to build the CCM and its still in 1.23

@Prajyot-Parab
Copy link
Contributor

/unhold

@k8s-ci-robot k8s-ci-robot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Jun 16, 2025
@k8s-ci-robot
Copy link
Contributor

@Karthik-K-N: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
pull-cluster-api-provider-ibmcloud-apidiff aa4a97a link false /test pull-cluster-api-provider-ibmcloud-apidiff

Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

Copy link
Contributor

@Prajyot-Parab Prajyot-Parab left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jun 16, 2025
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: Karthik-K-N, Prajyot-Parab

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jun 16, 2025
@k8s-ci-robot k8s-ci-robot merged commit 7fa9420 into kubernetes-sigs:main Jun 16, 2025
13 of 14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. area/provider/ibmcloud Issues or PRs related to ibmcloud provider cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants