vendor: update all

Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
This commit is contained in:
Gyu-Ho Lee 2017-03-06 13:21:43 -08:00
parent 689c4789fc
commit 62aa9e7dde
38 changed files with 134 additions and 15 deletions

View File

@ -23,7 +23,7 @@ import (
"github.com/coreos/dbtester/pkg/ntp" "github.com/coreos/dbtester/pkg/ntp"
"github.com/coreos/etcd/pkg/netutil" "github.com/coreos/etcd/pkg/netutil"
"github.com/coreos/pkg/capnslog" "github.com/coreos/pkg/capnslog"
"github.com/gyuho/psn" "github.com/gyuho/linux-inspect/psn"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"google.golang.org/grpc" "google.golang.org/grpc"
) )

View File

@ -25,7 +25,7 @@ import (
"github.com/coreos/dbtester/dbtesterpb" "github.com/coreos/dbtester/dbtesterpb"
"github.com/coreos/dbtester/pkg/fileinspect" "github.com/coreos/dbtester/pkg/fileinspect"
"github.com/gyuho/psn" "github.com/gyuho/linux-inspect/psn"
"golang.org/x/net/context" "golang.org/x/net/context"
) )

View File

@ -19,7 +19,7 @@ import (
"os" "os"
"time" "time"
"github.com/gyuho/psn" "github.com/gyuho/linux-inspect/psn"
) )
// startMetrics starts collecting metrics. // startMetrics starts collecting metrics.

View File

@ -25,7 +25,7 @@ import (
"github.com/coreos/dbtester/dbtesterpb" "github.com/coreos/dbtester/dbtesterpb"
"github.com/coreos/dbtester/pkg/ntp" "github.com/coreos/dbtester/pkg/ntp"
"github.com/coreos/etcd/pkg/netutil" "github.com/coreos/etcd/pkg/netutil"
"github.com/gyuho/psn" "github.com/gyuho/linux-inspect/psn"
"github.com/spf13/cobra" "github.com/spf13/cobra"
) )

View File

@ -49,6 +49,8 @@ type Client struct {
Maintenance Maintenance
conn *grpc.ClientConn conn *grpc.ClientConn
dialerrc chan error
cfg Config cfg Config
creds *credentials.TransportCredentials creds *credentials.TransportCredentials
balancer *simpleBalancer balancer *simpleBalancer
@ -214,7 +216,14 @@ func (c *Client) dialSetupOpts(endpoint string, dopts ...grpc.DialOption) (opts
default: default:
} }
dialer := &net.Dialer{Timeout: t} dialer := &net.Dialer{Timeout: t}
return dialer.DialContext(c.ctx, proto, host) conn, err := dialer.DialContext(c.ctx, proto, host)
if err != nil {
select {
case c.dialerrc <- err:
default:
}
}
return conn, err
} }
opts = append(opts, grpc.WithDialer(f)) opts = append(opts, grpc.WithDialer(f))
@ -317,6 +326,7 @@ func newClient(cfg *Config) (*Client, error) {
ctx, cancel := context.WithCancel(baseCtx) ctx, cancel := context.WithCancel(baseCtx)
client := &Client{ client := &Client{
conn: nil, conn: nil,
dialerrc: make(chan error, 1),
cfg: *cfg, cfg: *cfg,
creds: creds, creds: creds,
ctx: ctx, ctx: ctx,
@ -347,9 +357,14 @@ func newClient(cfg *Config) (*Client, error) {
case <-waitc: case <-waitc:
} }
if !hasConn { if !hasConn {
err := grpc.ErrClientConnTimeout
select {
case err = <-client.dialerrc:
default:
}
client.cancel() client.cancel()
conn.Close() conn.Close()
return nil, grpc.ErrClientConnTimeout return nil, err
} }
} }

24
vendor/github.com/googleapis/gax-go/header.go generated vendored Normal file
View File

@ -0,0 +1,24 @@
package gax
import "bytes"
// XGoogHeader is for use by the Google Cloud Libraries only.
//
// XGoogHeader formats key-value pairs.
// The resulting string is suitable for x-goog-api-client header.
func XGoogHeader(keyval ...string) string {
if len(keyval) == 0 {
return ""
}
if len(keyval)%2 != 0 {
panic("gax.Header: odd argument count")
}
var buf bytes.Buffer
for i := 0; i < len(keyval); i += 2 {
buf.WriteByte(' ')
buf.WriteString(keyval[i])
buf.WriteByte('/')
buf.WriteString(keyval[i+1])
}
return buf.String()[1:]
}

View File

@ -12,7 +12,7 @@ import (
"strings" "strings"
"github.com/dustin/go-humanize" "github.com/dustin/go-humanize"
"github.com/gyuho/psn/schema" "github.com/gyuho/linux-inspect/schema"
) )
// GetProcStatByPID reads '/proc/$PID/stat' data. // GetProcStatByPID reads '/proc/$PID/stat' data.

View File

@ -1,5 +1,13 @@
package api package api
import (
"bytes"
"fmt"
"io"
"strconv"
"strings"
)
// Operator can be used to perform low-level operator tasks for Consul. // Operator can be used to perform low-level operator tasks for Consul.
type Operator struct { type Operator struct {
c *Client c *Client
@ -63,6 +71,25 @@ type KeyringResponse struct {
NumNodes int NumNodes int
} }
// AutopilotConfiguration is used for querying/setting the Autopilot configuration.
// Autopilot helps manage operator tasks related to Consul servers like removing
// failed servers from the Raft quorum.
type AutopilotConfiguration struct {
// CleanupDeadServers controls whether to remove dead servers from the Raft
// peer list when a new server joins
CleanupDeadServers bool
// CreateIndex holds the index corresponding the creation of this configuration.
// This is a read-only field.
CreateIndex uint64
// ModifyIndex will be set to the index of the last update when retrieving the
// Autopilot configuration. Resubmitting a configuration with
// AutopilotCASConfiguration will perform a check-and-set operation which ensures
// there hasn't been a subsequent update since the configuration was retrieved.
ModifyIndex uint64
}
// RaftGetConfiguration is used to query the current Raft peer set. // RaftGetConfiguration is used to query the current Raft peer set.
func (op *Operator) RaftGetConfiguration(q *QueryOptions) (*RaftConfiguration, error) { func (op *Operator) RaftGetConfiguration(q *QueryOptions) (*RaftConfiguration, error) {
r := op.c.newRequest("GET", "/v1/operator/raft/configuration") r := op.c.newRequest("GET", "/v1/operator/raft/configuration")
@ -161,3 +188,56 @@ func (op *Operator) KeyringUse(key string, q *WriteOptions) error {
resp.Body.Close() resp.Body.Close()
return nil return nil
} }
// AutopilotGetConfiguration is used to query the current Autopilot configuration.
func (op *Operator) AutopilotGetConfiguration(q *QueryOptions) (*AutopilotConfiguration, error) {
r := op.c.newRequest("GET", "/v1/operator/autopilot/configuration")
r.setQueryOptions(q)
_, resp, err := requireOK(op.c.doRequest(r))
if err != nil {
return nil, err
}
defer resp.Body.Close()
var out AutopilotConfiguration
if err := decodeBody(resp, &out); err != nil {
return nil, err
}
return &out, nil
}
// AutopilotSetConfiguration is used to set the current Autopilot configuration.
func (op *Operator) AutopilotSetConfiguration(conf *AutopilotConfiguration, q *WriteOptions) error {
r := op.c.newRequest("PUT", "/v1/operator/autopilot/configuration")
r.setWriteOptions(q)
r.obj = conf
_, resp, err := requireOK(op.c.doRequest(r))
if err != nil {
return err
}
resp.Body.Close()
return nil
}
// AutopilotCASConfiguration is used to perform a Check-And-Set update on the
// Autopilot configuration. The ModifyIndex value will be respected. Returns
// true on success or false on failures.
func (op *Operator) AutopilotCASConfiguration(conf *AutopilotConfiguration, q *WriteOptions) (bool, error) {
r := op.c.newRequest("PUT", "/v1/operator/autopilot/configuration")
r.setWriteOptions(q)
r.params.Set("cas", strconv.FormatUint(conf.ModifyIndex, 10))
r.obj = conf
_, resp, err := requireOK(op.c.doRequest(r))
if err != nil {
return false, err
}
defer resp.Body.Close()
var buf bytes.Buffer
if _, err := io.Copy(&buf, resp.Body); err != nil {
return false, fmt.Errorf("Failed to read response: %v", err)
}
res := strings.Contains(string(buf.Bytes()), "true")
return res, nil
}

View File

@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style // Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file. // license that can be found in the LICENSE file.
// +build !go1.9 // +build !go1.9,!go1.8.typealias
package draw package draw

View File

@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style // Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file. // license that can be found in the LICENSE file.
// +build go1.9 // +build go1.9 go1.8.typealias
package draw package draw