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

Scale from and to 0 support for autoscaler for VPC cluster #1523

Merged
merged 3 commits into from
Feb 9, 2024

Conversation

KeerthanaAP
Copy link
Contributor

@KeerthanaAP KeerthanaAP commented Dec 1, 2023

What this PR does / why we need it:

This PR add the chances to scale from and to 0 support for autoscaler for VPC cluster.
Added a IBMVPCMachineTemplateStatus with capacity field and a separate controller to update the capacity.

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 #959

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:

Scale from and to 0 support for autoscaler for VPC cluster
  • Complete integration testing
  • Add Unit tests
  • Update doc

@k8s-ci-robot k8s-ci-robot added the area/provider/ibmcloud Issues or PRs related to ibmcloud provider label Dec 1, 2023
Copy link

netlify bot commented Dec 1, 2023

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

Name Link
🔨 Latest commit 6606eb8
🔍 Latest deploy log https://app.netlify.com/sites/kubernetes-sigs-cluster-api-ibmcloud/deploys/65c4a218e61c2c000731fe5f
😎 Deploy Preview https://deploy-preview-1523--kubernetes-sigs-cluster-api-ibmcloud.netlify.app
📱 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 site configuration.

@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Dec 1, 2023
@k8s-ci-robot
Copy link
Contributor

Hi @KeerthanaAP. Thanks for your PR.

I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

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/test-infra repository.

@k8s-ci-robot k8s-ci-robot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Dec 1, 2023
@Prajyot-Parab
Copy link
Contributor

/cc @Karthik-K-N

@Prajyot-Parab
Copy link
Contributor

/ok-to-test

