mirror of https://github.com/docker/docs.git
add timeout for b2d release check; warn instead of error if cannot check
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
This commit is contained in:
parent
7d6fd1f791
commit
d1ee81453c
|
@ -143,7 +143,7 @@ func (d *Driver) Create() error {
|
||||||
// until then always use "latest"
|
// until then always use "latest"
|
||||||
isoURL, err = utils.GetLatestBoot2DockerReleaseURL()
|
isoURL, err = utils.GetLatestBoot2DockerReleaseURL()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
log.Warnf("Unable to check for the latest release: %s", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// todo: use real constant for .docker
|
// todo: use real constant for .docker
|
||||||
|
|
|
@ -151,7 +151,7 @@ func (d *Driver) Create() error {
|
||||||
// until then always use "latest"
|
// until then always use "latest"
|
||||||
isoURL, err = utils.GetLatestBoot2DockerReleaseURL()
|
isoURL, err = utils.GetLatestBoot2DockerReleaseURL()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
log.Warnf("Unable to check for the latest release: %s", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// todo: use real constant for .docker
|
// todo: use real constant for .docker
|
||||||
|
|
|
@ -245,7 +245,7 @@ func (d *Driver) Create() error {
|
||||||
// until then always use "latest"
|
// until then always use "latest"
|
||||||
isoURL, err = utils.GetLatestBoot2DockerReleaseURL()
|
isoURL, err = utils.GetLatestBoot2DockerReleaseURL()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
log.Warnf("Unable to check for the latest release: %s", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
rootPath := utils.GetDockerDir()
|
rootPath := utils.GetDockerDir()
|
||||||
|
|
20
utils/b2d.go
20
utils/b2d.go
|
@ -5,15 +5,33 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
|
"net"
|
||||||
"net/http"
|
"net/http"
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
timeout = time.Second * 5
|
||||||
|
)
|
||||||
|
|
||||||
|
func defaultTimeout(network, addr string) (net.Conn, error) {
|
||||||
|
return net.DialTimeout(network, addr, timeout)
|
||||||
|
}
|
||||||
|
|
||||||
// Get the latest boot2docker release tag name (e.g. "v0.6.0").
|
// Get the latest boot2docker release tag name (e.g. "v0.6.0").
|
||||||
// FIXME: find or create some other way to get the "latest release" of boot2docker since the GitHub API has a pretty low rate limit on API requests
|
// FIXME: find or create some other way to get the "latest release" of boot2docker since the GitHub API has a pretty low rate limit on API requests
|
||||||
func GetLatestBoot2DockerReleaseURL() (string, error) {
|
func GetLatestBoot2DockerReleaseURL() (string, error) {
|
||||||
rsp, err := http.Get("https://api.github.com/repos/boot2docker/boot2docker/releases")
|
transport := http.Transport{
|
||||||
|
Dial: defaultTimeout,
|
||||||
|
}
|
||||||
|
|
||||||
|
client := http.Client{
|
||||||
|
Transport: &transport,
|
||||||
|
}
|
||||||
|
|
||||||
|
rsp, err := client.Get("https://api.github.com/repos/boot2docker/boot2docker/releases")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue