mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
*: Change etcdserver API to support raft learner
- Added isLearner flag to MemberAddRequest in Cluster API. - Added isLearner field to StatusResponse in Maintenance API. - Added MemberPromote rpc to Cluster API.
This commit is contained in:
@@ -501,6 +501,33 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"/v3/cluster/member/promote": {
|
||||
"post": {
|
||||
"tags": [
|
||||
"Cluster"
|
||||
],
|
||||
"summary": "MemberPromote promotes a member from raft learner (non-voting) to raft voting member.",
|
||||
"operationId": "MemberPromote",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "body",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/etcdserverpbMemberPromoteRequest"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "A successful response.",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/etcdserverpbMemberPromoteResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/v3/cluster/member/remove": {
|
||||
"post": {
|
||||
"tags": [
|
||||
@@ -820,7 +847,7 @@
|
||||
"200": {
|
||||
"description": "A successful response.(streaming responses)",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/etcdserverpbLeaseKeepAliveResponse"
|
||||
"$ref": "#/x-stream-definitions/etcdserverpbLeaseKeepAliveResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1009,7 +1036,7 @@
|
||||
"200": {
|
||||
"description": "A successful response.(streaming responses)",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/etcdserverpbSnapshotResponse"
|
||||
"$ref": "#/x-stream-definitions/etcdserverpbSnapshotResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1091,7 +1118,7 @@
|
||||
"200": {
|
||||
"description": "A successful response.(streaming responses)",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/etcdserverpbWatchResponse"
|
||||
"$ref": "#/x-stream-definitions/etcdserverpbWatchResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1882,6 +1909,11 @@
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"isLearner": {
|
||||
"description": "isLearner indicates if the member is raft learner.",
|
||||
"type": "boolean",
|
||||
"format": "boolean"
|
||||
},
|
||||
"name": {
|
||||
"description": "name is the human-readable name of the member. If the member is not started, the name will be an empty string.",
|
||||
"type": "string"
|
||||
@@ -1898,6 +1930,11 @@
|
||||
"etcdserverpbMemberAddRequest": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"isLearner": {
|
||||
"description": "isLearner indicates if the added member is raft learner.",
|
||||
"type": "boolean",
|
||||
"format": "boolean"
|
||||
},
|
||||
"peerURLs": {
|
||||
"description": "peerURLs is the list of URLs the added member will use to communicate with the cluster.",
|
||||
"type": "array",
|
||||
@@ -1944,6 +1981,31 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"etcdserverpbMemberPromoteRequest": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"ID": {
|
||||
"description": "ID is the member ID of the member to promote.",
|
||||
"type": "string",
|
||||
"format": "uint64"
|
||||
}
|
||||
}
|
||||
},
|
||||
"etcdserverpbMemberPromoteResponse": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"header": {
|
||||
"$ref": "#/definitions/etcdserverpbResponseHeader"
|
||||
},
|
||||
"members": {
|
||||
"description": "members is a list of all members after promoting the member.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/etcdserverpbMember"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"etcdserverpbMemberRemoveRequest": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
@@ -2266,6 +2328,11 @@
|
||||
"header": {
|
||||
"$ref": "#/definitions/etcdserverpbResponseHeader"
|
||||
},
|
||||
"isLearner": {
|
||||
"description": "isLearner indicates if the member is raft learner.",
|
||||
"type": "boolean",
|
||||
"format": "boolean"
|
||||
},
|
||||
"leader": {
|
||||
"description": "leader is the member ID which the responding member believes is the current leader.",
|
||||
"type": "string",
|
||||
@@ -2508,6 +2575,43 @@
|
||||
"format": "int64"
|
||||
}
|
||||
}
|
||||
},
|
||||
"protobufAny": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"value": {
|
||||
"type": "string",
|
||||
"format": "byte"
|
||||
}
|
||||
}
|
||||
},
|
||||
"runtimeStreamError": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"details": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/protobufAny"
|
||||
}
|
||||
},
|
||||
"grpc_code": {
|
||||
"type": "integer",
|
||||
"format": "int32"
|
||||
},
|
||||
"http_code": {
|
||||
"type": "integer",
|
||||
"format": "int32"
|
||||
},
|
||||
"http_status": {
|
||||
"type": "string"
|
||||
},
|
||||
"message": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"securityDefinitions": {
|
||||
@@ -2521,5 +2625,43 @@
|
||||
{
|
||||
"ApiKey": []
|
||||
}
|
||||
]
|
||||
],
|
||||
"x-stream-definitions": {
|
||||
"etcdserverpbLeaseKeepAliveResponse": {
|
||||
"properties": {
|
||||
"error": {
|
||||
"$ref": "#/definitions/runtimeStreamError"
|
||||
},
|
||||
"result": {
|
||||
"$ref": "#/definitions/etcdserverpbLeaseKeepAliveResponse"
|
||||
}
|
||||
},
|
||||
"title": "Stream result of etcdserverpbLeaseKeepAliveResponse",
|
||||
"type": "object"
|
||||
},
|
||||
"etcdserverpbSnapshotResponse": {
|
||||
"properties": {
|
||||
"error": {
|
||||
"$ref": "#/definitions/runtimeStreamError"
|
||||
},
|
||||
"result": {
|
||||
"$ref": "#/definitions/etcdserverpbSnapshotResponse"
|
||||
}
|
||||
},
|
||||
"title": "Stream result of etcdserverpbSnapshotResponse",
|
||||
"type": "object"
|
||||
},
|
||||
"etcdserverpbWatchResponse": {
|
||||
"properties": {
|
||||
"error": {
|
||||
"$ref": "#/definitions/runtimeStreamError"
|
||||
},
|
||||
"result": {
|
||||
"$ref": "#/definitions/etcdserverpbWatchResponse"
|
||||
}
|
||||
},
|
||||
"title": "Stream result of etcdserverpbWatchResponse",
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user