@k8s-ci-robot k8s-ci-robot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Dec 1, 2023
api/v1beta1/ibmvpcmachinetemplate_types.go Show resolved Hide resolved
capacity, err := getIBMVPCMachineCapacity(tc.VPCMachineTemplate)
if tc.expectErr {
if err == nil {
t.Fatal("getIBMPowerVSMachineCapacity expected to return an error")
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
t.Fatal("getIBMPowerVSMachineCapacity expected to return an error")
t.Fatal("getIBMVPCMachineCapacity expected to return an error")

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

controllers/ibmvpcmachinetemplate_controller_test.go Outdated Show resolved Hide resolved
@Prajyot-Parab
Copy link
Contributor

@KeerthanaAP Do a sample deployment of above logic
attach the v1beta2 -> v1beta1 converted resource version of deployment
repeat for v1beta1 -> v1beta2 and v1beta2 -> v1beta1 -> v1beta2

/cc @Karthik-K-N

@Prajyot-Parab
Copy link
Contributor

What this PR does / why we need it:

This PR add the chances to scale from and to 0 support for autoscaler for VPC cluster. Added a IBMVPCMachineTemplateStatus with capacity field and a separate controller to update the capacity.

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 #959

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:


  • Complete integration testing
  • Add Unit tests
  • Update doc

@KeerthanaAP Update Release note section


func (r *IBMVPCMachineTemplateReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {
log := ctrl.LoggerFrom(ctx)
log.V(1).Info("Reconciling IBMVPCMachineTemplate")
Copy link
Contributor

Choose a reason for hiding this comment

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

May I know whats the default log level? can this be simply log.Info().

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I think default log level is 1.
Have changed it to log.Info().

controllers/ibmvpcmachinetemplate_controller.go Outdated Show resolved Hide resolved
controllers/ibmvpcmachinetemplate_controller.go Outdated Show resolved Hide resolved
@KeerthanaAP KeerthanaAP force-pushed the VPC_Autoscaler branch 2 times, most recently from 5175b06 to 4f3dd0e Compare December 13, 2023 14:50
Copy link
Contributor

@Karthik-K-N Karthik-K-N left a comment

Choose a reason for hiding this comment

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

One change otherwise LGTM

@KeerthanaAP
Copy link
Contributor Author

@KeerthanaAP Do a sample deployment of above logic attach the v1beta2 -> v1beta1 converted resource version of deployment repeat for v1beta1 -> v1beta2 and v1beta2 -> v1beta1 -> v1beta2

/cc @Karthik-K-N

Deployment v1beta2 -> v1beta1

v1beta2

$kubectl get ibmvpcmachinetemplates.v1beta2.infrastructure.cluster.x-k8s.io -o yaml
apiVersion: v1
items:
- apiVersion: infrastructure.cluster.x-k8s.io/v1beta2
  kind: IBMVPCMachineTemplate
  metadata:
    annotations:
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"infrastructure.cluster.x-k8s.io/v1beta2","kind":"IBMVPCMachineTemplate","metadata":{"annotations":{},"name":"ibm-vpc-2-control-plane","namespace":"default"},"spec":{"template":{"spec":{"bootVolume":{"sizeGiB":20},"image":{"name":"capibm-vpc-ubuntu-2004-kube-v1-27-2"},"profile":"bx2-4x16","sshKeys":[{"name":"keerthana-ssh"}],"zone":"au-syd-1"}}}}
    creationTimestamp: "2023-12-14T07:31:44Z"
    generation: 1
    name: ibm-vpc-2-control-plane
    namespace: default
    ownerReferences:
    - apiVersion: cluster.x-k8s.io/v1beta1
      kind: Cluster
      name: ibm-vpc-2
      uid: b04c0668-5865-42c0-b245-b7e98647c199
    resourceVersion: "44245"
    uid: d7b7da31-a9d0-4701-a348-2a4dbbd90a30
  spec:
    template:
      spec:
        bootVolume:
          deleteVolumeOnInstanceDelete: true
          profile: general-purpose
          sizeGiB: 20
        image:
          name: capibm-vpc-ubuntu-2004-kube-v1-27-2
        primaryNetworkInterface: {}
        profile: bx2-4x16
        sshKeys:
        - name: keerthana-ssh
        zone: au-syd-1
  status:
    capacity:
      cpu: "4"
      memory: 16G
- apiVersion: infrastructure.cluster.x-k8s.io/v1beta2
  kind: IBMVPCMachineTemplate
  metadata:
    annotations:
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"infrastructure.cluster.x-k8s.io/v1beta2","kind":"IBMVPCMachineTemplate","metadata":{"annotations":{},"name":"ibm-vpc-2-md-0","namespace":"default"},"spec":{"template":{"spec":{"bootVolume":{"sizeGiB":20},"image":{"name":"capibm-vpc-ubuntu-2004-kube-v1-27-2"},"profile":"bx2-4x16","sshKeys":[{"name":"keerthana-ssh"}],"zone":"au-syd-1"}}}}
    creationTimestamp: "2023-12-14T07:31:46Z"
    generation: 1
    name: ibm-vpc-2-md-0
    namespace: default
    ownerReferences:
    - apiVersion: cluster.x-k8s.io/v1beta1
      kind: Cluster
      name: ibm-vpc-2
      uid: b04c0668-5865-42c0-b245-b7e98647c199
    resourceVersion: "44146"
    uid: 7a2c7e5b-a8e2-40a8-9901-3a81c064c7d6
  spec:
    template:
      spec:
        bootVolume:
          deleteVolumeOnInstanceDelete: true
          profile: general-purpose
          sizeGiB: 20
        image:
          name: capibm-vpc-ubuntu-2004-kube-v1-27-2
        primaryNetworkInterface: {}
        profile: bx2-4x16
        sshKeys:
        - name: keerthana-ssh
        zone: au-syd-1
  status:
    capacity:
      cpu: "4"
      memory: 16G
kind: List
metadata:
  resourceVersion: ""


v1beta1


$kubectl get ibmvpcmachinetemplates.v1beta1.infrastructure.cluster.x-k8s.io -o yaml
apiVersion: v1
items:
- apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
  kind: IBMVPCMachineTemplate
  metadata:
    annotations:
      cluster.x-k8s.io/conversion-data: '{"apiVersion":"infrastructure.cluster.x-k8s.io/v1beta2","kind":"IBMVPCMachineTemplate","spec":{"template":{"spec":{"bootVolume":{"deleteVolumeOnInstanceDelete":true,"profile":"general-purpose","sizeGiB":20},"image":{"name":"capibm-vpc-ubuntu-2004-kube-v1-27-2"},"primaryNetworkInterface":{},"profile":"bx2-4x16","sshKeys":[{"name":"keerthana-ssh"}],"zone":"au-syd-1"}}},"status":{"capacity":{"cpu":"4","memory":"16G"}}}'
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"infrastructure.cluster.x-k8s.io/v1beta2","kind":"IBMVPCMachineTemplate","metadata":{"annotations":{},"name":"ibm-vpc-2-control-plane","namespace":"default"},"spec":{"template":{"spec":{"bootVolume":{"sizeGiB":20},"image":{"name":"capibm-vpc-ubuntu-2004-kube-v1-27-2"},"profile":"bx2-4x16","sshKeys":[{"name":"keerthana-ssh"}],"zone":"au-syd-1"}}}}
    creationTimestamp: "2023-12-14T07:31:44Z"
    generation: 1
    name: ibm-vpc-2-control-plane
    namespace: default
    ownerReferences:
    - apiVersion: cluster.x-k8s.io/v1beta1
      kind: Cluster
      name: ibm-vpc-2
      uid: b04c0668-5865-42c0-b245-b7e98647c199
    resourceVersion: "44245"
    uid: d7b7da31-a9d0-4701-a348-2a4dbbd90a30
  spec:
    template:
      spec:
        bootVolume:
          deleteVolumeOnInstanceDelete: true
          profile: general-purpose
          sizeGiB: 20
        imageName: capibm-vpc-ubuntu-2004-kube-v1-27-2
        primaryNetworkInterface: {}
        profile: bx2-4x16
        sshKeyNames:
        - keerthana-ssh
        zone: au-syd-1
  status: {}
- apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
  kind: IBMVPCMachineTemplate
  metadata:
    annotations:
      cluster.x-k8s.io/conversion-data: '{"apiVersion":"infrastructure.cluster.x-k8s.io/v1beta2","kind":"IBMVPCMachineTemplate","spec":{"template":{"spec":{"bootVolume":{"deleteVolumeOnInstanceDelete":true,"profile":"general-purpose","sizeGiB":20},"image":{"name":"capibm-vpc-ubuntu-2004-kube-v1-27-2"},"primaryNetworkInterface":{},"profile":"bx2-4x16","sshKeys":[{"name":"keerthana-ssh"}],"zone":"au-syd-1"}}},"status":{"capacity":{"cpu":"4","memory":"16G"}}}'
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"infrastructure.cluster.x-k8s.io/v1beta2","kind":"IBMVPCMachineTemplate","metadata":{"annotations":{},"name":"ibm-vpc-2-md-0","namespace":"default"},"spec":{"template":{"spec":{"bootVolume":{"sizeGiB":20},"image":{"name":"capibm-vpc-ubuntu-2004-kube-v1-27-2"},"profile":"bx2-4x16","sshKeys":[{"name":"keerthana-ssh"}],"zone":"au-syd-1"}}}}
    creationTimestamp: "2023-12-14T07:31:46Z"
    generation: 1
    name: ibm-vpc-2-md-0
    namespace: default
    ownerReferences:
    - apiVersion: cluster.x-k8s.io/v1beta1
      kind: Cluster
      name: ibm-vpc-2
      uid: b04c0668-5865-42c0-b245-b7e98647c199
    resourceVersion: "44146"
    uid: 7a2c7e5b-a8e2-40a8-9901-3a81c064c7d6
  spec:
    template:
      spec:
        bootVolume:
          deleteVolumeOnInstanceDelete: true
          profile: general-purpose
          sizeGiB: 20
        imageName: capibm-vpc-ubuntu-2004-kube-v1-27-2
        primaryNetworkInterface: {}
        profile: bx2-4x16
        sshKeyNames:
        - keerthana-ssh
        zone: au-syd-1
  status: {}
kind: List
metadata:
  resourceVersion: ""

  

Deployment v1beta1 -> v1beta2

Deployed the below v1beta1 config. Created this v1beta1 config after removing the annotation in above v1beta1

v1beta1.yaml

apiVersion: v1
items:
- apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
  kind: IBMVPCMachineTemplate
  metadata:
    creationTimestamp: "2023-12-14T07:31:44Z"
    generation: 1
    name: ibm-vpc-2-control-plane
    namespace: default
    ownerReferences:
    - apiVersion: cluster.x-k8s.io/v1beta1
      kind: Cluster
      name: ibm-vpc-2
      uid: b04c0668-5865-42c0-b245-b7e98647c199
    resourceVersion: "44245"
    uid: d7b7da31-a9d0-4701-a348-2a4dbbd90a30
  spec:
    template:
      spec:
        bootVolume:
          deleteVolumeOnInstanceDelete: true
          profile: general-purpose
          sizeGiB: 20
        imageName: capibm-vpc-ubuntu-2004-kube-v1-27-2
        primaryNetworkInterface: {}
        profile: bx2-4x16
        sshKeyNames:
        - keerthana-ssh
        zone: au-syd-1
  status: {}
- apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
  kind: IBMVPCMachineTemplate
  metadata:
    creationTimestamp: "2023-12-14T07:31:46Z"
    generation: 1
    name: ibm-vpc-2-md-0
    namespace: default
    ownerReferences:
    - apiVersion: cluster.x-k8s.io/v1beta1
      kind: Cluster
      name: ibm-vpc-2
      uid: b04c0668-5865-42c0-b245-b7e98647c199
    resourceVersion: "44146"
    uid: 7a2c7e5b-a8e2-40a8-9901-3a81c064c7d6
  spec:
    template:
      spec:
        bootVolume:
          deleteVolumeOnInstanceDelete: true
          profile: general-purpose
          sizeGiB: 20
        imageName: capibm-vpc-ubuntu-2004-kube-v1-27-2
        primaryNetworkInterface: {}
        profile: bx2-4x16
        sshKeyNames:
        - keerthana-ssh
        zone: au-syd-1
  status: {}
