diff --git a/CHANGELOG.md b/CHANGELOG.md index 4760ee163bd..1b2d1f528c4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,10 @@ ## Minor * **SMTP**: Make it possible to set specific EHLO for smtp client. [#9319](https://github.com/grafana/grafana/issues/9319) * **Dataproxy**: Allow grafan to renegotiate tls connection [#9250](https://github.com/grafana/grafana/issues/9250) +* **HTTP**: set net.Dialer.DualStack to true for all http clients [#9367](https://github.com/grafana/grafana/pull/9367) + +## Tech +* **Go**: Grafana is now built using golang 1.9 # 4.5.2 (2017-09-22) diff --git a/README.md b/README.md index a61640b096a..a640af5e773 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ the latest master builds [here](https://grafana.com/grafana/download) ### Dependencies -- Go 1.8.1 +- Go 1.9 - NodeJS LTS ### Building the backend diff --git a/appveyor.yml b/appveyor.yml index 9f8e9a26622..d626f6bd93f 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -7,7 +7,7 @@ clone_folder: c:\gopath\src\github.com\grafana\grafana environment: nodejs_version: "6" GOPATH: c:\gopath - GOVERSION: 1.8 + GOVERSION: 1.9 install: - rmdir c:\go /s /q diff --git a/circle.yml b/circle.yml index b8767b79b8b..0d535a9c1c2 100644 --- a/circle.yml +++ b/circle.yml @@ -9,7 +9,7 @@ machine: GOPATH: "/home/ubuntu/.go_workspace" ORG_PATH: "github.com/grafana" REPO_PATH: "${ORG_PATH}/grafana" - GODIST: "go1.8.linux-amd64.tar.gz" + GODIST: "go1.9.linux-amd64.tar.gz" post: - mkdir -p ~/download - mkdir -p ~/docker diff --git a/docs/sources/project/building_from_source.md b/docs/sources/project/building_from_source.md index 5056f1bd7b1..f33b951da78 100644 --- a/docs/sources/project/building_from_source.md +++ b/docs/sources/project/building_from_source.md @@ -13,7 +13,7 @@ dev environment. Grafana ships with its own required backend server; also comple ## Dependencies -- [Go 1.8.1](https://golang.org/dl/) +- [Go 1.9](https://golang.org/dl/) - [NodeJS LTS](https://nodejs.org/download/) - [Git](https://git-scm.com/downloads) diff --git a/pkg/api/app_routes.go b/pkg/api/app_routes.go index a7638879a93..8992f8f66d6 100644 --- a/pkg/api/app_routes.go +++ b/pkg/api/app_routes.go @@ -25,6 +25,7 @@ var pluginProxyTransport = &http.Transport{ Dial: (&net.Dialer{ Timeout: 30 * time.Second, KeepAlive: 30 * time.Second, + DualStack: true, }).Dial, TLSHandshakeTimeout: 10 * time.Second, } diff --git a/pkg/api/grafana_com_proxy.go b/pkg/api/grafana_com_proxy.go index 5db508f4e11..015f690adda 100644 --- a/pkg/api/grafana_com_proxy.go +++ b/pkg/api/grafana_com_proxy.go @@ -19,6 +19,7 @@ var grafanaComProxyTransport = &http.Transport{ Dial: (&net.Dialer{ Timeout: 30 * time.Second, KeepAlive: 30 * time.Second, + DualStack: true, }).Dial, TLSHandshakeTimeout: 10 * time.Second, } diff --git a/pkg/cmd/grafana-cli/services/services.go b/pkg/cmd/grafana-cli/services/services.go index 6c739f8b0ee..d3a05430944 100644 --- a/pkg/cmd/grafana-cli/services/services.go +++ b/pkg/cmd/grafana-cli/services/services.go @@ -30,6 +30,7 @@ func Init(version string) { DialContext: (&net.Dialer{ Timeout: 30 * time.Second, KeepAlive: 30 * time.Second, + DualStack: true, }).DialContext, MaxIdleConns: 100, IdleConnTimeout: 90 * time.Second, diff --git a/pkg/components/imguploader/webdavuploader.go b/pkg/components/imguploader/webdavuploader.go index 01de7119756..53d75247c76 100644 --- a/pkg/components/imguploader/webdavuploader.go +++ b/pkg/components/imguploader/webdavuploader.go @@ -24,7 +24,8 @@ type WebdavUploader struct { var netTransport = &http.Transport{ Proxy: http.ProxyFromEnvironment, Dial: (&net.Dialer{ - Timeout: 60 * time.Second, + Timeout: 60 * time.Second, + DualStack: true, }).Dial, TLSHandshakeTimeout: 5 * time.Second, } diff --git a/pkg/models/datasource_cache.go b/pkg/models/datasource_cache.go index 4a459c2783b..158018b0f0a 100644 --- a/pkg/models/datasource_cache.go +++ b/pkg/models/datasource_cache.go @@ -54,6 +54,7 @@ func (ds *DataSource) GetHttpTransport() (*http.Transport, error) { Dial: (&net.Dialer{ Timeout: 30 * time.Second, KeepAlive: 30 * time.Second, + DualStack: true, }).Dial, TLSHandshakeTimeout: 10 * time.Second, ExpectContinueTimeout: 1 * time.Second, diff --git a/pkg/services/notifications/webhook.go b/pkg/services/notifications/webhook.go index c74804ab828..dff5aa4924a 100644 --- a/pkg/services/notifications/webhook.go +++ b/pkg/services/notifications/webhook.go @@ -27,7 +27,8 @@ type Webhook struct { var netTransport = &http.Transport{ Proxy: http.ProxyFromEnvironment, Dial: (&net.Dialer{ - Timeout: 30 * time.Second, + Timeout: 30 * time.Second, + DualStack: true, }).Dial, TLSHandshakeTimeout: 5 * time.Second, } diff --git a/pkg/tracing/tracing.go b/pkg/tracing/tracing.go index be81cd7e794..921996d155d 100644 --- a/pkg/tracing/tracing.go +++ b/pkg/tracing/tracing.go @@ -80,8 +80,8 @@ func internalInit(settings *TracingSettings) (io.Closer, error) { return nil, err } - logger.Info("Initialized jaeger tracer", "address", settings.Address) opentracing.InitGlobalTracer(tracer) + logger.Info("Initializing Jaeger tracer", "address", settings.Address) return closer, nil } diff --git a/scripts/build/Dockerfile b/scripts/build/Dockerfile index 90302563546..da9a99706bb 100644 --- a/scripts/build/Dockerfile +++ b/scripts/build/Dockerfile @@ -23,10 +23,10 @@ RUN curl --silent --location https://rpm.nodesource.com/setup_6.x | bash - && \ RUN wget https://dl.yarnpkg.com/rpm/yarn.repo -O /etc/yum.repos.d/yarn.repo && \ yum install -y yarn --nogpgcheck && \ - wget https://storage.googleapis.com/golang/go1.8.linux-amd64.tar.gz && \ - tar -C /usr/local -xzf go1.8.linux-amd64.tar.gz + wget https://storage.googleapis.com/golang/go1.9.linux-amd64.tar.gz && \ + tar -C /usr/local -xzf go1.9.linux-amd64.tar.gz -ENV GOLANG_VERSION 1.8 +ENV GOLANG_VERSION 1.9 ENV PATH /usr/local/go/bin:$PATH RUN mkdir -p /go/src /go/bin && chmod -R 777 /go