Jakub Jaruszewski 5 days ago committed by GitHub
commit 046ac8a5a3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -318,20 +318,23 @@ func (c *Client) makeCreateApplyFunc(serverSideApply, forceConflicts, dryRun boo
slog.String("fieldValidationDirective", string(fieldValidationDirective)))
return func(target *resource.Info) error {
err := patchResourceServerSide(target, dryRun, forceConflicts, fieldValidationDirective)
logger := c.Logger().With(
slog.String("namespace", target.Namespace),
slog.String("name", target.Name),
slog.String("gvk", target.Mapping.GroupVersionKind.String()))
if err != nil {
logger.Debug("Error creating resource via patch", slog.Any("error", err))
return err
}
logger.Debug("Created resource via patch")
return retry.RetryOnConflict(
retry.DefaultRetry,
func() error {
err := patchResourceServerSide(target, dryRun, forceConflicts, fieldValidationDirective)
if err != nil {
logger.Debug("Error creating resource via patch", slog.Any("error", err))
return err
}
return nil
logger.Debug("Created resource via patch")
return nil
})
}
}

@ -53,6 +53,7 @@ import (
k8sfake "k8s.io/client-go/kubernetes/fake"
"k8s.io/client-go/kubernetes/scheme"
"k8s.io/client-go/rest/fake"
"k8s.io/client-go/util/retry"
cmdtesting "k8s.io/kubectl/pkg/cmd/testing"
)
@ -273,9 +274,13 @@ func TestCreate(t *testing.T) {
},
ExpectedErrorContains: "Operation cannot be fulfilled on resourcequotas \"quota\": the object has been modified; " +
"please apply your changes to the latest version and try again",
ExpectedActions: []string{
"/namespaces/default/pods/dolphin:PATCH",
},
ExpectedActions: func() []string { // expect helm to retry on conflict, workaround for: https://github.com/kubernetes/kubernetes/issues/67761
actions := make([]string, retry.DefaultRetry.Steps)
for i := range actions {
actions[i] = "/namespaces/default/pods/dolphin:PATCH"
}
return actions
}(),
},
}

Loading…
Cancel
Save