kind: List
metadata:
  resourceVersion: ""
  
v1beta1:
 
$kubectl get ibmvpcmachinetemplates.v1beta1.infrastructure.cluster.x-k8s.io -o yaml
apiVersion: v1
items:
- apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
 kind: IBMVPCMachineTemplate
 metadata:
   annotations:
     cluster.x-k8s.io/conversion-data: '{"apiVersion":"infrastructure.cluster.x-k8s.io/v1beta2","kind":"IBMVPCMachineTemplate","spec":{"template":{"spec":{"bootVolume":{"deleteVolumeOnInstanceDelete":true,"profile":"general-purpose","sizeGiB":20},"image":{"name":"capibm-vpc-ubuntu-2004-kube-v1-27-2"},"primaryNetworkInterface":{},"profile":"bx2-4x16","sshKeys":[{"name":"keerthana-ssh"}],"zone":"au-syd-1"}}},"status":{"capacity":{"cpu":"4","memory":"16G"}}}'
     kubectl.kubernetes.io/last-applied-configuration: |
       {"apiVersion":"infrastructure.cluster.x-k8s.io/v1beta1","kind":"IBMVPCMachineTemplate","metadata":{"annotations":{},"creationTimestamp":"2023-12-14T07:31:44Z","generation":1,"name":"ibm-vpc-2-control-plane","namespace":"default","ownerReferences":[{"apiVersion":"cluster.x-k8s.io/v1beta1","kind":"Cluster","name":"ibm-vpc-2","uid":"b04c0668-5865-42c0-b245-b7e98647c199"}],"resourceVersion":"44245","uid":"d7b7da31-a9d0-4701-a348-2a4dbbd90a30"},"spec":{"template":{"spec":{"bootVolume":{"deleteVolumeOnInstanceDelete":true,"profile":"general-purpose","sizeGiB":20},"imageName":"capibm-vpc-ubuntu-2004-kube-v1-27-2","primaryNetworkInterface":{},"profile":"bx2-4x16","sshKeyNames":["keerthana-ssh"],"zone":"au-syd-1"}}},"status":{}}
   creationTimestamp: "2023-12-14T09:25:56Z"
   generation: 1
   name: ibm-vpc-2-control-plane
   namespace: default
   ownerReferences:
   - apiVersion: cluster.x-k8s.io/v1beta1
     kind: Cluster
     name: ibm-vpc-2
     uid: b04c0668-5865-42c0-b245-b7e98647c199
   resourceVersion: "56940"
   uid: dbdd6947-f5be-4276-a8a6-e49bd0553178
 spec:
   template:
     spec:
       bootVolume:
         deleteVolumeOnInstanceDelete: true
         profile: general-purpose
         sizeGiB: 20
       imageName: capibm-vpc-ubuntu-2004-kube-v1-27-2
       primaryNetworkInterface: {}
       profile: bx2-4x16
       sshKeyNames:
       - keerthana-ssh
       zone: au-syd-1
 status: {}
- apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
 kind: IBMVPCMachineTemplate
 metadata:
   annotations:
     cluster.x-k8s.io/conversion-data: '{"apiVersion":"infrastructure.cluster.x-k8s.io/v1beta2","kind":"IBMVPCMachineTemplate","spec":{"template":{"spec":{"bootVolume":{"deleteVolumeOnInstanceDelete":true,"profile":"general-purpose","sizeGiB":20},"image":{"name":"capibm-vpc-ubuntu-2004-kube-v1-27-2"},"primaryNetworkInterface":{},"profile":"bx2-4x16","sshKeys":[{"name":"keerthana-ssh"}],"zone":"au-syd-1"}}},"status":{"capacity":{"cpu":"4","memory":"16G"}}}'
     kubectl.kubernetes.io/last-applied-configuration: |
       {"apiVersion":"infrastructure.cluster.x-k8s.io/v1beta1","kind":"IBMVPCMachineTemplate","metadata":{"annotations":{},"creationTimestamp":"2023-12-14T07:31:46Z","generation":1,"name":"ibm-vpc-2-md-0","namespace":"default","ownerReferences":[{"apiVersion":"cluster.x-k8s.io/v1beta1","kind":"Cluster","name":"ibm-vpc-2","uid":"b04c0668-5865-42c0-b245-b7e98647c199"}],"resourceVersion":"44146","uid":"7a2c7e5b-a8e2-40a8-9901-3a81c064c7d6"},"spec":{"template":{"spec":{"bootVolume":{"deleteVolumeOnInstanceDelete":true,"profile":"general-purpose","sizeGiB":20},"imageName":"capibm-vpc-ubuntu-2004-kube-v1-27-2","primaryNetworkInterface":{},"profile":"bx2-4x16","sshKeyNames":["keerthana-ssh"],"zone":"au-syd-1"}}},"status":{}}
   creationTimestamp: "2023-12-14T09:25:59Z"
   generation: 1
   name: ibm-vpc-2-md-0
   namespace: default
   ownerReferences:
   - apiVersion: cluster.x-k8s.io/v1beta1
     kind: Cluster
     name: ibm-vpc-2
     uid: b04c0668-5865-42c0-b245-b7e98647c199
   resourceVersion: "56952"
   uid: be4b0089-d8a8-46c9-a80a-dafa7cb3e369
 spec:
   template:
     spec:
       bootVolume:
         deleteVolumeOnInstanceDelete: true
         profile: general-purpose
         sizeGiB: 20
       imageName: capibm-vpc-ubuntu-2004-kube-v1-27-2
       primaryNetworkInterface: {}
       profile: bx2-4x16
       sshKeyNames:
       - keerthana-ssh
       zone: au-syd-1
 status: {}
kind: List
metadata:
 resourceVersion: ""


v1beta2:

