mirror of
https://github.com/docker/cli.git
synced 2026-09-24 15:30:10 -05:00
Merge component 'engine' from git@github.com:docker/engine 18.09
This commit is contained in:
@@ -58,6 +58,7 @@ import (
|
||||
swarmnode "github.com/docker/swarmkit/node"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/sirupsen/logrus"
|
||||
"google.golang.org/grpc"
|
||||
)
|
||||
|
||||
const swarmDirName = "swarm"
|
||||
@@ -399,7 +400,10 @@ func (c *Cluster) Cleanup() {
|
||||
func managerStats(client swarmapi.ControlClient, currentNodeID string) (current bool, reachable int, unreachable int, err error) {
|
||||
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
|
||||
defer cancel()
|
||||
nodes, err := client.ListNodes(ctx, &swarmapi.ListNodesRequest{})
|
||||
nodes, err := client.ListNodes(
|
||||
ctx, &swarmapi.ListNodesRequest{},
|
||||
grpc.MaxCallRecvMsgSize(defaultRecvSizeForListResponse),
|
||||
)
|
||||
if err != nil {
|
||||
return false, 0, 0, err
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@ import (
|
||||
swarmnode "github.com/docker/swarmkit/node"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/sirupsen/logrus"
|
||||
"google.golang.org/grpc"
|
||||
)
|
||||
|
||||
// Init initializes new cluster from user provided request.
|
||||
@@ -442,7 +443,10 @@ func (c *Cluster) Info() types.Info {
|
||||
|
||||
info.Cluster = &swarm.ClusterInfo
|
||||
|
||||
if r, err := state.controlClient.ListNodes(ctx, &swarmapi.ListNodesRequest{}); err != nil {
|
||||
if r, err := state.controlClient.ListNodes(
|
||||
ctx, &swarmapi.ListNodesRequest{},
|
||||
grpc.MaxCallRecvMsgSize(defaultRecvSizeForListResponse),
|
||||
); err != nil {
|
||||
info.Error = err.Error()
|
||||
} else {
|
||||
info.Nodes = len(r.Nodes)
|
||||
|
||||
@@ -130,7 +130,7 @@ github.com/containerd/ttrpc 2a805f71863501300ae1976d29f0454ae003e85a
|
||||
github.com/gogo/googleapis 08a7655d27152912db7aaf4f983275eaf8d128ef
|
||||
|
||||
# cluster
|
||||
github.com/docker/swarmkit 19e791fd6dc76e8e894cbc99b77f946b7d00ebb9 # bump_v18.09 branch
|
||||
github.com/docker/swarmkit 142a73731c850daf24d32001aa2358b6ffe36eab # bump_v18.09 branch
|
||||
github.com/gogo/protobuf v1.0.0
|
||||
github.com/cloudflare/cfssl 1.3.2
|
||||
github.com/fernet/fernet-go 1b2437bc582b3cfbb341ee5a29f8ef5b42912ff2
|
||||
|
||||
+16
-5
@@ -265,12 +265,23 @@ func orphanNodeTasks(tx store.Tx, nodeID string) error {
|
||||
return err
|
||||
}
|
||||
for _, task := range tasks {
|
||||
task.Status = api.TaskStatus{
|
||||
Timestamp: gogotypes.TimestampNow(),
|
||||
State: api.TaskStateOrphaned,
|
||||
Message: "Task belonged to a node that has been deleted",
|
||||
// this operation must occur within the same transaction boundary. If
|
||||
// we cannot accomplish this task orphaning in the same transaction, we
|
||||
// could crash or die between transactions and not get a chance to do
|
||||
// this. however, in cases were there is an exceptionally large number
|
||||
// of tasks for a node, this may cause the transaction to exceed the
|
||||
// max message size.
|
||||
//
|
||||
// therefore, we restrict updating to only tasks in a non-terminal
|
||||
// state. Tasks in a terminal state do not need to be updated.
|
||||
if task.Status.State < api.TaskStateCompleted {
|
||||
task.Status = api.TaskStatus{
|
||||
Timestamp: gogotypes.TimestampNow(),
|
||||
State: api.TaskStateOrphaned,
|
||||
Message: "Task belonged to a node that has been deleted",
|
||||
}
|
||||
store.UpdateTask(tx, task)
|
||||
}
|
||||
store.UpdateTask(tx, task)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user