diff --git a/hack/vendor.sh b/hack/vendor.sh index 84531cc9fb..d68be336ce 100755 --- a/hack/vendor.sh +++ b/hack/vendor.sh @@ -60,7 +60,7 @@ clone git golang.org/x/net 2beffdc2e92c8a3027590f898fe88f69af48a3f8 https://gith clone git golang.org/x/sys eb2c74142fd19a79b3f237334c7384d5167b1b46 https://github.com/golang/sys.git clone git github.com/docker/go-units 651fc226e7441360384da338d0fd37f2440ffbe3 clone git github.com/docker/go-connections fa2850ff103453a9ad190da0df0af134f0314b3d -clone git github.com/docker/engine-api 1d247454d4307fb1ddf10d09fd2996394b085904 +clone git github.com/docker/engine-api c977588a28fa81fbbb06c295e936853cef37cf27 clone git github.com/RackSec/srslog 259aed10dfa74ea2961eddd1d9847619f6e98837 clone git github.com/imdario/mergo 0.2.1 diff --git a/vendor/src/github.com/docker/engine-api/client/interface.go b/vendor/src/github.com/docker/engine-api/client/interface.go index 1cadaef56b..2e0491ab70 100644 --- a/vendor/src/github.com/docker/engine-api/client/interface.go +++ b/vendor/src/github.com/docker/engine-api/client/interface.go @@ -115,7 +115,7 @@ type SwarmAPIClient interface { SwarmJoin(ctx context.Context, req swarm.JoinRequest) error SwarmLeave(ctx context.Context, force bool) error SwarmInspect(ctx context.Context) (swarm.Swarm, error) - SwarmUpdate(ctx context.Context, version swarm.Version, swarm swarm.Spec) error + SwarmUpdate(ctx context.Context, version swarm.Version, swarm swarm.Spec, flags swarm.UpdateFlags) error } // SystemAPIClient defines API client methods for the system diff --git a/vendor/src/github.com/docker/engine-api/client/swarm_update.go b/vendor/src/github.com/docker/engine-api/client/swarm_update.go index 568474af7d..610aaec02f 100644 --- a/vendor/src/github.com/docker/engine-api/client/swarm_update.go +++ b/vendor/src/github.com/docker/engine-api/client/swarm_update.go @@ -1,6 +1,7 @@ package client import ( + "fmt" "net/url" "strconv" @@ -9,9 +10,11 @@ import ( ) // SwarmUpdate updates the Swarm. -func (cli *Client) SwarmUpdate(ctx context.Context, version swarm.Version, swarm swarm.Spec) error { +func (cli *Client) SwarmUpdate(ctx context.Context, version swarm.Version, swarm swarm.Spec, flags swarm.UpdateFlags) error { query := url.Values{} query.Set("version", strconv.FormatUint(version.Index, 10)) + query.Set("rotate_worker_token", fmt.Sprintf("%v", flags.RotateWorkerToken)) + query.Set("rotate_manager_token", fmt.Sprintf("%v", flags.RotateManagerToken)) resp, err := cli.post(ctx, "/swarm/update", query, swarm, nil) ensureReaderClosed(resp) return err diff --git a/vendor/src/github.com/docker/engine-api/client/transport/cancellable/cancellable.go b/vendor/src/github.com/docker/engine-api/client/transport/cancellable/cancellable.go index 526feb0f45..1394149574 100644 --- a/vendor/src/github.com/docker/engine-api/client/transport/cancellable/cancellable.go +++ b/vendor/src/github.com/docker/engine-api/client/transport/cancellable/cancellable.go @@ -30,7 +30,7 @@ var ( // // This function deviates from the upstream version in golang.org/x/net/context/ctxhttp by // taking a Sender interface rather than a *http.Client directly. That allow us to use -// this funcion with mocked clients and hijacked connections. +// this function with mocked clients and hijacked connections. func Do(ctx context.Context, client transport.Sender, req *http.Request) (*http.Response, error) { if client == nil { client = http.DefaultClient diff --git a/vendor/src/github.com/docker/engine-api/types/configs.go b/vendor/src/github.com/docker/engine-api/types/configs.go index 7d4fcb343e..93384b9fad 100644 --- a/vendor/src/github.com/docker/engine-api/types/configs.go +++ b/vendor/src/github.com/docker/engine-api/types/configs.go @@ -45,8 +45,8 @@ type ExecConfig struct { Privileged bool // Is the container in privileged mode Tty bool // Attach standard streams to a tty. AttachStdin bool // Attach the standard input, makes possible user interaction - AttachStderr bool // Attach the standard output - AttachStdout bool // Attach the standard error + AttachStderr bool // Attach the standard error + AttachStdout bool // Attach the standard output Detach bool // Execute in detach mode DetachKeys string // Escape keys for detach Cmd []string // Execution commands and args diff --git a/vendor/src/github.com/docker/engine-api/types/swarm/node.go b/vendor/src/github.com/docker/engine-api/types/swarm/node.go index 8421f67a2f..9987662a58 100644 --- a/vendor/src/github.com/docker/engine-api/types/swarm/node.go +++ b/vendor/src/github.com/docker/engine-api/types/swarm/node.go @@ -15,7 +15,6 @@ type Node struct { type NodeSpec struct { Annotations Role NodeRole `json:",omitempty"` - Membership NodeMembership `json:",omitempty"` Availability NodeAvailability `json:",omitempty"` } @@ -29,16 +28,6 @@ const ( NodeRoleManager NodeRole = "manager" ) -// NodeMembership represents the membership of a node. -type NodeMembership string - -const ( - // NodeMembershipPending PENDING - NodeMembershipPending NodeMembership = "pending" - // NodeMembershipAccepted ACCEPTED - NodeMembershipAccepted NodeMembership = "accepted" -) - // NodeAvailability represents the availability of a node. type NodeAvailability string diff --git a/vendor/src/github.com/docker/engine-api/types/swarm/swarm.go b/vendor/src/github.com/docker/engine-api/types/swarm/swarm.go index 0a0685d0f1..92f05a2802 100644 --- a/vendor/src/github.com/docker/engine-api/types/swarm/swarm.go +++ b/vendor/src/github.com/docker/engine-api/types/swarm/swarm.go @@ -6,38 +6,25 @@ import "time" type Swarm struct { ID string Meta - Spec Spec + Spec Spec + JoinTokens JoinTokens +} + +// JoinTokens contains the tokens workers and managers need to join the swarm. +type JoinTokens struct { + Worker string + Manager string } // Spec represents the spec of a swarm. type Spec struct { Annotations - AcceptancePolicy AcceptancePolicy `json:",omitempty"` - Orchestration OrchestrationConfig `json:",omitempty"` - Raft RaftConfig `json:",omitempty"` - Dispatcher DispatcherConfig `json:",omitempty"` - CAConfig CAConfig `json:",omitempty"` - - // DefaultLogDriver sets the log driver to use at task creation time if - // unspecified by a task. - // - // Updating this value will only have an affect on new tasks. Old tasks - // will continue use their previously configured log driver until - // recreated. - DefaultLogDriver *Driver `json:",omitempty"` -} - -// AcceptancePolicy represents the list of policies. -type AcceptancePolicy struct { - Policies []Policy `json:",omitempty"` -} - -// Policy represents a role, autoaccept and secret. -type Policy struct { - Role NodeRole - Autoaccept bool - Secret *string `json:",omitempty"` + Orchestration OrchestrationConfig `json:",omitempty"` + Raft RaftConfig `json:",omitempty"` + Dispatcher DispatcherConfig `json:",omitempty"` + CAConfig CAConfig `json:",omitempty"` + TaskDefaults TaskDefaults `json:",omitempty"` } // OrchestrationConfig represents orchestration configuration. @@ -45,6 +32,17 @@ type OrchestrationConfig struct { TaskHistoryRetentionLimit int64 `json:",omitempty"` } +// TaskDefaults parameterizes cluster-level task creation with default values. +type TaskDefaults struct { + // LogDriver selects the log driver to use for tasks created in the + // orchestrator if unspecified by a service. + // + // Updating this value will only have an affect on new tasks. Old tasks + // will continue use their previously configured log driver until + // recreated. + LogDriver *Driver `json:",omitempty"` +} + // RaftConfig represents raft configuration. type RaftConfig struct { SnapshotInterval uint64 `json:",omitempty"` @@ -81,17 +79,17 @@ type ExternalCA struct { // InitRequest is the request used to init a swarm. type InitRequest struct { ListenAddr string + AdvertiseAddr string ForceNewCluster bool Spec Spec } // JoinRequest is the request used to join a swarm. type JoinRequest struct { - ListenAddr string - RemoteAddrs []string - Secret string // accept by secret - CACertHash string - Manager bool + ListenAddr string + AdvertiseAddr string + RemoteAddrs []string + JoinToken string // accept by secret } // LocalNodeState represents the state of the local node. @@ -110,7 +108,8 @@ const ( // Info represents generic information about swarm. type Info struct { - NodeID string + NodeID string + NodeAddr string LocalNodeState LocalNodeState ControlAvailable bool @@ -119,7 +118,6 @@ type Info struct { RemoteManagers []Peer Nodes int Managers int - CACertHash string } // Peer represents a peer. @@ -127,3 +125,9 @@ type Peer struct { NodeID string Addr string } + +// UpdateFlags contains flags for SwarmUpdate. +type UpdateFlags struct { + RotateWorkerToken bool + RotateManagerToken bool +}