From 30f1996bfe5fde49744fbd458b3823d2c3345845 Mon Sep 17 00:00:00 2001 From: Hugo Gonzalez Labrador Date: Tue, 19 Jan 2021 16:16:35 +0000 Subject: [PATCH] re-use http client from driver --- pkg/metrics/driver/xcloud/xcloud.go | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/pkg/metrics/driver/xcloud/xcloud.go b/pkg/metrics/driver/xcloud/xcloud.go index 63ea207aeb..9855b3f88d 100644 --- a/pkg/metrics/driver/xcloud/xcloud.go +++ b/pkg/metrics/driver/xcloud/xcloud.go @@ -57,17 +57,10 @@ type CloudDriver struct { pullInterval int CloudData *CloudData sync.Mutex + client *http.Client } func (d *CloudDriver) refresh() error { - // TODO(labkode): spawn goroutines to fetch metrics and update the register service - - // get configuration from internal_metrics endpoint exposed - // by the sciencemesh app - tr := &http.Transport{ - TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, - } - client := &http.Client{Transport: tr} // endpoint example: https://mybox.com or https://mybox.com/owncloud endpoint := fmt.Sprintf("%s/index.php/apps/sciencemesh/internal_metrics", d.instance) @@ -78,7 +71,7 @@ func (d *CloudDriver) refresh() error { return err } - resp, err := client.Do(req) + resp, err := d.client.Do(req) if err != nil { log.Err(err).Msgf("xcloud: error getting internal metrics from %s", d.instance) return err @@ -146,7 +139,7 @@ func (d *CloudDriver) refresh() error { return err } - resp, err = client.Do(req) + resp, err = d.client.Do(req) if err != nil { log.Err(err).Msgf("xcloud: error registering catalog info to: %s with info: %s", d.catalog, string(j)) return err @@ -180,6 +173,14 @@ func (d *CloudDriver) Configure(c *config.Config) error { d.pullInterval = c.XcloudPullInterval d.catalog = c.XcloudCatalog + // TODO(labkode): make it configurable once site adopted are prod-ready + tr := &http.Transport{ + TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, + } + client := &http.Client{Transport: tr} + + d.client = client + ticker := time.NewTicker(time.Duration(d.pullInterval) * time.Second) quit := make(chan struct{}) go func() {