kubernetes-sigs / karpenter

Karpenter is a Kubernetes Node Autoscaler built for flexibility, performance, and simplicity.
Apache License 2.0
640 stars 207 forks source link

chore: Allow ConditionMessage wrapping for CreateError #1813

Closed jonathan-innis closed 1 week ago

jonathan-innis commented 1 week ago

Fixes #N/A

Description

Allow CloudProviders to wrap their CreateErrors to create a combined ConditionMessage with more detail

Example

err1 := cloudprovider.NewCreateError(fmt.Errorf("really really detailed error that I want to log"), "Pretty status message 1")
err2 := cloudprovider.NewCreateError(fmt.Errorf("another really really detailed error that I want to log, %w", err1), "Pretty status message 2")
fmt.Println(err2.ConditionMessage()) // prints "Pretty status message 2, Pretty status message 1"

How was this change tested?

make presubmit

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

k8s-ci-robot commented 1 week ago

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: jonathan-innis

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: - ~~[OWNERS](https://github.com/kubernetes-sigs/karpenter/blob/main/OWNERS)~~ [jonathan-innis] Approvers can indicate their approval by writing `/approve` in a comment Approvers can cancel approval by writing `/approve cancel` in a comment