diff --git a/cmd/troubleshoot/cli/run.go b/cmd/troubleshoot/cli/run.go index e1a0191c..421d249a 100644 --- a/cmd/troubleshoot/cli/run.go +++ b/cmd/troubleshoot/cli/run.go @@ -246,11 +246,11 @@ func parseTimeFlags(v *viper.Viper) (*time.Time, error) { return &sinceTime, nil } -func shouldRetryRequest(err error, httpClient *http.Client) bool { - if strings.Contains(err.Error(), "x509") && httpClient == http.DefaultClient && canTryInsecure() { - httpClient = &http.Client{Transport: &http.Transport{ +func shouldRetryRequest(err error) bool { + if strings.Contains(err.Error(), "x509") && canTryInsecure() { + httputil.AddTransport(&http.Transport{ TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, - }} + }) return true } return false diff --git a/pkg/client/troubleshootclientset/fake/register.go b/pkg/client/troubleshootclientset/fake/register.go index 89d94f58..8010c884 100644 --- a/pkg/client/troubleshootclientset/fake/register.go +++ b/pkg/client/troubleshootclientset/fake/register.go @@ -29,7 +29,7 @@ import ( var scheme = runtime.NewScheme() var codecs = serializer.NewCodecFactory(scheme) - +var parameterCodec = runtime.NewParameterCodec(scheme) var localSchemeBuilder = runtime.SchemeBuilder{ troubleshootv1beta1.AddToScheme, troubleshootv1beta2.AddToScheme, diff --git a/pkg/httputil/config.go b/pkg/httputil/config.go index 95fbdfd9..ed4f15b7 100644 --- a/pkg/httputil/config.go +++ b/pkg/httputil/config.go @@ -14,7 +14,6 @@ func AddTransport(transport *http.Transport) { } func GetHttpClient() *http.Client { - if httpTransport != nil { httpClient.Transport = httpTransport return httpClient diff --git a/pkg/supportbundle/aftercollection.go b/pkg/supportbundle/aftercollection.go index 5d8df393..1cc43f0e 100644 --- a/pkg/supportbundle/aftercollection.go +++ b/pkg/supportbundle/aftercollection.go @@ -48,7 +48,7 @@ func uploadSupportBundle(r *troubleshootv1beta2.ResultRequest, archivePath strin httpClient := httputil.GetHttpClient() resp, err := httpClient.Do(req) if err != nil { - if shouldRetryRequest(err, httpClient) { + if shouldRetryRequest(err) { continue } return errors.Wrap(err, "execute request") @@ -82,7 +82,7 @@ func uploadSupportBundle(r *troubleshootv1beta2.ResultRequest, archivePath strin httpClient := httputil.GetHttpClient() resp, err := httpClient.Do(req) if err != nil { - if shouldRetryRequest(err, httpClient) { + if shouldRetryRequest(err) { continue } return errors.Wrap(err, "execute redaction request") @@ -109,7 +109,7 @@ func callbackSupportBundleAPI(r *troubleshootv1beta2.ResultRequest, archivePath httpClient := httputil.GetHttpClient() resp, err := httpClient.Do(req) if err != nil { - if shouldRetryRequest(err, httpClient) { + if shouldRetryRequest(err) { continue } return errors.Wrap(err, "execute request") @@ -133,11 +133,11 @@ func getExpectedContentType(uploadURL string) string { return parsedURL.Query().Get("Content-Type") } -func shouldRetryRequest(err error, httpClient *http.Client) bool { - if strings.Contains(err.Error(), "x509") && httpClient == http.DefaultClient && canTryInsecure() { - httpClient = &http.Client{Transport: &http.Transport{ +func shouldRetryRequest(err error) bool { + if strings.Contains(err.Error(), "x509") && canTryInsecure() { + httputil.AddTransport(&http.Transport{ TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, - }} + }) return true } return false diff --git a/pkg/supportbundle/load.go b/pkg/supportbundle/load.go index 4dde64d6..e862a59f 100644 --- a/pkg/supportbundle/load.go +++ b/pkg/supportbundle/load.go @@ -182,7 +182,7 @@ func loadSpecFromURL(arg string) ([]byte, error) { httpClient := httputil.GetHttpClient() resp, err := httpClient.Do(req) if err != nil { - if shouldRetryRequest(err, httpClient) { + if shouldRetryRequest(err) { continue } return nil, errors.Wrap(err, "execute request")