$kubectl get ibmvpcmachinetemplates.v1beta2.infrastructure.cluster.x-k8s.io -o yaml
apiVersion: v1
items:
- apiVersion: infrastructure.cluster.x-k8s.io/v1beta2
 kind: IBMVPCMachineTemplate
 metadata:
   annotations:
     cluster.x-k8s.io/conversion-data: '{"apiVersion":"infrastructure.cluster.x-k8s.io/v1beta2","kind":"IBMVPCMachineTemplate","spec":{"template":{"spec":{"bootVolume":{"deleteVolumeOnInstanceDelete":true,"profile":"general-purpose","sizeGiB":20},"image":{"name":"capibm-vpc-ubuntu-2004-kube-v1-27-2"},"primaryNetworkInterface":{},"profile":"bx2-4x16","sshKeys":[{"name":"keerthana-ssh"}],"zone":"au-syd-1"}}},"status":{}}'
     kubectl.kubernetes.io/last-applied-configuration: |
       {"apiVersion":"infrastructure.cluster.x-k8s.io/v1beta1","kind":"IBMVPCMachineTemplate","metadata":{"annotations":{},"creationTimestamp":"2023-12-14T07:31:44Z","generation":1,"name":"ibm-vpc-2-control-plane","namespace":"default","ownerReferences":[{"apiVersion":"cluster.x-k8s.io/v1beta1","kind":"Cluster","name":"ibm-vpc-2","uid":"b04c0668-5865-42c0-b245-b7e98647c199"}],"resourceVersion":"44245","uid":"d7b7da31-a9d0-4701-a348-2a4dbbd90a30"},"spec":{"template":{"spec":{"bootVolume":{"deleteVolumeOnInstanceDelete":true,"profile":"general-purpose","sizeGiB":20},"imageName":"capibm-vpc-ubuntu-2004-kube-v1-27-2","primaryNetworkInterface":{},"profile":"bx2-4x16","sshKeyNames":["keerthana-ssh"],"zone":"au-syd-1"}}},"status":{}}
   creationTimestamp: "2023-12-14T09:25:56Z"
   generation: 1
   name: ibm-vpc-2-control-plane
   namespace: default
   ownerReferences:
   - apiVersion: cluster.x-k8s.io/v1beta1
     kind: Cluster
     name: ibm-vpc-2
     uid: b04c0668-5865-42c0-b245-b7e98647c199
   resourceVersion: "56940"
   uid: dbdd6947-f5be-4276-a8a6-e49bd0553178
 spec:
   template:
     spec:
       bootVolume:
         deleteVolumeOnInstanceDelete: true
         profile: general-purpose
         sizeGiB: 20
       image:
         name: capibm-vpc-ubuntu-2004-kube-v1-27-2
       primaryNetworkInterface: {}
       profile: bx2-4x16
       sshKeys:
       - name: keerthana-ssh
       zone: au-syd-1
 status:
   capacity:
     cpu: "4"
     memory: 16G
- apiVersion: infrastructure.cluster.x-k8s.io/v1beta2
 kind: IBMVPCMachineTemplate
 metadata:
   annotations:
     cluster.x-k8s.io/conversion-data: '{"apiVersion":"infrastructure.cluster.x-k8s.io/v1beta2","kind":"IBMVPCMachineTemplate","spec":{"template":{"spec":{"bootVolume":{"deleteVolumeOnInstanceDelete":true,"profile":"general-purpose","sizeGiB":20},"image":{"name":"capibm-vpc-ubuntu-2004-kube-v1-27-2"},"primaryNetworkInterface":{},"profile":"bx2-4x16","sshKeys":[{"name":"keerthana-ssh"}],"zone":"au-syd-1"}}},"status":{}}'
     kubectl.kubernetes.io/last-applied-configuration: |
       {"apiVersion":"infrastructure.cluster.x-k8s.io/v1beta1","kind":"IBMVPCMachineTemplate","metadata":{"annotations":{},"creationTimestamp":"2023-12-14T07:31:46Z","generation":1,"name":"ibm-vpc-2-md-0","namespace":"default","ownerReferences":[{"apiVersion":"cluster.x-k8s.io/v1beta1","kind":"Cluster","name":"ibm-vpc-2","uid":"b04c0668-5865-42c0-b245-b7e98647c199"}],"resourceVersion":"44146","uid":"7a2c7e5b-a8e2-40a8-9901-3a81c064c7d6"},"spec":{"template":{"spec":{"bootVolume":{"deleteVolumeOnInstanceDelete":true,"profile":"general-purpose","sizeGiB":20},"imageName":"capibm-vpc-ubuntu-2004-kube-v1-27-2","primaryNetworkInterface":{},"profile":"bx2-4x16","sshKeyNames":["keerthana-ssh"],"zone":"au-syd-1"}}},"status":{}}
   creationTimestamp: "2023-12-14T09:25:59Z"
   generation: 1
   name: ibm-vpc-2-md-0
   namespace: default
   ownerReferences:
   - apiVersion: cluster.x-k8s.io/v1beta1
     kind: Cluster
     name: ibm-vpc-2
     uid: b04c0668-5865-42c0-b245-b7e98647c199
   resourceVersion: "56952"
   uid: be4b0089-d8a8-46c9-a80a-dafa7cb3e369
 spec:
   template:
     spec:
       bootVolume:
         deleteVolumeOnInstanceDelete: true
         profile: general-purpose
         sizeGiB: 20
       image:
         name: capibm-vpc-ubuntu-2004-kube-v1-27-2
       primaryNetworkInterface: {}
       profile: bx2-4x16
       sshKeys:
       - name: keerthana-ssh
       zone: au-syd-1
 status:
   capacity:
     cpu: "4"
     memory: 16G
