Orchestrator API reference
-
POST /api/v1/zone Create a new zone.
Request
{ "name": "zone 1" }Response
{ "error": { "code": 0, "message": "ok" }, "data": { "id": 2, "name": "zone 2" }, "status": true }Potential errors
zone_exists- the specified zone already exists
-
GET /api/v1/zone/{zone_id: optional} Return information on the specified zone or on all the zones.
Response
{ "error": { "code": 0, "message": "ok" }, "data": [ { "id": 1, "name": "zone 11" }, { "id": 2, "name": "zone 2" } ], "status": true }Potential errors
zone_not_found- the specified zone is not found
-
PUT /api/v1/zone/{zone_id} Update information on the zone.
Body
{ "name": "zone 22" }Response
{ "error": { "code": 0, "message": "ok" }, "data": {}, "status": true }Potential errors
zone_not_found- the specified zone is not found
-
DELETE /api/v1/zone/{zone_id} Delete a zone if it doesn’t store any nodes.
Response
{ "error": { "code": 0, "message": "ok" }, "data": {}, "status": true }Potential errors
zone_not_found- the specified zone is not foundzone_in_use- the specified zone stores at least one node
-
POST /api/v1/zones/weights Set the zone weights configuration.
Body
{ "weights": { "1": { "2": 10, "3": 11 }, "2": { "1": 10, "3": 12 }, "3": { "1": 11, "2": 12 } } }Response
{ "error": { "code": 0, "message": "ok" }, "data": {}, "status": true }Potential errors
zones_weights_error- configuration error
-
GET /api/v1/zones/weights Return the zone weights configuration.
Response
{ "error": { "code": 0, "message": "ok" }, "data": { "1": { "2": 10, "3": 11 }, "2": { "1": 10, "3": 12 }, "3": { "1": 11, "2": 12 } }, "status": true }Potential errors
zone_not_found- the specified zone is not found
- GET /api/v1/registry/nodes/new
- POST /api/v1/registry/node
- PUT /api/v1/registry/node/
- GET /api/v1/registry/node/
- DELETE /api/v1/registry/node/
-
GET /api/v1/registry/nodes/new Return all the detected nodes.
Response
{ "error": { "code": 0, "message": "ok" }, "data": [ { "uuid": "uuid-2", "hostname": "tnt2.public.i", "name": "tnt2" } ], "status": true }
-
POST /api/v1/registry/node Register the detected node.
Body
{ "zone_id": 1, "uuid": "uuid-2", "uri": "tnt2.public.i:3301", "user": "user1:pass1", "repl_user": "repl_user1:repl_pass1", "cfg": { "listen": "0.0.0.0:3301" } }Response
{ "error": { "code": 0, "message": "ok" }, "data": {}, "status": true }Potential errors
node_already_registered- the specified node is already registeredzone_not_found- the specified zone is not foundnode_not_discovered- the specified node is not detected
-
PUT /api/v1/registry/node/{node_uuid} Update the registered node parameters.
Body
Pass only those parameters that need to be updated.
{ "zone_id": 1, "repl_user": "repl_user2:repl_pass2", "cfg": { "listen": "0.0.0.0:3301", "memtx_memory": 100000 } }Response
{ "error": { "code": 0, "message": "ok" }, "data": {}, "status": true }Potential errors
node_not_registered- the specified node is not registered
-
GET /api/v1/registry/node/{node_uuid: optional} Return information on the nodes in a cluster. If
node_uuidis passed, information on this node only is returned.Response
{ "error": { "code": 0, "message": "ok" }, "data": { "uuid-1": { "user": "user1:pass1", "hostname": "tnt1.public.i", "repl_user": "repl_user2:repl_pass2", "uri": "tnt1.public.i:3301", "zone_id": 1, "name": "tnt1", "cfg": { "listen": "0.0.0.0:3301", "memtx_memory": 100000 }, "zone": 1 }, "uuid-2": { "user": "user1:pass1", "hostname": "tnt2.public.i", "name": "tnt2", "uri": "tnt2.public.i:3301", "repl_user": "repl_user1:repl_pass1", "cfg": { "listen": "0.0.0.0:3301" }, "zone": 1 } }, "status": true }Potential errors
node_not_registered- the specified node is not registered
-
DELETE /api/v1/registry/node/{node_uuid} Delete the node if it doesn’t belong to any replica set.
Response
{ "error": { "code": 0, "message": "ok" }, "data": {}, "status": true }Potential errors
node_not_registered- the specified node is not registerednode_in_use- the specified node is in use by a replica set
-
GET /api/v1/routers Return the list of all nodes that constitute the router.
Response
{ "data": [ "uuid-1" ], "status": true, "error": { "code": 0, "message": "ok" } }
-
POST /api/v1/routers Assign the router role to the node.
Body
{ "uuid": "uuid-1" }Response
{ "error": { "code": 0, "message": "ok" }, "data": {}, "status": true }Potential errors
node_not_registered- the specified node is not registered
-
DELETE /api/v1/routers/{uuid} Release the router role from the node.
Response
{ "error": { "code": 0, "message": "ok" }, "data": {}, "status": true }
- POST /api/v1/replicaset
- PUT /api/v1/replicaset/
- GET /api/v1/replicaset/
- DELETE /api/v1/replicaset/
- POST /api/v1/replicaset/{replicaset_uuid}/master
- POST /api/v1/replicaset/{replicaset_uuid}/node
- DELETE /api/v1/zone/
-
POST /api/v1/replicaset Create a replica set containing all the registered nodes.
Body
{ "uuid": "optional-uuid", "replicaset": [ { "uuid": "uuid-1", "master": true } ] }Response
{ "error": { "code": 0, "message": "ok" }, "data": { "replicaset_uuid": "cc6568a2-63ca-413d-8e39-704b20adb7ae" }, "status": true }Potential errors
replicaset_exists– the specified replica set already existsreplicaset_empty– the specified replica set doesn’t contain any nodesnode_not_registered– the specified node is not registerednode_in_use– the specified node is in use by another replica set
-
PUT /api/v1/replicaset/{replicaset_uuid} Update the replica set parameters.
Body
{ "replicaset": [ { "uuid": "uuid-1", "master": true }, { "uuid": "uuid-2", "master": false, "off": true } ] }Response
{ "error": { "code": 0, "message": "ok" }, "data": {}, "status": true }Potential errors
replicaset_empty– the specified replica set doesn’t contain any nodesreplicaset_not_found– the specified replica set is not foundnode_not_registered– the specified node is not registerednode_in_use– the specified node is in use by another replica set
-
GET /api/v1/replicaset/{replicaset_uuid: optional} Return information on all the cluster components. If
replicaset_uuidis passed, information on this replica set only is returned.Body
{ "name": "zone 22" }Response
{ "error": { "code": 0, "message": "ok" }, "data": { "cc6568a2-63ca-413d-8e39-704b20adb7ae": { "uuid-1": { "hostname": "tnt1.public.i", "off": false, "repl_user": "repl_user2:repl_pass2", "uri": "tnt1.public.i:3301", "master": true, "name": "tnt1", "user": "user1:pass1", "zone_id": 1, "zone": 1 }, "uuid-2": { "hostname": "tnt2.public.i", "off": true, "repl_user": "repl_user1:repl_pass1", "uri": "tnt2.public.i:3301", "master": false, "name": "tnt2", "user": "user1:pass1", "zone": 1 } } }, "status": true }Potential errors
replicaset_not_found– the specified replica set is not found
-
DELETE /api/v1/replicaset/{replicaset_uuid} Delete a replica set.
Response
{ "error": { "code": 0, "message": "ok" }, "data": {}, "status": true }Potential errors
replicaset_not_found- the specified replica set is not found
-
POST /api/v1/replicaset/{replicaset_uuid}/master Switch the master in the replica set.
Body
{ "instance_uuid": "uuid-1", "hostname_name": "hostname:instance_name" }Response
{ "error": { "code": 0, "message": "ok" }, "data": {}, "status": true }Potential errors
replicaset_not_found– the specified replica set is not foundnode_not_registered– the specified node is not registerednode_not_in_replicaset– the specified node is not in the specified replica set
-
POST /api/v1/replicaset/{replicaset_uuid}/node Add a node to the replica set.
Response
{ "error": { "code": 0, "message": "ok" }, "data": {}, "status": true }Body
{ "instance_uuid": "uuid-1", "hostname_name": "hostname:instance_name", "master": false, "off": false }Potential errors
replicaset_not_found– the specified replica set is not foundnode_not_registered– the specified node is not registerednode_in_use– the specified node is in use by another replica set
-
GET /api/v1/replicaset/status Return statistics on the cluster.
Response
{ "error": { "code": 0, "message": "ok" }, "data": { "cluster": { "routers": [ { "zone": 1, "name": "tnt1", "repl_user": "repl_user1:repl_pass1", "hostname": "tnt1.public.i", "status": null, "uri": "tnt1.public.i:3301", "user": "user1:pass1", "uuid": "uuid-1", "total_rps": null } ], "storages": [ { "hostname": "tnt1.public.i", "repl_user": "repl_user2:repl_pass2", "uri": "tnt1.public.i:3301", "name": "tnt1", "total_rps": null, "status": 'online', "replicas": [ { "user": "user1:pass1", "hostname": "tnt2.public.i", "replication_info": null, "repl_user": "repl_user1:repl_pass1", "uri": "tnt2.public.i:3301", "uuid": "uuid-2", "status": 'online', "name": "tnt2", "total_rps": null, "zone": 1 } ], "user": "user1:pass1", "zone_id": 1, "uuid": "uuid-1", "replicaset_uuid": "cc6568a2-63ca-413d-8e39-704b20adb7ae", "zone": 1 } ] } }, "status": true }Potential errors
zone_not_found- the specified zone is not foundzone_in_use- the specified zone stores at least one node
-
POST /api/v1/version Set the configuration version.
Response
{ "error": { "code": 0, "message": "ok" }, "status": true, "data": { "version": 2 } }Potential errors
cfg_error- configuration error
-
GET /api/v1/version Return the configuration version.
Response
{ "error": { "code": 0, "message": "ok" }, "status": true, "data": { "version": 2 } }
-
POST /api/v1/sharding/cfg Add a new sharding configuration.
Response
{ "error": { "code": 0, "message": "ok" }, "status": true, "data": {} }
-
GET /api/v1/sharding/cfg Return the current sharding configuration.
Response
{ "error": { "code": 0, "message": "ok" }, "status": true, "data": {} }
-
POST /api/v1/clean/cfg Reset the cluster configuration.
Response
{ "error": { "code": 0, "message": "ok" }, "status": true, "data": {} }
-
POST /api/v1/clean/all Reset the cluster configuration and delete information on the cluster nodes from the ZooKeeper catalogues.
Response
{ "error": { "code": 0, "message": "ok" }, "status": true, "data": {} }