Skip to content

Commit 34a3f6d

Browse files
authored
Merge pull request kubernetes#3657 from RainbowMango/pr_implements_as_DesireInstanceNumber
[CA]Implementes get desire instance number of node group.
2 parents d945ca7 + a16daf1 commit 34a3f6d

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud_service_manager.go

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,9 +138,21 @@ func (csm *cloudServiceManager) DeleteServers(serverIDs []string) error {
138138
}
139139

140140
func (csm *cloudServiceManager) GetDesireInstanceNumber(groupID string) (int, error) {
141-
// TODO(RainbowMango) finish implementation later
141+
Instances, err := csm.GetInstances(groupID)
142+
if err != nil {
143+
klog.Errorf("failed to list scaling group instances. group: %s, error: %v", groupID, err)
144+
return 0, fmt.Errorf("failed to get instance list")
145+
}
146+
147+
// Get desire instance number by total instance number minus the one which is in deleting state.
148+
desireInstanceNumber := len(Instances)
149+
for _, instance := range Instances {
150+
if instance.Status.State == cloudprovider.InstanceDeleting {
151+
desireInstanceNumber--
152+
}
153+
}
142154

143-
return 0, nil
155+
return desireInstanceNumber, nil
144156
}
145157

146158
func (csm *cloudServiceManager) GetInstances(groupID string) ([]cloudprovider.Instance, error) {

0 commit comments

Comments
 (0)