Справочник по Orchestrator API
-
POST /api/v1/zone
Создание новой зоны.
Запрос
{ "name": "zone 1" }
Ответ
{ "error": { "code": 0, "message": "ok" }, "data": { "id": 2, "name": "zone 2" }, "status": true }
Возможные ошибки
zone_exists
– указанная зона уже существует
-
GET /api/v1/zone/{zone_id: optional}
Возврат информации об указанной зоне или обо всех зонах.
Ответ
{ "error": { "code": 0, "message": "ok" }, "data": [ { "id": 1, "name": "zone 11" }, { "id": 2, "name": "zone 2" } ], "status": true }
Возможные ошибки
zone_not_found
– указанная зона не обнаружена
-
PUT /api/v1/zone/{zone_id}
Обновление информации о зоне.
Тело
{ "name": "zone 22" }
Ответ
{ "error": { "code": 0, "message": "ok" }, "data": {}, "status": true }
Возможные ошибки
zone_not_found
– указанная зона не обнаружена
-
DELETE /api/v1/zone/{zone_id}
Удаление зоны, если в ней нет узлов.
Ответ
{ "error": { "code": 0, "message": "ok" }, "data": {}, "status": true }
Возможные ошибки
zone_not_found
– указанная зона не обнаруженаzone_in_use
– в указанной зоне есть хотя бы один узел
-
POST /api/v1/zones/weights
Конфигурация веса зоны.
Тело
{ "weights": { "1": { "2": 10, "3": 11 }, "2": { "1": 10, "3": 12 }, "3": { "1": 11, "2": 12 } } }
Ответ
{ "error": { "code": 0, "message": "ok" }, "data": {}, "status": true }
Возможные ошибки
zones_weights_error
– ошибка конфигурации
-
GET /api/v1/zones/weights
Возврат конфигурации веса зоны.
Ответ
{ "error": { "code": 0, "message": "ok" }, "data": { "1": { "2": 10, "3": 11 }, "2": { "1": 10, "3": 12 }, "3": { "1": 11, "2": 12 } }, "status": true }
Возможные ошибки
zone_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
Возврат всех обнаруженных узлов.
Ответ
{ "error": { "code": 0, "message": "ok" }, "data": [ { "uuid": "uuid-2", "hostname": "tnt2.public.i", "name": "tnt2" } ], "status": true }
-
POST /api/v1/registry/node
Регистрация обнаруженного узла.
Тело
{ "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" } }
Ответ
{ "error": { "code": 0, "message": "ok" }, "data": {}, "status": true }
Возможные ошибки
node_already_registered
– указанный узел уже зарегистрированzone_not_found
– указанная зона не обнаруженаnode_not_discovered
– указанный узел не обнаружен
-
PUT /api/v1/registry/node/{node_uuid}
Обновление параметров зарегистрированного узла.
Тело
Передача только обновляемых параметров.
{ "zone_id": 1, "repl_user": "repl_user2:repl_pass2", "cfg": { "listen": "0.0.0.0:3301", "memtx_memory": 100000 } }
Ответ
{ "error": { "code": 0, "message": "ok" }, "data": {}, "status": true }
Возможные ошибки
node_not_registered
– указанный узел не зарегистрирован
-
GET /api/v1/registry/node/{node_uuid: optional}
Возврат информации об узлах в кластере. Если передать
node_uuid
, вернется информация только по данному узлу.Ответ
{ "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 }
Возможные ошибки
node_not_registered
– указанный узел не зарегистрирован
-
DELETE /api/v1/registry/node/{node_uuid}
Удаление узла, если он не относится ни к одному набору реплик.
Ответ
{ "error": { "code": 0, "message": "ok" }, "data": {}, "status": true }
Возможные ошибки
node_not_registered
– указанный узел не зарегистрированnode_in_use
– указанный узел используется в наборе реплик
-
GET /api/v1/routers
Возврат списка всех узлов, которые представляют собой роутер.
Ответ
{ "data": [ "uuid-1" ], "status": true, "error": { "code": 0, "message": "ok" } }
-
POST /api/v1/routers
Присвоение узлу роли роутера.
Тело
{ "uuid": "uuid-1" }
Ответ
{ "error": { "code": 0, "message": "ok" }, "data": {}, "status": true }
Возможные ошибки
node_not_registered
– указанный узел не зарегистрирован
-
DELETE /api/v1/routers/{uuid}
Снятие роли роутера с узла.
Ответ
{ "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
Создание набора реплик со всеми зарегистрированными узлами.
Тело
{ "uuid": "optional-uuid", "replicaset": [ { "uuid": "uuid-1", "master": true } ] }
Ответ
{ "error": { "code": 0, "message": "ok" }, "data": { "replicaset_uuid": "cc6568a2-63ca-413d-8e39-704b20adb7ae" }, "status": true }
Возможные ошибки
replicaset_exists
– указанный набор реплик уже существуетreplicaset_empty
– указанный набор реплик не содержит ни одного узлаnode_not_registered
– указанный узел не зарегистрированnode_in_use
– указанный узел используется в другом наборе реплик
-
PUT /api/v1/replicaset/{replicaset_uuid}
Обновление параметров набора реплик.
Тело
{ "replicaset": [ { "uuid": "uuid-1", "master": true }, { "uuid": "uuid-2", "master": false, "off": true } ] }
Ответ
{ "error": { "code": 0, "message": "ok" }, "data": {}, "status": true }
Возможные ошибки
replicaset_empty
– указанный набор реплик не содержит ни одного узлаreplicaset_not_found
– указанный набор реплик не обнаруженnode_not_registered
– указанный узел не зарегистрированnode_in_use
– указанный узел используется в другом наборе реплик
-
GET /api/v1/replicaset/{replicaset_uuid: optional}
Возврат информации обо всех компонентах кластера. Если передать
replicaset_uuid
, вернется информация только по данному набору реплик.Тело
{ "name": "zone 22" }
Ответ
{ "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 }
Возможные ошибки
replicaset_not_found
– указанный набор реплик не обнаружен
-
DELETE /api/v1/replicaset/{replicaset_uuid}
Удаление набора реплик.
Ответ
{ "error": { "code": 0, "message": "ok" }, "data": {}, "status": true }
Возможные ошибки
replicaset_not_found
– указанный набор реплик не обнаружен
-
POST /api/v1/replicaset/{replicaset_uuid}/master
Смена мастера в наборе реплик.
Тело
{ "instance_uuid": "uuid-1", "hostname_name": "hostname:instance_name" }
Ответ
{ "error": { "code": 0, "message": "ok" }, "data": {}, "status": true }
Возможные ошибки
replicaset_not_found
– указанный набор реплик не обнаруженnode_not_registered
– указанный узел не зарегистрированnode_not_in_replicaset
– указанный узел находится не в указанном наборе реплик
-
POST /api/v1/replicaset/{replicaset_uuid}/node
Добавление узла в набор реплик.
Ответ
{ "error": { "code": 0, "message": "ok" }, "data": {}, "status": true }
Тело
{ "instance_uuid": "uuid-1", "hostname_name": "hostname:instance_name", "master": false, "off": false }
Возможные ошибки
replicaset_not_found
– указанный набор реплик не обнаруженnode_not_registered
– указанный узел не зарегистрированnode_in_use
– указанный узел используется в другом наборе реплик
-
GET /api/v1/replicaset/status
Возврат статистики по кластеру.
Ответ
{ "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 }
Возможные ошибки
zone_not_found
– указанная зона не обнаруженаzone_in_use
– в указанной зоне есть хотя бы один узел
-
POST /api/v1/version
Настройка версии конфигурации.
Ответ
{ "error": { "code": 0, "message": "ok" }, "status": true, "data": { "version": 2 } }
Возможные ошибки
cfg_error
– ошибка конфигурации
-
GET /api/v1/version
Возврат версии конфигурации.
Ответ
{ "error": { "code": 0, "message": "ok" }, "status": true, "data": { "version": 2 } }
-
POST /api/v1/sharding/cfg
Добавление новой конфигурации шардинга.
Ответ
{ "error": { "code": 0, "message": "ok" }, "status": true, "data": {} }
-
GET /api/v1/sharding/cfg
Возврат текущей конфигурации шардинга.
Ответ
{ "error": { "code": 0, "message": "ok" }, "status": true, "data": {} }
-
POST /api/v1/clean/cfg
Сброс конфигурации кластера.
Ответ
{ "error": { "code": 0, "message": "ok" }, "status": true, "data": {} }
-
POST /api/v1/clean/all
Сброс конфигурации кластера и удаление информации об узлах кластера из каталогов ZooKeeper.
Ответ
{ "error": { "code": 0, "message": "ok" }, "status": true, "data": {} }