mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-28 13:03:43 +00:00
Merge pull request #41406 from jsafrane/operation-backoff
Automatic merge from submit-queue (batch tested with PRs 41814, 41922, 41957, 41406, 41077) pv_controller: Do not report exponential backoff as error. It's not an error when recycle/delete/provision operation cannot be started because it has failed recently. It will be restarted automatically when backoff expires. This just pollutes logs without any useful information: ``` E0214 08:00:30.428073 77288 pv_controller.go:1410] error scheduling operaion "delete-pvc-1fa0e8b4-f2b5-11e6-a8bb-fa163ecb84eb[1fbd52ee-f2b5-11e6-a8bb-fa163ecb84eb]": Failed to create operation with name "delete-pvc-1fa0e8b4-f2b5-11e6-a8bb-fa163ecb84eb[1fbd52ee-f2b5-11e6-a8bb-fa163ecb84eb]". An operation with that name failed at 2017-02-14 08:00:15.631133152 -0500 EST. No retries permitted until 2017-02-14 08:00:31.631133152 -0500 EST (16s). Last error: "Cannot delete the volume \"11a4faea-bfc7-4713-88b3-dec492480dba\", it's still attached to a node". ``` ```release-note NONE ``` @kubernetes/sig-storage-pr-reviews
This commit is contained in:
commit
0b54264d3e
@ -30,6 +30,7 @@ go_library(
|
||||
"//pkg/cloudprovider:go_default_library",
|
||||
"//pkg/controller:go_default_library",
|
||||
"//pkg/util/goroutinemap:go_default_library",
|
||||
"//pkg/util/goroutinemap/exponentialbackoff:go_default_library",
|
||||
"//pkg/util/io:go_default_library",
|
||||
"//pkg/util/mount:go_default_library",
|
||||
"//pkg/volume:go_default_library",
|
||||
|
@ -35,6 +35,7 @@ import (
|
||||
storagelisters "k8s.io/kubernetes/pkg/client/listers/storage/v1beta1"
|
||||
"k8s.io/kubernetes/pkg/cloudprovider"
|
||||
"k8s.io/kubernetes/pkg/util/goroutinemap"
|
||||
"k8s.io/kubernetes/pkg/util/goroutinemap/exponentialbackoff"
|
||||
vol "k8s.io/kubernetes/pkg/volume"
|
||||
|
||||
"github.com/golang/glog"
|
||||
@ -1414,9 +1415,12 @@ func (ctrl *PersistentVolumeController) scheduleOperation(operationName string,
|
||||
|
||||
err := ctrl.runningOperations.Run(operationName, operation)
|
||||
if err != nil {
|
||||
if goroutinemap.IsAlreadyExists(err) {
|
||||
switch {
|
||||
case goroutinemap.IsAlreadyExists(err):
|
||||
glog.V(4).Infof("operation %q is already running, skipping", operationName)
|
||||
} else {
|
||||
case exponentialbackoff.IsExponentialBackoff(err):
|
||||
glog.V(4).Infof("operation %q postponed due to exponential backoff", operationName)
|
||||
default:
|
||||
glog.Errorf("error scheduling operation %q: %v", operationName, err)
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user