-
Notifications
You must be signed in to change notification settings - Fork 8
Open
Labels
area/provider/ibmcloudIssues or PRs related to ibmcloud providerIssues or PRs related to ibmcloud providergood first issueDenotes an issue ready for a new contributor, according to the "help wanted" guidelines.Denotes an issue ready for a new contributor, according to the "help wanted" guidelines.kind/featureCategorizes issue or PR as related to a new feature.Categorizes issue or PR as related to a new feature.performance & observabilityMaking things faster and more transparentMaking things faster and more transparent
Description
Summary
The DisruptionReasons() method in the IBM Cloud provider currently returns nil. Implementing IBM-specific disruption reasons will improve debugging and observability when nodes are disrupted.
Current State
In pkg/cloudprovider/cloudprovider.go, the method is not implemented:
func (c *CloudProvider) DisruptionReasons() []karpv1.DisruptionReason {
// Not implemented
return nil
}Proposed Solution
Implement disruption reasons specific to IBM Cloud scenarios:
const (
DisruptionReasonVPCQuotaExceeded karpv1.DisruptionReason = "VPCQuotaExceeded"
DisruptionReasonAPIRateLimited karpv1.DisruptionReason = "APIRateLimited"
DisruptionReasonInstanceTerminated karpv1.DisruptionReason = "InstanceTerminated"
)
func (c *CloudProvider) DisruptionReasons() []karpv1.DisruptionReason {
return []karpv1.DisruptionReason{
DisruptionReasonVPCQuotaExceeded,
DisruptionReasonAPIRateLimited,
DisruptionReasonInstanceTerminated,
}
}Files to Modify
pkg/cloudprovider/cloudprovider.go- Add method implementationpkg/cloudprovider/events/events.go- Add corresponding disruption events (optional)
Acceptance Criteria
- Define IBM-specific disruption reason constants
- Implement
DisruptionReasons()to return the list - Add unit tests for the new implementation
- Document each disruption reason with godoc comments
Reference
See AWS Karpenter provider for pattern: https://github.com/aws/karpenter-provider-aws/blob/main/pkg/cloudprovider/cloudprovider.go
Metadata
Metadata
Assignees
Labels
area/provider/ibmcloudIssues or PRs related to ibmcloud providerIssues or PRs related to ibmcloud providergood first issueDenotes an issue ready for a new contributor, according to the "help wanted" guidelines.Denotes an issue ready for a new contributor, according to the "help wanted" guidelines.kind/featureCategorizes issue or PR as related to a new feature.Categorizes issue or PR as related to a new feature.performance & observabilityMaking things faster and more transparentMaking things faster and more transparent