This API operation is used to add the specified OBServer node to the current cluster. To perform the operation, you must send a request containing the information about the target OceanBase Shell (obshell) agent to the current obshell agent.
Call description
Limitations
The obshell server verifies the security of requests to this API operation. For more information, see Hybrid encryption for API operations.
Request path
POST /api/v1/agent
POST /api/v1/agent/join
Request parameters
| Parameter | Type | Required? | Example value | Description |
|---|---|---|---|---|
| agentInfo | AgentInfo | Yes | { "ip":" 10.10.10.1", "port":2886 } |
The information about the obshell agent on the OBServer node to be added, including the following parameters:
|
| zoneName | String | Yes | zone1 | The zone to which the OBServer node is to be added. |
Response parameters
| Parameter | Type | Description |
|---|---|---|
| successful | Boolean | Indicates whether the request is successful. |
| timestamp | time.Time | The timestamp when the server completed the request. |
| duration | Integer | The amount of time taken by the server to process the request, in milliseconds. |
| status | Integer | The HTTP status code. |
| traceId | String | The trace ID of the request. |
| data | DagDetailDTO | The details of the directed acyclic graph (DAG) task. For more information, see the data structure of DagDetailDTO. |
| error | ApiError | The error caused by the request, which contains the following information:
|
The following table describes the data structure of DagDetailDTO.
| Parameter | Type | Description |
|---|---|---|
| id | String | The general ID of the DAG task. |
| dag_id | Integer | The ID of the DAG task, which is the primary key recorded in OceanBase Database. |
| name | String | The name of the DAG task. |
| stage | Integer | The current stage of the DAG task. |
| max_stage | Integer | The total number of stages of the DAG task during execution. |
| state | String | The execution status of the DAG task. |
| operator | String | The operation type of the DAG task. |
| start_time | time.Time | The time when the execution of the DAG task started. |
| end_time | time.Time | The time when the execution of the DAG task ended. |
| additional_data | map[string]any | Other data of the DAG task. |
| nodes | []NodeDetailDTO | The information about all OBServer nodes involved in the DAG task. For more information, see GetNodeDetails. |
Examples
Sample request
POST 10.10.10.1:2886/api/v1/agent
{
"agentInfo":
{
"ip":"10.10.10.1",
"port":2886
},
"zoneName": "zone1"
}
Sample response
{
"successful": true,
"timestamp": "2024-01-09T11:06:25.95745252+08:00",
"duration": 1,
"status": 200,
"traceId": "b6a0ec757782c147",
"data": {
"id": "22130706433028869",
"dag_id": 1,
"name": "Join self",
"stage": 1,
"max_stage": 1,
"state": "READY",
"operator": "RUN",
"start_time": "2024-01-09T11:06:25.956382369+08:00",
"end_time": "2024-01-09T11:06:25.956382369+08:00",
"additional_data": null,
"nodes": null
}
}
References
In addition to using the CLI, you can use SDKs to call the API operation.
For more information about how to call the API operation by using obshell-sdk-python, see Add a node before cluster initialization.
For more information about how to call the API operation by using obshell-sdk-go, see Add a node before cluster initialization.