kind: List
metadata:
 resourceVersion: ""

@Prajyot-Parab
Copy link
Contributor

/retest all

@k8s-ci-robot
Copy link
Contributor

@Prajyot-Parab: The /retest command does not accept any targets.
The following commands are available to trigger required jobs:

  • /test pull-cluster-api-provider-ccm-image
  • /test pull-cluster-api-provider-ibmcloud-build
  • /test pull-cluster-api-provider-ibmcloud-coverage
  • /test pull-cluster-api-provider-ibmcloud-make
  • /test pull-cluster-api-provider-ibmcloud-smoke-test
  • /test pull-cluster-api-provider-ibmcloud-test
  • /test pull-cluster-api-provider-ibmcloud-verify

The following commands are available to trigger optional jobs:

  • /test pull-cluster-api-provider-ibmcloud-apidiff

Use /test all to run the following jobs that were automatically triggered:

  • pull-cluster-api-provider-ibmcloud-apidiff
  • pull-cluster-api-provider-ibmcloud-build
  • pull-cluster-api-provider-ibmcloud-coverage
  • pull-cluster-api-provider-ibmcloud-make
  • pull-cluster-api-provider-ibmcloud-smoke-test
  • pull-cluster-api-provider-ibmcloud-test
  • pull-cluster-api-provider-ibmcloud-verify

In response to this:

/retest all

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/test-infra repository.

@Prajyot-Parab
Copy link
Contributor

/test all

@Prajyot-Parab
Copy link
Contributor

/cc @Karthik-K-N ptal final look.

Copy link
Contributor

@Karthik-K-N Karthik-K-N 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 Jan 16, 2024
@k8s-ci-robot k8s-ci-robot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels Feb 5, 2024
@KeerthanaAP
Copy link
Contributor Author

/retest

@KeerthanaAP
Copy link
Contributor Author

/retest

@KeerthanaAP
Copy link
Contributor Author

/retest-required

@KeerthanaAP
Copy link
Contributor Author

/retest

@KeerthanaAP KeerthanaAP force-pushed the VPC_Autoscaler branch 2 times, most recently from d9f6594 to 0912a42 Compare February 7, 2024 08:24
@k8s-ci-robot k8s-ci-robot added size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. and removed size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Feb 7, 2024
Copy link
Contributor

@Karthik-K-N Karthik-K-N left a comment

Choose a reason for hiding this comment

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

Thank you, One small change, Otherwise LGTM

controllers/ibmvpcmachinetemplate_controller.go Outdated Show resolved Hide resolved
Copy link
Contributor

@Karthik-K-N Karthik-K-N 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 Feb 9, 2024
Copy link
Member

@mkumatag mkumatag left a comment

Choose a reason for hiding this comment

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

/hold

for @Prajyot-Parab 's review

@k8s-ci-robot k8s-ci-robot added do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. approved Indicates a PR has been approved by an approver from all required OWNERS files. labels Feb 9, 2024
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
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: Karthik-K-N, KeerthanaAP, mkumatag, 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

@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 Feb 9, 2024
@k8s-ci-robot k8s-ci-robot merged commit 7150fb8 into kubernetes-sigs:main Feb 9, 2024
13 checks passed
@KeerthanaAP KeerthanaAP deleted the VPC_Autoscaler branch April 4, 2024 06:53
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. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add scale from and to 0 support for autoscaler for VPC cluster
5 participants