From a2ee0c9b2b00190e340280f237f72ac25a16ea2c Mon Sep 17 00:00:00 2001 From: Gorka Eguileor Date: Mon, 28 Jan 2019 19:51:52 +0100 Subject: [PATCH] Fix #89: Increase probe timeout The Probe timeout is set to 1 second, which is insufficient for most plugins that want to do a thorough health check. Change the timeout to the default of 1 minute, like we did in the external-attacher. --- Gopkg.lock | 76 ++++++++++++++++++++++++++++++++++++- cmd/csi-snapshotter/main.go | 14 +++---- 2 files changed, 82 insertions(+), 8 deletions(-) diff --git a/Gopkg.lock b/Gopkg.lock index 75c333447..a5759ba35 100644 --- a/Gopkg.lock +++ b/Gopkg.lock @@ -408,6 +408,52 @@ packages = [ "discovery", "discovery/fake", + "informers", + "informers/admissionregistration", + "informers/admissionregistration/v1alpha1", + "informers/admissionregistration/v1beta1", + "informers/apps", + "informers/apps/v1", + "informers/apps/v1beta1", + "informers/apps/v1beta2", + "informers/auditregistration", + "informers/auditregistration/v1alpha1", + "informers/autoscaling", + "informers/autoscaling/v1", + "informers/autoscaling/v2beta1", + "informers/autoscaling/v2beta2", + "informers/batch", + "informers/batch/v1", + "informers/batch/v1beta1", + "informers/batch/v2alpha1", + "informers/certificates", + "informers/certificates/v1beta1", + "informers/coordination", + "informers/coordination/v1beta1", + "informers/core", + "informers/core/v1", + "informers/events", + "informers/events/v1beta1", + "informers/extensions", + "informers/extensions/v1beta1", + "informers/internalinterfaces", + "informers/networking", + "informers/networking/v1", + "informers/policy", + "informers/policy/v1beta1", + "informers/rbac", + "informers/rbac/v1", + "informers/rbac/v1alpha1", + "informers/rbac/v1beta1", + "informers/scheduling", + "informers/scheduling/v1alpha1", + "informers/scheduling/v1beta1", + "informers/settings", + "informers/settings/v1alpha1", + "informers/storage", + "informers/storage/v1", + "informers/storage/v1alpha1", + "informers/storage/v1beta1", "kubernetes", "kubernetes/fake", "kubernetes/scheme", @@ -475,6 +521,34 @@ "kubernetes/typed/storage/v1alpha1/fake", "kubernetes/typed/storage/v1beta1", "kubernetes/typed/storage/v1beta1/fake", + "listers/admissionregistration/v1alpha1", + "listers/admissionregistration/v1beta1", + "listers/apps/v1", + "listers/apps/v1beta1", + "listers/apps/v1beta2", + "listers/auditregistration/v1alpha1", + "listers/autoscaling/v1", + "listers/autoscaling/v2beta1", + "listers/autoscaling/v2beta2", + "listers/batch/v1", + "listers/batch/v1beta1", + "listers/batch/v2alpha1", + "listers/certificates/v1beta1", + "listers/coordination/v1beta1", + "listers/core/v1", + "listers/events/v1beta1", + "listers/extensions/v1beta1", + "listers/networking/v1", + "listers/policy/v1beta1", + "listers/rbac/v1", + "listers/rbac/v1alpha1", + "listers/rbac/v1beta1", + "listers/scheduling/v1alpha1", + "listers/scheduling/v1beta1", + "listers/settings/v1alpha1", + "listers/storage/v1", + "listers/storage/v1alpha1", + "listers/storage/v1beta1", "pkg/apis/clientauthentication", "pkg/apis/clientauthentication/v1alpha1", "pkg/apis/clientauthentication/v1beta1", @@ -578,6 +652,6 @@ [solve-meta] analyzer-name = "dep" analyzer-version = 1 - inputs-digest = "1ffccc02a34124d103d58b579a8e5b8aec657e279f0bfbaaeb3eeeed9c146182" + inputs-digest = "7d4fff50d20541e4fd78e7b636bde0d503a0e53408110d993c1f00425719021d" solver-name = "gps-cdcl" solver-version = 1 diff --git a/cmd/csi-snapshotter/main.go b/cmd/csi-snapshotter/main.go index 22d608923..2500069db 100644 --- a/cmd/csi-snapshotter/main.go +++ b/cmd/csi-snapshotter/main.go @@ -122,6 +122,12 @@ func main() { os.Exit(1) } + // Check it's ready + if err = waitForDriverReady(csiConn, *connectionTimeout); err != nil { + glog.Error(err.Error()) + os.Exit(1) + } + // Pass a context with a timeout ctx, cancel := context.WithTimeout(context.Background(), csiTimeout) defer cancel() @@ -136,12 +142,6 @@ func main() { } glog.V(2).Infof("CSI driver name: %q", *snapshotter) - // Check it's ready - if err = waitForDriverReady(csiConn, *connectionTimeout); err != nil { - glog.Error(err.Error()) - os.Exit(1) - } - // Find out if the driver supports create/delete snapshot. supportsCreateSnapshot, err := csiConn.SupportsControllerCreateSnapshot(ctx) if err != nil { @@ -202,7 +202,7 @@ func waitForDriverReady(csiConn connection.CSIConnection, timeout time.Duration) finish := now.Add(timeout) var err error for { - ctx, cancel := context.WithTimeout(context.Background(), csiTimeout) + ctx, cancel := context.WithTimeout(context.Background(), timeout) defer cancel() err = csiConn.Probe(ctx) if err == nil {