REST API¶
Примечание
Для получения доступа к REST API необходим токен. Получение токена описано во вкладке с дополнительной информацией.
CloudManager API¶
Позволяет управлять узлами, предоставляет дополнительную информацию, используемую в модуле CloudManager.
Информация о модуле¶
Подробная информация о модуле.
Запрос¶
Пример запроса:¶
curl -X GET -H "X-Auth-Token: $token" http://controller:9362/v1/info | python -m json.tool
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
license (Optional) | body | object | Информация о лицензии модуля. |
version | body | string | Версия модуля. |
Пример получения информации о модуле в JSON формате:
{
"info": {
"license": {
"created_at": 1538141220,
"expire_at": 1545955200,
"module_package": "cloud_manager",
"name": "TestLicense",
"product": "CloudManager",
"surrogate_name": "CloudManager",
"unique_id": "04-002-4b21d15097656c2c0834",
"verified": true
},
"version": "2.0"
}
}
Виртуальные машины и вычислительные узлы¶
Действия над виртуальными машинами и вычислительными узлами.
Эвакуация всех виртуальных машин с вычислительного узла.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
host_name | path | string | Имя узла. Обязательный параметр. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" http://controller:9362/v1/hosts/$host_name/actions/evacuate
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
task_id (Optional) | body | string | ID задачи в celery. |
Пример результата в JSON формате:
{
"task_id": "7c8fbc6c-468d-4afb-a292-e70a3d475edc"
}
Выключение вычислительного узла с попыткой переноса запущенных виртуальных машин.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
host_name | path | string | Имя узла. Обязательный параметр. |
allow_off_vm (Optional) | body | bool | Дополнительный параметр, разрешает жесткую миграцию виртуальной машины в случае отказа живой миграции. |
allow_evacuate (Optional) | body | bool | Дополнительный параметр, разрешает эвакуацию виртуальной машины в случае отказа живой миграции. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"allow_off_vm": true, "allow_evacuate": true}' http://controller:9362/v1/hosts/$host_name/actions/shutdown
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
task_id (Optional) | body | string | ID задачи в celery. |
Пример результата в JSON формате:
{
"task_id": "7c8fbc6c-468d-4afb-a292-e70a3d475edc"
}
Вывод вычислительного узла из эксплуатации с попыткой переноса запущенных виртуальных машин.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
host_name | path | string | Имя узла. Обязательный параметр. |
allow_live_migrate (Optional) | body | bool | Дополнительный параметр, разрешает живую миграцию виртуальной машины. |
allow_migrate (Optional) | body | bool | Дополнительный параметр, разрешает жесткую миграцию виртуальной машины в случае отказа живой миграции. |
allow_evacuate (Optional) | body | bool | Дополнительный параметр, разрешает эвакуацию виртуальной машины в случае отказа живой миграции. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"allow_live_migrate": true, "allow_migrate": true, "allow_evacuate": true}' http://controller:9362/v1/hosts/$host_name/actions/decommission
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
task_id (Optional) | body | string | ID задачи в celery. |
Пример результата в JSON формате:
{
"task_id": "7c8fbc6c-468d-4afb-a292-e70a3d475edc"
}
Выполнение перезапуска вычислительных узлов с предварительной миграцией виртуальных машин.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
hosts | body | list | Имена вычислительных узлов. |
in_sequence (Optional) | body | bool | Дополнительный параметр, позволяет выполнять перезапуск последовательно. |
allow_off_vm (Optional) | body | bool | Дополнительный параметр, разрешает жесткую миграцию виртуальной машины в случае отказа живой миграции. |
allow_evacuate (Optional) | body | bool | Дополнительный параметр, разрешает эвакуацию виртуальной машины в случае отказа живой миграции. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"hosts": ["mnode1.develop.stand.loc", "mnode2.develop.stand.loc"], "allow_off_vm": true, "allow_evacuate": true, "in_sequence": true}' http://controller:9362/v1/hosts/actions/restart
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
task_id (Optional) | body | string | ID задачи в celery. |
Пример результата в JSON формате:
{
"task_id": "7c8fbc6c-468d-4afb-a292-e70a3d475edc"
}
Балансировка виртуальной машины на другой узел.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
server_id | path | string | Идентификатор виртуальной машины. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" http://controller:9362/v1/servers/$server_id/actions/balance
Эта операция не имеет содержания ответа.
Выполнение попытки восстановления виртуальной машины с предварительным сбросом состояния.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
server_id | path | string | Идентификатор виртуальной машины. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" http://controller:9362/v1/servers/$server_id/actions/recover
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
task_id (Optional) | body | string | ID задачи в celery. |
Пример результата в JSON формате:
{
"task_id": "7c8fbc6c-468d-4afb-a292-e70a3d475edc"
}
Выполнение попытки восстановления виртуальной машины.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
server_id | path | string | Идентификатор виртуальной машины. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" http://controller:9362/v1/servers/$server_id/actions/repair
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
task_id (Optional) | body | string | ID задачи в celery. |
Пример результата в JSON формате:
{
"task_id": "7c8fbc6c-468d-4afb-a292-e70a3d475edc"
}
Выполнение попытки сброса состояния виртуальной машины с перезагрузкой.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
server_id | path | string | Идентификатор виртуальной машины. |
reboot (Optional) | body | bool | Дополнительный параметр, позволяет выполнять перезагрузку после сброса состояния. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"reboot": true}' http://controller:9362/v1/servers/$server_id/actions/reset-reboot
Эта операция не имеет содержания ответа.
Выполнение попытки пробуждения виртуальной машины.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
server_id | path | string | Идентификатор виртуальной машины. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" http://controller:9362/v1/servers/$server_id/actions/wakeup
Эта операция не имеет содержания ответа.
Выполнение полного клонирования виртуальной машины с копированием подключенных дисков.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
server_id | path | string | Идентификатор виртуальной машины. |
count (Optional) | body | integer | Количество клонов. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"count": 2}' http://controller:9362/v1/servers/$server_id/actions/clone
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
task_id (Optional) | body | string | ID задачи в celery. |
Пример результата в JSON формате:
{
"task_id": "7c8fbc6c-468d-4afb-a292-e70a3d475edc"
}
Классы узла¶
Действия с классами узлов.
Получение списка классов узла.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
id (Optional) | path | integer | Идентификатор класса узла. |
name (Optional) | path | string | Имя класса узла. |
offset (Optional) | path | integer | Номер позиции для получения данных. |
limit (Optional) | path | integer | Ограничение количества получаемых данных. |
Параметры, поддерживающие модификаторы: id
, name
.
Пример запроса:¶
curl -X GET -H "X-Auth-Token: $token" http://controller:9362/v1/node-classes/ | python -m json.tool
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
id | body | integer | Идентификатор класса узла. |
name | body | string | Имя класса узла. |
node_types | body | list | Список типов узла. |
is_default | body | bool | Параметр, обозначающий, является ли класс классом узла по умолчанию. |
Пример результата в JSON формате:
{
"node_classes": [
{
"id": 1,
"is_default": true,
"name": "hypervisor",
"node_types": [
{
"id": 1,
"name": ""
},
{
"id": 2,
"name": "QEMU"
},
{
"id": 3,
"name": "KVM"
},
{
"id": 4,
"name": "Docker"
},
{
"id": 5,
"name": "Xen"
},
{
"id": 6,
"name": "VMware"
},
{
"id": 7,
"name": "HyperV"
}
]
},
{
"id": 2,
"is_default": false,
"name": "Storage host",
"node_types": [
{
"id": 8,
"name": ""
},
{
"id": 9,
"name": "Ceph"
},
{
"id": 10,
"name": "mdraid"
},
{
"id": 11,
"name": "bcashed"
},
{
"id": 12,
"name": "GlusterFS"
},
{
"id": 13,
"name": "Sheepdog"
}
]
},
{
"id": 3,
"is_default": false,
"name": "Network host",
"node_types": [
{
"id": 14,
"name": ""
},
{
"id": 15,
"name": "Network node"
},
{
"id": 16,
"name": "Commutator"
},
{
"id": 17,
"name": "Router"
}
]
},
{
"id": 4,
"is_default": false,
"name": "Server",
"node_types": [
{
"id": 18,
"name": ""
},
{
"id": 19,
"name": "Controller node"
},
{
"id": 20,
"name": "PXE"
},
{
"id": 21,
"name": "DHCP"
},
{
"id": 22,
"name": "DNS"
},
{
"id": 23,
"name": "NTP"
}
]
}
]
}
Получение количества классов узла.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
id (Optional) | path | integer | Идентификатор класса узла. |
name (Optional) | path | string | Имя класса узла. |
Параметры, поддерживающие модификаторы: id
, name
.
Пример запроса:¶
curl -X GET -H "X-Auth-Token: $token" http://controller:9362/v1/node-classes/count | python -m json.tool
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
count | body | integer | Количество объектов. |
Пример результата в JSON формате:
{
"count": 4
}
Создание нового класса узла.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
name | body | string | Имя класса узла. |
node_types (Optional) | body | list | Список типов узла. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"node_class": {"name": "test_class", "node_types": ["type1", "type2"]}}' http://controller:9362/v1/node-classes/ | python -m json.tool
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
id | body | integer | Идентификатор класса узла. |
name | body | string | Имя класса узла. |
node_types | body | list | Список типов узла. |
is_default | body | bool | Параметр, обозначающий, является ли класс классом узла по умолчанию. |
Пример результата в JSON формате:
{
"node_class": {
"id": 8,
"is_default": false,
"name": "test_class",
"node_types": [
{
"id": 27,
"name": "type1"
},
{
"id": 28,
"name": "type2"
}
]
}
}
Получение информации о классе узла.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
class_id | path | integer | Идентификатор класса узла. |
Пример запроса:¶
curl -X GET -H "X-Auth-Token: $token" http://controller:9362/v1/node-classes/$class_id | python -m json.tool
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
id | body | integer | Идентификатор класса узла. |
name | body | string | Имя класса узла. |
node_types | body | list | Список типов узла. |
is_default | body | bool | Параметр, обозначающий, является ли класс классом узла по умолчанию. |
Пример результата в JSON формате:
{
"node_class": {
"id": 8,
"is_default": false,
"name": "test_class",
"node_types": [
{
"id": 27,
"name": "type1"
},
{
"id": 28,
"name": "type2"
}
]
}
}
Редактирование существующего класса узла.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
class_id | path | integer | Идентификатор класса узла. |
name (Optional) | body | string | Имя класса узла. |
node_types (Optional) | body | list | Список типов узла. |
Пример запроса:¶
curl -X PUT -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"node_class": {"name": "test_class_renamed"}}' http://controller:9362/v1/node-classes/$class_id | python -m json.tool
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
id | body | integer | Идентификатор класса узла. |
name | body | string | Имя класса узла. |
node_types | body | list | Список типов узла. |
is_default | body | bool | Параметр, обозначающий, является ли класс классом узла по умолчанию. |
Пример результата в JSON формате:
{
"node_class": {
"id": 8,
"is_default": false,
"name": "test_class_renamed",
"node_types": [
{
"id": 27,
"name": "type1"
},
{
"id": 28,
"name": "type2"
}
]
}
}
Удаление существующего класса узла.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
class_id | path | integer | Идентификатор класса узла. |
Пример запроса:¶
curl -X DELETE -H "X-Auth-Token: $token" http://controller:9362/v1/node-classes/$class_id
Эта операция не имеет содержания ответа.
Получение списка типов класса узла.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
class_id | path | integer | Идентификатор класса узла. |
Пример запроса:¶
curl -X GET -H "X-Auth-Token: $token" http://controller:9362/v1/node-classes/$class_id/types/ | python -m json.tool
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
id | body | integer | Идентификатор типа класса узла. |
name | body | string | Имя типа класса узла. |
Пример результата в JSON формате:
{
"node_types": [
{
"id": 27,
"name": "type1"
},
{
"id": 28,
"name": "type2"
}
]
}
Создание нового типа для существующего класса узла.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
class_id | path | integer | Идентификатор класса узла. |
name (Optional) | body | string | Имя типа класса узла. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"node_type": {"name": "new_type"}}' http://controller:9362/v1/node-classes/$class_id/types/ | python -m json.tool
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
id | body | integer | Идентификатор типа класса узла. |
name | body | string | Имя типа класса узла. |
Пример результата в JSON формате:
{
"node_type": {
"id": 29,
"name": "new_type"
}
}
Изменение типа существующего класса узла.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
class_id | path | integer | Идентификатор класса узла. |
type_id (Optional) | body | integer | Идентификатор типа класса узла. |
name (Optional) | body | string | Имя типа класса узла. |
Пример запроса:¶
curl -X PUT -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"node_type": {"name": "type_renamed"}}' http://controller:9362/v1/node-classes/$class_id/types/$type_id | python -m json.tool
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
id | body | integer | Идентификатор типа класса узла. |
name | body | string | Имя типа класса узла. |
Пример результата в JSON формате:
{
"node_type": {
"id": 29,
"name": "type_renamed"
}
}
Удаление типа существующего класса узла.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
class_id | path | integer | Идентификатор класса узла. |
type_id | path | integer | Идентификатор типа класса узла. |
Пример запроса:¶
curl -X DELETE -H "X-Auth-Token: $token" http://controller:9362/v1/node-classes/$class_id/types/$type_id
Эта операция не имеет содержания ответа.
PXE образы узлов¶
Позволяет управлять PXE образами узлов.
Получение списка PXE образов.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
id (Optional) | path | integer | Идентификатор PXE образа. |
created_at (Optional) | path | string | Дата и время создания объекта. |
image_name (Optional) | path | string | Имя PXE образа. |
offset (Optional) | path | integer | Номер позиции для получения данных. |
limit (Optional) | path | integer | Ограничение количества получаемых данных. |
Параметры, поддерживающие модификаторы: id
, image_name
, created_at
.
Пример запроса:¶
curl -X GET -H "X-Auth-Token: $token" http://controller:9362/v1/node-images/ | python -m json.tool
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
id | body | integer | Идентификатор PXE образа. |
created_at | body | string | Дата и время создания объекта. |
image_name | body | string | Имя PXE образа. |
file_data | body | string | Содержимое PXE образа. |
Пример получения списка PXE образов в JSON формате:
{
"node_images": [
{
"created_at": "2018-10-15T12:59:50",
"file_data": "default vesamenu.c32\naprompt 1\ntimeout 30\nlabel ubuntu 14.04\nmenu label CENTER COMPUTE NODE DEFAULT\nkernel vmlinuz\nappend initrd=dracut root=192.168.100.1:/mnt/rootfs biosdevname=0 ip=eth0:on ip=eth1:on bond=bond0:eth0,eth1:mode=6 ip=bond0:dhcp ro",
"id": 1,
"image_name": "default"
}
]
}
Получение количества PXE образов.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
id | path | integer | Идентификатор PXE образа. |
created_at (Optional) | path | string | Дата и время создания объекта. |
image_name (Optional) | path | string | Имя PXE образа. |
offset (Optional) | path | integer | Номер позиции для получения данных. |
limit (Optional) | path | integer | Ограничение количества получаемых данных. |
Параметры, поддерживающие модификаторы: id
, image_name
, created_at
.
Пример запроса:¶
curl -X GET -H "X-Auth-Token: $token" http://controller:9362/v1/node-images/count | python -m json.tool
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
count | body | integer | Количество объектов. |
Пример получения количества PXE образов в JSON формате:
{
"count": 1
}
Получение информации о PXE образе.
Запрос¶
Пример запроса:¶
curl -X GET -H "X-Auth-Token: $token" http://controller:9362/v1/node-images/$image_id | python -m json.tool
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
created_at | body | string | Дата и время создания объекта. |
file_data | body | string | Содержимое PXE образа. |
id | body | integer | Идентификатор PXE образа. |
image_name | body | string | Имя PXE образа. |
Пример получения информации об указанном PXE образе в JSON формате:
{
"node_image": {
"created_at": "2018-10-15T12:59:50",
"file_data": "default vesamenu.c32\naprompt 1\ntimeout 30\nlabel ubuntu 14.04\nmenu label CENTER COMPUTE NODE DEFAULT\nkernel vmlinuz\nappend initrd=dracut root=192.168.100.1:/mnt/rootfs biosdevname=0 ip=eth0:on ip=eth1:on bond=bond0:eth0,eth1:mode=6 ip=bond0:dhcp ro",
"id": 1,
"image_name": "default"
}
}
Создание PXE образа.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
image_name | body | string | Имя PXE образа. |
file_data | body | string | Содержимое PXE образа. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"node_image":{"image_name": "test_image", "file_data": "root=test"}}' http://controller:9362/v1/node-images/ | python -m json.tool
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
created_at | body | string | Дата и время создания объекта. |
file_data | body | string | Содержимое PXE образа. |
id | body | integer | Идентификатор PXE образа. |
image_name | body | string | Имя PXE образа. |
Пример результата в JSON формате:
{
"node_image": {
"created_at": "2018-10-24T09:36:40",
"file_data": "root=test",
"id": 2,
"image_name": "test_image"
}
}
Средства управления питанием¶
Позволяет управлять средствами управления питанием, предоставляет дополнительную информацию, используемую в модуле CloudManager.
Получение списка средств управления питанием.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
id (Optional) | path | integer | Идентификатор средства управления питанием. |
created_at (Optional) | path | string | Дата и время создания объекта. |
title (Optional) | path | string | Наименование средства управления питанием. |
control_type (Optional) | path | string | Тип средства. |
protocol_type (Optional) | path | string | Тип протокола. |
host (Optional) | path | string | Имя хоста или IP-адрес средства управления питанием. |
port_number (Optional) | path | string | Номер порта. |
offset (Optional) | path | integer | Номер позиции для получения данных. |
limit (Optional) | path | integer | Ограничение количества получаемых данных. |
Параметры, поддерживающие модификаторы: id
, created_at
, title
, control_type
, protocol_type
, host
, port_number
.
Пример запроса:¶
curl -X GET -H "X-Auth-Token: $token" http://controller:9362/v1/power-controls/ | python -m json.tool
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
id | body | integer | Идентификатор средства управления питанием. |
time_created | body | string | Дата и время создания объекта. |
time_updated | body | string | Дата и время изменения объекта. |
title | body | string | Наименование средства управления питанием. |
control_type | body | string | Тип средства. |
protocol_type | body | string | Тип протокола. |
host | body | string | Имя хоста или IP-адрес средства управления питанием. |
login | body | string | Логин для подключения к средству управления питанием. |
port_number | body | string | Номер порта. |
coils_count | body | integer | Общее количество выходных портов. |
used_coils_count | body | integer | Количество используемых выходных портов. |
coil_map | body | object | Карты выходных портов. |
Пример результата в JSON формате:
{
"power_controls": [
{
"coil_map": {
"1": {
"is_default": true,
"is_initialized": true,
"node_id": 1,
"node_name": "mnode1.dev-cnt7q-ovs-02.stand.loc",
"power_control_port": "1",
"power_state": "power_on"
}
},
"coils_count": 1,
"control_type": "SupermicroRackDevice",
"host": "10.35.17.30",
"id": 1,
"login": "ADMIN",
"port_number": 623,
"protocol_type": "ipmi",
"time_created": "2018-10-17T12:18:35",
"time_updated": null,
"title": "test",
"used_coils_count": 1
},
{
"coil_map": {
"1": {
"is_default": true,
"is_initialized": true,
"node_id": 2,
"node_name": "mnode2.dev-cnt7q-ovs-02.stand.loc",
"power_control_port": "1",
"power_state": "power_on"
}
},
"coils_count": 1,
"control_type": "SupermicroRackDevice",
"host": "10.35.17.31",
"id": 2,
"login": "ADMIN",
"port_number": 623,
"protocol_type": "ipmi",
"time_created": "2018-10-18T07:37:48",
"time_updated": null,
"title": "test 2",
"used_coils_count": 1
}
]
}
Получение количества средств управления питанием.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
id (Optional) | path | integer | Идентификатор средства управления питанием. |
created_at (Optional) | path | string | Дата и время создания объекта. |
title (Optional) | path | string | Наименование средства управления питанием. |
control_type (Optional) | path | string | Тип средства. |
protocol_type (Optional) | path | string | Тип протокола. |
host (Optional) | path | string | Имя хоста или IP-адрес средства управления питанием. |
port_number (Optional) | path | string | Номер порта. |
Параметры, поддерживающие модификаторы: id
, created_at
, title
, control_type
, protocol_type
, host
, port_number
.
Пример запроса:¶
curl -X GET -H "X-Auth-Token: $token" http://controller:9362/v1/power-controls/count | python -m json.tool
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
count | body | integer | Количество объектов. |
Пример результата в JSON формате:
{
"count": 2
}
Создание средства управления питанием.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
control_type | body | string | Тип средства. |
protocol_type | body | string | Тип протокола. |
host | body | string | Имя хоста или IP-адрес средства управления питанием. |
port_number | body | string | Номер порта. |
title (Optional) | body | string | Наименование средства управления питанием. |
login (Optional) | body | string | Логин для подключения к средству управления питанием. |
password (Optional) | body | string | Пароль для подключения к средству управления питанием. |
ssh_key (Optional) | body | string | Приватный ключ для подключения к средству управления питанием, зашифрованный алгоритмом RSA. Поддерживается только средствами типа SshDevice. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"power_control": {"control_type": "SupermicroRackDevice", "protocol_type": "ipmi", "host": "10.35.17.33", "port_number": 623, "login": "ADMIN", "password": "PASSWORD"}}' http://controller:9362/v1/power-controls/ | python -m json.tool
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
id | body | integer | Идентификатор средства управления питанием. |
time_created | body | string | Дата и время создания объекта. |
time_updated | body | string | Дата и время изменения объекта. |
title | body | string | Наименование средства управления питанием. |
control_type | body | string | Тип средства. |
protocol_type | body | string | Тип протокола. |
host | body | string | Имя хоста или IP-адрес средства управления питанием. |
login | body | string | Логин для подключения к средству управления питанием. |
port_number | body | string | Номер порта. |
coils_count | body | integer | Общее количество выходных портов. |
used_coils_count | body | integer | Количество используемых выходных портов. |
coil_map | body | object | Карты выходных портов. |
Пример результата в JSON формате:
{
"power_control": {
"coil_map": {
"1": null
},
"coils_count": 1,
"control_type": "SupermicroRackDevice",
"host": "10.35.17.33",
"id": 3,
"login": "ADMIN",
"port_number": 623,
"protocol_type": "ipmi",
"time_created": "2018-10-24T12:12:02",
"time_updated": null,
"title": "ipmi://SupermicroRackDevice@10.35.17.33:623",
"used_coils_count": 0
}
}
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
power_control_id | path | integer | Идентификатор средства управления питанием. |
Пример запроса:¶
curl -X GET -H "X-Auth-Token: $token" http://controller:9362/v1/power-controls/$power_control_id | python -m json.tool
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
id | body | integer | Идентификатор средства управления питанием. |
time_created | body | string | Дата и время создания объекта. |
time_updated | body | string | Дата и время изменения объекта. |
title | body | string | Наименование средства управления питанием. |
control_type | body | string | Тип средства. |
protocol_type | body | string | Тип протокола. |
host | body | string | Имя хоста или IP-адрес средства управления питанием. |
login | body | string | Логин для подключения к средству управления питанием. |
port_number | body | string | Номер порта. |
coils_count | body | integer | Общее количество выходных портов. |
used_coils_count | body | integer | Количество используемых выходных портов. |
coil_map | body | object | Карты выходных портов. |
Пример результата в JSON формате:
{
"power_control": {
"coil_map": {
"1": null
},
"coils_count": 1,
"control_type": "SupermicroRackDevice",
"host": "10.35.17.33",
"id": 3,
"login": "ADMIN",
"port_number": 623,
"protocol_type": "ipmi",
"time_created": "2018-10-24T12:12:02",
"time_updated": null,
"title": "ipmi://SupermicroRackDevice@10.35.17.33:623",
"used_coils_count": 0
}
}
Удаление средства управления питанием.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
power_control_id | path | integer | Идентификатор средства управления питанием. |
Пример запроса:¶
curl -X DELETE -H "X-Auth-Token: $token" http://controller:9362/v1/power-controls/$power_control_id
Эта операция не имеет содержания ответа.
Обновление параметров средства управления питанием.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
power_control_id | path | integer | Идентификатор средства управления питанием. |
control_type (Optional) | body | string | Тип средства. |
protocol_type (Optional) | body | string | Тип протокола. |
host (Optional) | body | string | Имя хоста или IP-адрес средства управления питанием. |
port_number (Optional) | body | string | Номер порта. |
title (Optional) | body | string | Наименование средства управления питанием. |
login (Optional) | body | string | Логин для подключения к средству управления питанием. |
password (Optional) | body | string | Пароль для подключения к средству управления питанием. |
ssh_key (Optional) | body | string | Приватный ключ для подключения к средству управления питанием, зашифрованный алгоритмом RSA. Поддерживается только средствами типа SshDevice. |
Пример запроса:¶
curl -X PUT -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"power_control": {"title": "test_power_control"}}' http://controller:9362/v1/power-controls/$power_control_id | python -m json.tool
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
id | body | integer | Идентификатор средства управления питанием. |
time_created | body | string | Дата и время создания объекта. |
time_updated | body | string | Дата и время изменения объекта. |
title | body | string | Наименование средства управления питанием. |
control_type | body | string | Тип средства. |
protocol_type | body | string | Тип протокола. |
host | body | string | Имя хоста или IP-адрес средства управления питанием. |
login | body | string | Логин для подключения к средству управления питанием. |
port_number | body | string | Номер порта. |
coils_count | body | integer | Общее количество выходных портов. |
used_coils_count | body | integer | Количество используемых выходных портов. |
coil_map | body | object | Карты выходных портов. |
Пример результата в JSON формате:
{
"power_control": {
"coil_map": {
"1": null
},
"coils_count": 1,
"control_type": "SupermicroRackDevice",
"host": "10.35.17.33",
"id": 3,
"login": "ADMIN",
"port_number": 623,
"protocol_type": "ipmi",
"time_created": "2018-10-24T12:12:02",
"time_updated": "Wed, 24 Oct 2018 12:42:34 GMT",
"title": "test_power_control",
"used_coils_count": 0
}
}
Получение списка доступных типов средств управления питанием.
Запрос¶
Пример запроса:¶
curl -X GET -H "X-Auth-Token: $token" http://controller:9362/v1/power-controls/types | python -m json.tool
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
types | body | list | Список поддерживаемых типов средств управления питанием. |
Пример результата в JSON формате:
{
"types": [
[
"ET7067",
"modbus"
],
[
"DaenetIP2",
"snmp"
],
[
"DaenetIP2_ACPI",
"snmp"
],
[
"SshDevice",
"ssh"
],
[
"IntelAMT",
"intel_amt"
],
[
"SupermicroRackDevice",
"ipmi"
]
]
}
Получение списка поддерживаемых протоколов средств управления питанием.
Запрос¶
Пример запроса:¶
curl -X GET -H "X-Auth-Token: $token" http://controller:9362/v1/power-controls/protocols | python -m json.tool
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
protocols | body | list | Список поддерживаемых протоколов средств управления питанием. |
Пример результата в JSON формате:
{
"protocols": [
"modbus",
"ipmi",
"snmp",
"ssh",
"intel_amt"
]
}
Отключение выходного порта средства управления питанием.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
power_control_id | path | integer | Идентификатор средства управления питанием. |
coil | body | integer | Выходной порт средства управления питанием. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"coil": 1}' http://controller:9362/v1/power-controls/$power_control_id/actions/power-off
Эта операция не имеет содержания ответа.
Включение выходного порта средства управления питанием.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
power_control_id | path | integer | Идентификатор средства управления питанием. |
coil | body | integer | Выходной порт средства управления питанием. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"coil": 1}' http://controller:9362/v1/power-controls/$power_control_id/actions/power-on
Эта операция не имеет содержания ответа.
Получение списка узлов, привязанных к средству управления питанием.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
power_control_id | path | integer | Идентификатор средства управления питанием. |
Пример запроса:¶
curl -X GET -H "X-Auth-Token: $token" http://controller:9362/v1/power-controls/$power_control_id/nodes | python -m json.tool
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
nodes | body | list | Список узлов. |
Пример результата в JSON формате:
{
"nodes": [
{
"active": true,
"condition": 0,
"controller_id": null,
"controller_login": null,
"controller_password": null,
"controller_type": null,
"cpu_amount": null,
"description": null,
"dtc_number": 1,
"hdd_gb": null,
"hypervisor_id": "2239c611-523c-44d2-9feb-2c6905fbb5c8",
"id": 1,
"image": {
"id": 1,
"name": "default"
},
"inventory_code": null,
"ip_addresses": ["10.35.222.11"],
"is_controller": false,
"is_reserved": false,
"mac_address": null,
"name": "mnode1.dev-cnt7q-ovs-02.stand.loc",
"node_class": {
"id": 1,
"is_default": true,
"name": "hypervisor",
"node_types": [
{
"id": 1,
"name": ""
},
{
"id": 2,
"name": "QEMU"
},
{
"id": 3,
"name": "KVM"
},
{
"id": 4,
"name": "Docker"
},
{
"id": 5,
"name": "Xen"
},
{
"id": 6,
"name": "VMware"
},
{
"id": 7,
"name": "HyperV"
}
]
},
"cloud_managers": [
{
"is_default": true,
"is_initialized": true,
"power_control_id": 1,
"control_type": "SupermicroRackDevice",
"power_control_title": "test",
"power_control_port": "1",
"protocol_type": "ipmi"
}
],
"node_type": {
"id": 2,
"name": "QEMU"
},
"owner": null,
"power_state": "power_on",
"rack_number": null,
"ram_mb": null,
"row_number": null,
"title": "\u0442\u0435\u0441\u04422",
"unit_number": null
}
]
}
Узлы¶
Позволяет управлять узлами на физическом уровне, предоставляет дополнительную информацию, используемую в модуле CloudManager.
Получение списка узлов.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
id (Optional) | path | integer | Идентификатор узла. |
image_id (Optional) | path | integer | Идентификатор образа узла. |
node_class_id (Optional) | path | integer | Идентификатор класса узла. |
node_type_id (Optional) | path | integer | Идентификатор типа класса узла. |
hypervisor_id (Optional) | path | string | Идентификатор вычислительного узла в OpenStack. |
name (Optional) | path | string | Имя узла. |
controller_id (Optional) | path | string | Идентификатор виртуального контроллера, к которому привязан узел. |
controller_type (Optional) | path | string | Тип виртуального контроллера. |
description (Optional) | path | string | Описание узла. |
dtc_number (Optional) | path | integer | Номер дата-центра. Может принимать значения от 1 до 99. |
unit_number (Optional) | path | integer | Место в стойке. Может принимать значения от 1 до 99. |
rack_number (Optional) | path | integer | Номер стойки. Может принимать значения от 1 до 99. |
row_number (Optional) | path | integer | Номер ряда стоек. Может принимать значения от 1 до 99. |
cpu_amount (Optional) | path | integer | Количество процессоров. Может принимать значения от 0 до 99. |
ram_mb (Optional) | path | integer | Объём оперативной памяти (МБ). |
hdd_gb (Optional) | path | integer | Объем жесткого диска (ГБ). |
mac_address (Optional) | path | string | MAC-адреса узла. |
title (Optional) | path | string | Наименование узла. |
is_reserved (Optional) | path | bool | Флаг, который указывает, зарезервирован ли узел. По умолчанию: False . |
is_controller (Optional) | path | bool | Флаг, который указывает, является ли узел контроллером.
По умолчанию: False . |
inventory_code (Optional) | path | integer | Инвентарный номер. |
power_state (Optional) | path | string | Состояние питания. Возможные значения
|
owner (Optional) | path | string | Имя пользователя, создавшего узел. |
active (Optional) | path | bool | Флаг, который указывает, является ли узел активным. По умолчанию: True . |
condition (Optional) | path | integer | Состояние узла. Возможные значения:
По умолчанию: 0. |
offset (Optional) | path | integer | Номер позиции для получения данных. |
limit (Optional) | path | integer | Ограничение количества получаемых данных. |
with_os_object (Optional) | path | bool | Параметр, позволяющий расширять узлы класса hypervisor объектом os_hypervisor , содержащим атрибуты вычислительного узла OpenStack. |
with_hwinfo (Optional) | path | bool | Параметр, позволяющий расширять узлы класса hypervisor объектом hwinfo , содержащим сведения об аппаратном обеспечении и топологии вычислительного узла OpenStack. |
Параметры, поддерживающие модификаторы: id
, image_id
, node_class_id
, node_type_id
, hypervisor_id
, name
, controller_id
, controller_type
, description
, dtc_number
, unit_number
, rack_number
, row_number
, cpu_amount
, ram_mb
, hdd_gb
, mac_address
, title
, is_reserved
, is_controller
, inventory_code
, power_state
, owner
, active
, condition
.
Пример запроса:¶
curl -X GET -H "X-Auth-Token: $token" http://controller:9362/v1/nodes/ | python -m json.tool
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
active | body | bool | Флаг, который указывает, является ли узел активным. По умолчанию: True . |
condition | body | integer | Состояние узла. Возможные значения:
По умолчанию: 0. |
controller_id | body | string | Идентификатор виртуального контроллера, к которому привязан узел. |
controller_type | body | string | Тип виртуального контроллера. |
cpu_amount | body | integer | Количество процессоров. Может принимать значения от 0 до 99. |
cpu_allocation_ratio | body | float | Допустимое превышение CPU. |
description | body | string | Описание узла. |
dtc_number | body | integer | Номер дата-центра. Может принимать значения от 1 до 99. |
hdd_gb | body | integer | Объем жесткого диска (ГБ). |
hypervisor_id | body | string | Идентификатор вычислительного узла в OpenStack. |
id | body | integer | Идентификатор узла. |
image | body | object | PXE образ узла. |
inventory_code | body | integer | Инвентарный номер. |
ip_addresses (Optional) | body | list | Список IP-адресов узла. Пример: {"ip_addresses": ["127.0.0.1", "192.168.0.15"]} . |
is_controller | body | bool | Флаг, который указывает, является ли узел контроллером.
По умолчанию: False . |
is_reserved | body | bool | Флаг, который указывает, зарезервирован ли узел. По умолчанию: False . |
mac_address | body | string | MAC-адреса узла. |
name | body | string | Имя узла. |
node_class (Optional) | body | object | Класс узла. |
node_type (Optional) | body | object | Тип класса узла. |
node_controls | body | list | Список средств управления питанием узла. |
owner | body | string | Имя пользователя, создавшего узел. |
power_state | body | string | Состояние питания. Возможные значения
|
rack_number | body | integer | Номер стойки. Может принимать значения от 1 до 99. |
ram_mb | body | integer | Объём оперативной памяти (МБ). |
ram_allocation_ratio | body | float | Допустимое превышение RAM. |
row_number | body | integer | Номер ряда стоек. Может принимать значения от 1 до 99. |
title | body | string | Наименование узла. |
unit_number | body | integer | Место в стойке. Может принимать значения от 1 до 99. |
os_hypervisor (Optional) | body | object | Вычислительный узел OpenStack. |
hwinfo (Optional) | body | object | Сведения об аппаратном обеспечении и топологии вычислительного узла OpenStack. |
availability_storages (Optional) | body | array | Список хранилищ проверки доступности. |
Пример результата в JSON формате:
{
"nodes": [
{
"active": true,
"condition": 0,
"controller_id": null,
"controller_type": null,
"cpu_amount": null,
"cpu_allocation_ratio": 16.0,
"description": null,
"dtc_number": 1,
"hdd_gb": null,
"hypervisor_id": "2239c611-523c-44d2-9feb-2c6905fbb5c8",
"id": 1,
"image": {
"id": 1,
"name": "default"
},
"inventory_code": null,
"ip_addresses": ["10.35.222.11"],
"is_controller": false,
"is_reserved": false,
"mac_address": null,
"name": "mnode1.dev-cnt7q-ovs-02.stand.loc",
"node_class": {
"id": 1,
"is_default": true,
"name": "hypervisor"
},
"node_controls": [
{
"is_default": true,
"is_initialized": true,
"power_control_id": 1,
"control_type": "SupermicroRackDevice",
"power_control_title": "test",
"power_control_port": "1",
"protocol_type": "ipmi"
}
],
"node_type": {
"id": 2,
"name": "QEMU"
},
"owner": null,
"power_state": "power_on",
"rack_number": null,
"ram_mb": null,
"ram_allocation_ratio": 1.5,
"row_number": null,
"title": "\u0442\u0435\u0441\u04422",
"unit_number": null
},
{
"active": true,
"condition": 0,
"controller_id": null,
"controller_type": null,
"cpu_amount": null,
"description": null,
"dtc_number": null,
"hdd_gb": null,
"hypervisor_id": "1b9d6e64-53b2-4097-a302-96d7b4a4e055",
"id": 2,
"image": {
"id": 1,
"name": "default"
},
"inventory_code": null,
"ip_addresses": ["10.35.222.12"],
"is_controller": false,
"is_reserved": false,
"mac_address": null,
"name": "mnode2.dev-cnt7q-ovs-02.stand.loc",
"node_class": {
"id": 1,
"is_default": true,
"name": "hypervisor"
},
"node_controls": [
{
"is_default": true,
"is_initialized": true,
"power_control_id": 2,
"control_type": "SupermicroRackDevice",
"power_control_title": "test 2",
"power_control_port": "1",
"protocol_type": "ipmi"
}
],
"node_type": {
"id": 2,
"name": "QEMU"
},
"owner": null,
"power_state": "power_on",
"rack_number": null,
"ram_mb": null,
"row_number": null,
"title": null,
"unit_number": null
}
]
}
Получение количества узлов.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
id (Optional) | path | integer | Идентификатор узла. |
image_id (Optional) | path | integer | Идентификатор образа узла. |
node_class_id (Optional) | path | integer | Идентификатор класса узла. |
node_type_id (Optional) | path | integer | Идентификатор типа класса узла. |
hypervisor_id (Optional) | path | string | Идентификатор вычислительного узла в OpenStack. |
name (Optional) | path | string | Имя узла. |
controller_id (Optional) | path | string | Идентификатор виртуального контроллера, к которому привязан узел. |
controller_type (Optional) | path | string | Тип виртуального контроллера. |
description (Optional) | path | string | Описание узла. |
dtc_number (Optional) | path | integer | Номер дата-центра. Может принимать значения от 1 до 99. |
unit_number (Optional) | path | integer | Место в стойке. Может принимать значения от 1 до 99. |
rack_number (Optional) | path | integer | Номер стойки. Может принимать значения от 1 до 99. |
row_number (Optional) | path | integer | Номер ряда стоек. Может принимать значения от 1 до 99. |
cpu_amount (Optional) | path | integer | Количество процессоров. Может принимать значения от 0 до 99. |
ram_mb (Optional) | path | integer | Объём оперативной памяти (МБ). |
hdd_gb (Optional) | path | integer | Объем жесткого диска (ГБ). |
mac_address (Optional) | path | string | MAC-адреса узла. |
title (Optional) | path | string | Наименование узла. |
is_reserved (Optional) | path | bool | Флаг, который указывает, зарезервирован ли узел. По умолчанию: False . |
is_controller (Optional) | path | bool | Флаг, который указывает, является ли узел контроллером.
По умолчанию: False . |
inventory_code (Optional) | path | integer | Инвентарный номер. |
power_state (Optional) | path | string | Состояние питания. Возможные значения
|
owner (Optional) | path | string | Имя пользователя, создавшего узел. |
active (Optional) | path | bool | Флаг, который указывает, является ли узел активным. По умолчанию: True . |
condition (Optional) | path | integer | Состояние узла. Возможные значения:
По умолчанию: 0. |
Параметры, поддерживающие модификаторы: id
, image_id
, node_class_id
, node_type_id
, hypervisor_id
, name
, controller_id
, controller_type
, description
, dtc_number
, unit_number
, rack_number
, row_number
, cpu_amount
, ram_mb
, hdd_gb
, mac_address
, title
, is_reserved
, is_controller
, inventory_code
, power_state
, owner
, active
, condition
.
Пример запроса:¶
curl -X GET -H "X-Auth-Token: $token" http://controller:9362/v1/nodes/count | python -m json.tool
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
count | body | integer | Количество объектов. |
Пример результата в JSON формате:
{
"count": 2
}
Получение информации об узле.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
node_id | path | integer | Идентификатор узла. |
with_os_object (Optional) | path | bool | Параметр, позволяющий расширять узлы класса hypervisor объектом os_hypervisor , содержащим атрибуты вычислительного узла OpenStack. |
with_hwinfo (Optional) | path | bool | Параметр, позволяющий расширять узлы класса hypervisor объектом hwinfo , содержащим сведения об аппаратном обеспечении и топологии вычислительного узла OpenStack. |
Пример запроса:¶
curl -X GET -H "X-Auth-Token: $token" "http://controller:9362/v1/nodes/$node_id?with_os_object=true" | python -m json.tool
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
active | body | bool | Флаг, который указывает, является ли узел активным. По умолчанию: True . |
condition | body | integer | Состояние узла. Возможные значения:
По умолчанию: 0. |
controller_id | body | string | Идентификатор виртуального контроллера, к которому привязан узел. |
controller_type | body | string | Тип виртуального контроллера. |
cpu_amount | body | integer | Количество процессоров. Может принимать значения от 0 до 99. |
description | body | string | Описание узла. |
dtc_number | body | integer | Номер дата-центра. Может принимать значения от 1 до 99. |
hdd_gb | body | integer | Объем жесткого диска (ГБ). |
hypervisor_id | body | string | Идентификатор вычислительного узла в OpenStack. |
id | body | integer | Идентификатор узла. |
image | body | object | PXE образ узла. |
inventory_code | body | integer | Инвентарный номер. |
ip_addresses (Optional) | body | list | Список IP-адресов узла. Пример: {"ip_addresses": ["127.0.0.1", "192.168.0.15"]} . |
is_controller | body | bool | Флаг, который указывает, является ли узел контроллером.
По умолчанию: False . |
is_reserved | body | bool | Флаг, который указывает, зарезервирован ли узел. По умолчанию: False . |
mac_address | body | string | MAC-адреса узла. |
name | body | string | Имя узла. |
node_class (Optional) | body | object | Класс узла. |
node_controls | body | list | Список средств управления питанием узла. |
node_type (Optional) | body | object | Тип класса узла. |
owner | body | string | Имя пользователя, создавшего узел. |
power_state | body | string | Состояние питания. Возможные значения
|
rack_number | body | integer | Номер стойки. Может принимать значения от 1 до 99. |
ram_mb | body | integer | Объём оперативной памяти (МБ). |
row_number | body | integer | Номер ряда стоек. Может принимать значения от 1 до 99. |
title | body | string | Наименование узла. |
unit_number | body | integer | Место в стойке. Может принимать значения от 1 до 99. |
os_hypervisor (Optional) | body | object | Вычислительный узел OpenStack. |
hwinfo (Optional) | body | object | Сведения об аппаратном обеспечении и топологии вычислительного узла OpenStack. |
availability_storages (Optional) | body | array | Список хранилищ проверки доступности. |
nas (Optional) | body | string | Подключенные СХД узлы. |
Пример результата в JSON формате:
{
"node": {
"active": true,
"condition": 0,
"controller_id": null,
"controller_type": null,
"cpu_amount": null,
"description": "",
"dtc_number": null,
"hdd_gb": null,
"hypervisor_id": "f5501bd3-d69a-41fc-bcc1-91f512f2313a",
"id": 1,
"image": {
"id": 1,
"name": "default"
},
"inventory_code": "UU",
"ip_addresses": [
"10.35.222.12"
],
"is_controller": false,
"is_reserved": true,
"mac_address": null,
"name": "mnode2.dev-cnt7q-ovs-02.stand.loc",
"nas": {
"mnode1.dev-cnt7q-ovs-02.stand.loc": ["iqn.2010-10.org.openstack:volume-9ce44bf8-f981-45b8-8ef4-8120f4761420"]
},
"node_class": {
"id": 1,
"is_default": true,
"name": "hypervisor"
},
"node_controls": [
{
"control_type": "SupermicroRackDevice",
"is_default": false,
"is_initialized": true,
"power_control_id": 1,
"power_control_port": "1",
"power_control_title": "namety",
"protocol_type": "ipmi"
},
{
"control_type": "SupermicroRackDevice",
"is_default": true,
"is_initialized": true,
"power_control_id": 3,
"power_control_port": "1",
"power_control_title": "name2",
"protocol_type": "ipmi"
}
],
"node_type": {
"id": 2,
"name": "QEMU"
},
"os_hypervisor": {
"cpu_info": {
"arch": "x86_64",
"features": [
"pge",
"avx",
"xsaveopt",
"clflush",
"sep",
"rtm",
"tsc_adjust",
"tsc-deadline",
"invpcid",
"tsc",
"fsgsbase",
"xsave",
"smap",
"vmx",
"erms",
"hle",
"cmov",
"smep",
"fpu",
"pat",
"arat",
"lm",
"msr",
"adx",
"3dnowprefetch",
"nx",
"fxsr",
"syscall",
"sse4.1",
"pae",
"sse4.2",
"pclmuldq",
"pcid",
"fma",
"vme",
"mmx",
"osxsave",
"cx8",
"mce",
"de",
"aes",
"mca",
"pse",
"lahf_lm",
"abm",
"rdseed",
"popcnt",
"pdpe1gb",
"apic",
"sse",
"f16c",
"pni",
"rdtscp",
"avx2",
"sse2",
"ss",
"hypervisor",
"bmi1",
"bmi2",
"ssse3",
"cx16",
"pse36",
"mtrr",
"movbe",
"rdrand",
"x2apic"
],
"model": "Broadwell",
"topology": {
"cells": 1,
"cores": 1,
"sockets": 2,
"threads": 1
},
"vendor": "Intel"
},
"current_workload": 0,
"disk_available_least": 80,
"free_disk_gb": 99,
"free_ram_mb": 3583,
"host_ip": "10.35.222.12",
"hypervisor_hostname": "mnode2.dev-cnt7q-ovs-02.stand.loc",
"hypervisor_type": "QEMU",
"hypervisor_version": 2012000,
"id": "f5501bd3-d69a-41fc-bcc1-91f512f2313a",
"local_gb": 99,
"local_gb_used": 0,
"memory_mb": 4095,
"memory_mb_used": 512,
"running_vms": 0,
"service": {
"disabled_reason": null,
"host": "mnode2.dev-cnt7q-ovs-02.stand.loc",
"id": "bd8c4cd2-909e-4be8-b324-6bf8a7c528bb"
},
"state": "up",
"status": "enabled",
"vcpus": 2,
"vcpus_used": 0
},
"owner": null,
"power_state": "power_off",
"rack_number": null,
"ram_mb": null,
"row_number": null,
"title": null,
"unit_number": null
}
}
Создание узла.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
created_at (Optional) | body | string | Дата и время создания объекта. |
image_id (Optional) | body | integer | Идентификатор образа узла. |
node_class_id (Optional) | body | integer | Идентификатор класса узла. |
node_type_id (Optional) | body | integer | Идентификатор типа класса узла. |
ip_addresses (Optional) | body | list | Список IP-адресов узла. Пример: {"ip_addresses": ["127.0.0.1", "192.168.0.15"]} . |
hypervisor_id (Optional) | body | string | Идентификатор вычислительного узла в OpenStack. |
name (Optional) | body | string | Имя узла. |
controller_id (Optional) | body | string | Идентификатор виртуального контроллера, к которому привязан узел. |
controller_type (Optional) | body | string | Тип виртуального контроллера. |
description (Optional) | body | string | Описание узла. |
dtc_number (Optional) | body | integer | Номер дата-центра. Может принимать значения от 1 до 99. |
unit_number (Optional) | body | integer | Место в стойке. Может принимать значения от 1 до 99. |
rack_number (Optional) | body | integer | Номер стойки. Может принимать значения от 1 до 99. |
row_number (Optional) | body | integer | Номер ряда стоек. Может принимать значения от 1 до 99. |
cpu_amount (Optional) | body | integer | Количество процессоров. Может принимать значения от 0 до 99. |
ram_mb (Optional) | body | integer | Объём оперативной памяти (МБ). |
hdd_gb (Optional) | body | integer | Объем жесткого диска (ГБ). |
mac_address (Optional) | body | string | MAC-адреса узла. |
title (Optional) | body | string | Наименование узла. |
is_reserved (Optional) | body | bool | Флаг, который указывает, зарезервирован ли узел. По умолчанию: False . |
is_controller (Optional) | body | bool | Флаг, который указывает, является ли узел контроллером.
По умолчанию: False . |
inventory_code (Optional) | body | integer | Инвентарный номер. |
power_state (Optional) | body | string | Состояние питания. Возможные значения
|
owner (Optional) | body | string | Имя пользователя, создавшего узел. |
active (Optional) | body | bool | Флаг, который указывает, является ли узел активным. По умолчанию: True . |
condition (Optional) | body | integer | Состояние узла. Возможные значения:
По умолчанию: 0. |
metadata (Optional) | body | string | Метаданные. Пример:
|
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"node": {"name": "test-node", "ip_addresses": ["10.35.22.11"]}}' http://controller:9362/v1/nodes/ | python -m json.tool
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
id | body | integer | Идентификатор узла. |
created_at | body | string | Дата и время создания объекта. |
image_id | body | integer | Идентификатор образа узла. |
node_class (Optional) | body | object | Класс узла. |
node_type (Optional) | body | object | Тип класса узла. |
hypervisor_id | body | string | Идентификатор вычислительного узла в OpenStack. |
name | body | string | Имя узла. |
controller_id | body | string | Идентификатор виртуального контроллера, к которому привязан узел. |
controller_type | body | string | Тип виртуального контроллера. |
description | body | string | Описание узла. |
dtc_number | body | integer | Номер дата-центра. Может принимать значения от 1 до 99. |
unit_number | body | integer | Место в стойке. Может принимать значения от 1 до 99. |
rack_number | body | integer | Номер стойки. Может принимать значения от 1 до 99. |
row_number | body | integer | Номер ряда стоек. Может принимать значения от 1 до 99. |
cpu_amount | body | integer | Количество процессоров. Может принимать значения от 0 до 99. |
ram_mb | body | integer | Объём оперативной памяти (МБ). |
hdd_gb | body | integer | Объем жесткого диска (ГБ). |
mac_address | body | string | MAC-адреса узла. |
title | body | string | Наименование узла. |
is_reserved | body | bool | Флаг, который указывает, зарезервирован ли узел. По умолчанию: False . |
is_controller | body | bool | Флаг, который указывает, является ли узел контроллером.
По умолчанию: False . |
inventory_code | body | integer | Инвентарный номер. |
power_state | body | string | Состояние питания. Возможные значения
|
owner | body | string | Имя пользователя, создавшего узел. |
active | body | bool | Флаг, который указывает, является ли узел активным. По умолчанию: True . |
condition | body | integer | Состояние узла. Возможные значения:
По умолчанию: 0. |
metadata (Optional) | body | string | Метаданные. Пример:
|
Пример результата в JSON формате:
{
"node": {
"active": true,
"condition": 0,
"controller_id": null,
"controller_type": null,
"cpu_amount": null,
"description": null,
"dtc_number": null,
"hdd_gb": null,
"hypervisor_id": null,
"id": 4,
"image": {
"id": 1,
"name": "default"
},
"inventory_code": null,
"ip_addresses": ["10.35.22.11"],
"is_controller": false,
"is_reserved": false,
"mac_address": null,
"name": "test-node",
"node_class": {
"id": 1,
"is_default": true,
"name": "hypervisor"
},
"node_type": {
"id": 1,
"name": ""
},
"owner": null,
"power_state": null,
"rack_number": null,
"ram_mb": null,
"row_number": null,
"title": null,
"unit_number": null
}
}
Обновление параметров гипервизора.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
node_id | path | integer | Идентификатор узла. |
created_at (Optional) | body | string | Дата и время создания объекта. |
image_id (Optional) | body | integer | Идентификатор образа узла. |
node_class_id (Optional) | body | integer | Идентификатор класса узла. |
node_type_id (Optional) | body | integer | Идентификатор типа класса узла. |
hypervisor_id (Optional) | body | string | Идентификатор вычислительного узла в OpenStack. |
name (Optional) | body | string | Имя узла. |
controller_id (Optional) | body | string | Идентификатор виртуального контроллера, к которому привязан узел. |
controller_type (Optional) | body | string | Тип виртуального контроллера. |
description (Optional) | body | string | Описание узла. |
dtc_number (Optional) | body | integer | Номер дата-центра. Может принимать значения от 1 до 99. |
unit_number (Optional) | body | integer | Место в стойке. Может принимать значения от 1 до 99. |
rack_number (Optional) | body | integer | Номер стойки. Может принимать значения от 1 до 99. |
row_number (Optional) | body | integer | Номер ряда стоек. Может принимать значения от 1 до 99. |
cpu_amount (Optional) | body | integer | Количество процессоров. Может принимать значения от 0 до 99. |
ram_mb (Optional) | body | integer | Объём оперативной памяти (МБ). |
hdd_gb (Optional) | body | integer | Объем жесткого диска (ГБ). |
mac_address (Optional) | body | string | MAC-адреса узла. |
title (Optional) | body | string | Наименование узла. |
is_reserved (Optional) | body | bool | Флаг, который указывает, зарезервирован ли узел. По умолчанию: False . |
is_controller (Optional) | body | bool | Флаг, который указывает, является ли узел контроллером.
По умолчанию: False . |
inventory_code (Optional) | body | integer | Инвентарный номер. |
power_state (Optional) | body | string | Состояние питания. Возможные значения
|
owner (Optional) | body | string | Имя пользователя, создавшего узел. |
active (Optional) | body | bool | Флаг, который указывает, является ли узел активным. По умолчанию: True . |
condition (Optional) | body | integer | Состояние узла. Возможные значения:
По умолчанию: 0. |
metadata (Optional) | body | string | Метаданные. Пример:
|
Пример запроса:¶
curl -X PUT -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"node": {"title": "node title"}}' http://controller:9362/v1/nodes/$node_id | python -m json.tool
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
id | body | integer | Идентификатор узла. |
created_at | body | string | Дата и время создания объекта. |
image_id | body | integer | Идентификатор образа узла. |
node_class (Optional) | body | object | Класс узла. |
node_type (Optional) | body | object | Тип класса узла. |
hypervisor_id | body | string | Идентификатор вычислительного узла в OpenStack. |
name | body | string | Имя узла. |
controller_id | body | string | Идентификатор виртуального контроллера, к которому привязан узел. |
controller_type | body | string | Тип виртуального контроллера. |
description | body | string | Описание узла. |
dtc_number | body | integer | Номер дата-центра. Может принимать значения от 1 до 99. |
unit_number | body | integer | Место в стойке. Может принимать значения от 1 до 99. |
rack_number | body | integer | Номер стойки. Может принимать значения от 1 до 99. |
row_number | body | integer | Номер ряда стоек. Может принимать значения от 1 до 99. |
cpu_amount | body | integer | Количество процессоров. Может принимать значения от 0 до 99. |
ram_mb | body | integer | Объём оперативной памяти (МБ). |
hdd_gb | body | integer | Объем жесткого диска (ГБ). |
mac_address | body | string | MAC-адреса узла. |
title | body | string | Наименование узла. |
is_reserved | body | bool | Флаг, который указывает, зарезервирован ли узел. По умолчанию: False . |
is_controller | body | bool | Флаг, который указывает, является ли узел контроллером.
По умолчанию: False . |
inventory_code | body | integer | Инвентарный номер. |
power_state | body | string | Состояние питания. Возможные значения
|
owner | body | string | Имя пользователя, создавшего узел. |
active | body | bool | Флаг, который указывает, является ли узел активным. По умолчанию: True . |
condition | body | integer | Состояние узла. Возможные значения:
По умолчанию: 0. |
metadata (Optional) | body | string | Метаданные. Пример:
|
availability_storages (Optional) | body | array | Список хранилищ проверки доступности. |
Пример результата в JSON формате:
{
"node": {
"active": true,
"condition": 0,
"controller_id": null,
"controller_type": null,
"cpu_amount": null,
"description": null,
"dtc_number": null,
"hdd_gb": null,
"hypervisor_id": null,
"id": 4,
"image": {
"id": 1,
"name": "default"
},
"inventory_code": null,
"ip_addresses": ["10.35.22.11"],
"is_controller": false,
"is_reserved": false,
"mac_address": null,
"name": "test-node",
"node_class": {
"id": 1,
"is_default": true,
"name": "hypervisor"
},
"node_type": {
"id": 1,
"name": ""
},
"owner": null,
"power_state": null,
"rack_number": null,
"ram_mb": null,
"row_number": null,
"title": "node title",
"unit_number": null
}
}
Удаление узла.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
node_id | path | integer | Идентификатор узла. |
Пример запроса:¶
curl -X DELETE -H "X-Auth-Token: $token" http://controller:9362/v1/nodes/$node_id
Эта операция не имеет содержания ответа.
Назначение PXE образа узлу.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
node_id | path | integer | Идентификатор узла. |
image_id | body | integer | Идентификатор PXE образа. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"image_id": 2}' http://controller:9362/v1/nodes/$node_id/actions/assign-image
Эта операция не имеет содержания ответа.
Отключение питания узла.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
node_id | path | integer | Идентификатор узла. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" http://controller:9362/v1/nodes/$node_id/actions/power-off
Эта операция не имеет содержания ответа.
Включение питания узла.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
node_id | path | integer | Идентификатор узла. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" http://controller:9362/v1/nodes/$node_id/actions/power-on
Эта операция не имеет содержания ответа.
Перезапуск узла.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
node_id | path | integer | Идентификатор узла. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" http://controller:9362/v1/nodes/$node_id/actions/reset
Эта операция не имеет содержания ответа.
Перевод узла в резерв.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
node_id | path | integer | Идентификатор узла. |
is_reserved | body | bool | Флаг, отвечающий за перевод узла в резерв. true для перевода узла в резерв, false для вывода из резерва. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"is_reserved": true}' http://controller:9362/v1/nodes/$node_id/actions/reserve
Эта операция не имеет содержания ответа.
Включение SNMP для узла.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
node_id | path | integer | Идентификатор узла. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" -H "Content-Type: application/json" http://controller:9362/v1/nodes/$node_id/actions/enable-snmp
Эта операция не имеет содержания ответа.
Выключение SNMP для узла.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
node_id | path | integer | Идентификатор узла. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" -H "Content-Type: application/json" http://controller:9362/v1/nodes/$node_id/actions/disable-snmp
Эта операция не имеет содержания ответа.
Включение SSH для узла.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
node_id | path | integer | Идентификатор узла. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" -H "Content-Type: application/json" http://controller:9362/v1/nodes/$node_id/actions/enable-ssh
Эта операция не имеет содержания ответа.
Выключение SSH для узла.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
node_id | path | integer | Идентификатор узла. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" -H "Content-Type: application/json" http://controller:9362/v1/nodes/$node_id/actions/disable-ssh
Эта операция не имеет содержания ответа.
Включение режима NodeSafe для узла.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
node_id | path | integer | Идентификатор узла. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" -H "Content-Type: application/json" http://controller:9362/v1/nodes/$node_id/actions/enable-nodesafe
Эта операция не имеет содержания ответа.
Выключение режима NodeSafe для узла.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
node_id | path | integer | Идентификатор узла. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" -H "Content-Type: application/json" http://controller:9362/v1/nodes/$node_id/actions/disable-nodesafe
Эта операция не имеет содержания ответа.
Примечание
При создании узла по умолчанию режим включен.
Включение режима динамического конфигурирования компонентов для узла.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
node_id | path | integer | Идентификатор узла. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" -H "Content-Type: application/json" http://controller:9362/v1/nodes/$node_id/actions/enable-dcc
Эта операция не имеет содержания ответа.
Примечание
При создании узла по умолчанию режим включен.
Выключение динамического конфигурирования компонентов для узла.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
node_id | path | integer | Идентификатор узла. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" -H "Content-Type: application/json" http://controller:9362/v1/nodes/$node_id/actions/disable-dcc
Эта операция не имеет содержания ответа.
Настройка типа процессора виртуальных машин вычислительного узла.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
node_id | path | integer | Идентификатор узла. |
cpu_emulation_mode | body | string | Режим эмуляции процессора. Принимает значения:
|
cpu_model (Optional) | body | string | Эмулируемая модель процессора. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"cpu_emulation_mode": "host-passthrough"}' http://controller:9362/v1/nodes/$node_id/actions/set-cpu-mode
Эта операция не имеет содержания ответа.
Настройка перенаправления логов вычислительного узла.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
node_id | path | integer | Идентификатор узла. |
log_redirection_hostname | body | string | Доменное имя или IP-адрес сервера, куда производится перенаправление логирования. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"log_redirection_hostname": "10.10.10.10"}' http://controller:9362/v1/nodes/$node_id/actions/setup-log-redirection
Эта операция не имеет содержания ответа.
Отключение перенаправления логов вычислительного узла.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
node_id | path | integer | Идентификатор узла. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" http://controller:9362/v1/nodes/$node_id/actions/disable-log-redirection
Эта операция не имеет содержания ответа.
Запуск обновления системы на вычислительном узле.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
node_id | path | integer | Идентификатор узла. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" http://controller:9362/v1/nodes/$node_id/actions/update-system
Эта операция не имеет содержания ответа.
Получение списка действий над узлом.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
node_id | path | integer | Идентификатор узла. |
Пример запроса:¶
curl -X GET -H "X-Auth-Token: $token" http://controller:9362/v1/nodes/$node_id/power-actions/ | python -m json.tool
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
id | body | integer | Идентификатор действия. |
action | body | string | Тип действия. |
node_id | body | integer | Идентификатор узла. |
start_time | body | string | Время старта действия. |
user_name | body | string | Имя пользователя, совершившего действие. |
Пример результата в JSON формате:
{
"power_actions": [
{
"action": "reset",
"id": 1,
"node_id": 1,
"start_time": "2018-10-25T06:31:36",
"user_name": "admin"
}
]
}
Получение информации о действии над узлом.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
node_id | path | integer | Идентификатор узла. |
power_action_id | path | integer | Идентификатор действия. |
Пример запроса:¶
curl -X GET -H "X-Auth-Token: $token" http://controller:9362/v1/nodes/$node_id/power-actions/$power_action_id | python -m json.tool
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
id | body | integer | Идентификатор действия. |
action | body | string | Тип действия. |
node_id | body | integer | Идентификатор узла. |
start_time | body | string | Время старта действия. |
user_name | body | string | Имя пользователя, совершившего действие. |
Пример результата в JSON формате:
{
"power_action": {
"action": "reset",
"id": 1,
"node_id": 1,
"start_time": "2018-10-25T06:31:36",
"user_name": "admin"
}
}
Получение списка назначенных на узел средств управления питанием.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
node_id | path | integer | Идентификатор узла. |
Пример запроса:¶
curl -X GET -H "X-Auth-Token: $token" http://controller:9362/v1/nodes/$node_id/power-controls/ | python -m json.tool
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
is_default | body | bool | Флаг, который указывает, является ли средство управления питанием средством по умолчанию. |
is_initialized | body | bool | Флаг, который указывает, инициализировано ли средство управления питанием. |
power_control_id | body | integer | Идентификатор средства управления питанием. |
control_type | body | string | Тип средства. |
power_control_title | body | string | Наименование средства управления питанием. |
protocol_type | body | string | Тип протокола. |
Пример результата в JSON формате:
{
"power_controls": [
{
"is_default": true,
"is_initialized": true,
"power_control_id": 1,
"control_type": "SupermicroRackDevice",
"power_control_title": "test",
"power_control_port": "1",
"protocol_type": "ipmi"
}
]
}
Назначение на узел средства управления питанием.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
node_id | path | integer | Идентификатор узла. |
is_default (Optional) | body | bool | Флаг, который указывает, является ли средство управления питанием средством по умолчанию. |
power_control_id | body | integer | Идентификатор средства управления питанием. |
power_control_port | body | string | Номер порта средства управления питанием. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"power_control_id": 1, "power_control_port": 1}' http://controller:9362/v1/nodes/$node_id/power-controls/ | python -m json.tool
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
is_default | body | bool | Флаг, который указывает, является ли средство управления питанием средством по умолчанию. |
is_initialized | body | bool | Флаг, который указывает, инициализировано ли средство управления питанием. |
power_control_id | body | integer | Идентификатор средства управления питанием. |
control_type | body | string | Тип средства. |
power_control_title | body | string | Наименование средства управления питанием. |
protocol_type | body | string | Тип протокола. |
power_control_port | body | string | Номер порта средства управления питанием. |
Пример результата в JSON формате:
{
"power_control": {
"is_default": false,
"is_initialized": true,
"power_control_id": 1,
"control_type": "SupermicroRackDevice",
"power_control_title": "test",
"power_control_port": "1",
"protocol_type": "ipmi"
}
}
Получение информации о назначенном на узел средстве управления питанием.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
node_id | path | integer | Идентификатор узла. |
power_control_id | path | integer | Идентификатор средства управления питанием. |
Пример запроса:¶
curl -X GET -H "X-Auth-Token: $token" http://controller:9362/v1/nodes/$node_id/power-controls/$power_control_id | python -m json.tool
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
is_default | body | bool | Флаг, который указывает, является ли средство управления питанием средством по умолчанию. |
is_initialized | body | bool | Флаг, который указывает, инициализировано ли средство управления питанием. |
power_control_id | body | integer | Идентификатор средства управления питанием. |
control_type | body | string | Тип средства. |
power_control_title | body | string | Наименование средства управления питанием. |
protocol_type | body | string | Тип протокола. |
power_control_port | body | string | Номер порта средства управления питанием. |
Пример результата в JSON формате:
{
"power_control": {
"is_default": false,
"is_initialized": true,
"power_control_id": 1,
"control_type": "SupermicroRackDevice",
"power_control_title": "test",
"power_control_port": "1",
"protocol_type": "ipmi"
}
}
Обновление параметров назначенного на узел средства управления питанием.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
node_id | path | integer | Идентификатор узла. |
power_control_id | path | integer | Идентификатор средства управления питанием. |
is_default (Optional) | body | bool | Флаг, который указывает, является ли средство управления питанием средством по умолчанию. |
power_control_port (Optional) | body | string | Номер порта средства управления питанием. |
Пример запроса:¶
curl -X PUT -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"is_default": true}' http://controller:9362/v1/nodes/$node_id/power-controls/$power_control_id | python -m json.tool
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
is_default | body | bool | Флаг, который указывает, является ли средство управления питанием средством по умолчанию. |
is_initialized | body | bool | Флаг, который указывает, инициализировано ли средство управления питанием. |
power_control_id | body | integer | Идентификатор средства управления питанием. |
control_type | body | string | Тип средства. |
power_control_title | body | string | Наименование средства управления питанием. |
protocol_type | body | string | Тип протокола. |
power_control_port | body | string | Номер порта средства управления питанием. |
Пример результата в JSON формате:
{
"power_control": {
"is_default": true,
"is_initialized": true,
"power_control_id": 1,
"control_type": "SupermicroRackDevice",
"power_control_title": "test",
"power_control_port": "1",
"protocol_type": "ipmi"
}
}
Снятие назначения средства управления питанием на узел.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
node_id | path | integer | Идентификатор узла. |
power_control_id | path | integer | Идентификатор средства управления питанием. |
Пример запроса:¶
curl -X DELETE -H "X-Auth-Token: $token" http://controller:9362/v1/nodes/$node_id/power-controls/$power_control_id
Эта операция не имеет содержания ответа.
Привязка узлов к виртуальному контроллеру.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
controller_uuid | body | string | Идентификатор виртуального контроллера, к которому привязан узел. |
hostnames | body | list | Список имен узлов. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"controller_uuid": "2eec580b-12f8-4518-bf79-3dc5529617da", "hostnames": ["mnode2.dev.stand.loc"]}' http://controller:9362/v1/nodes/actions/attach | python -m json.tool
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
task_id (Optional) | body | string | ID задачи в celery. |
Пример результата в JSON формате:
{
"task_id": "7c8fbc6c-468d-4afb-a292-e70a3d475edc"
}
Отвязка узлов от виртуального контроллера.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
controller_uuid | body | string | Идентификатор виртуального контроллера, к которому привязан узел. |
hostnames | body | list | Список имен узлов. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"controller_uuid": "2eec580b-12f8-4518-bf79-3dc5529617da", "hostnames": ["mnode2.dev.stand.loc"]}' http://controller:9362/v1/nodes/actions/detach | python -m json.tool
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
task_id (Optional) | body | string | ID задачи в celery. |
Пример результата в JSON формате:
{
"task_id": "7c8fbc6c-468d-4afb-a292-e70a3d475edc"
}
Перезапуск узлов.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
node_ids | body | list | Идентификаторы узлов. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"node_ids": [1, 2]}' http://controller:9362/v1/nodes/actions/reset | python -m json.tool
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
success | body | list | Список узлов, которые были успешно перезапущены. |
failed | body | list | Список узлов, которые не удалось перезапустить. |
Пример результата в JSON формате:
{
"failed": [],
"success": [
1,
2
]
}
Назначение узла хранилищам проверки доступности. Ранее созданные назначения не удаляются.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
node_id | path | integer | Идентификатор узла. |
availability_storages | body | array | Список идентификаторов хранилища проверки доступности. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"availability_storages": [1]}' http://controller:9362/v1/nodes/$node_id/availability-storages/
Эта операция не имеет содержания ответа.
Переназначение узла хранилищам проверки доступности. Ранее созданные назначения не удаляются.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
node_id | path | integer | Идентификатор узла. |
availability_storages | body | array | Список идентификаторов хранилища проверки доступности. |
Пример запроса:¶
curl -X PUT -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"availability_storages": [1]}' http://controller:9362/v1/nodes/$node_id/availability-storages/
Эта операция не имеет содержания ответа.
Удаление назначения хранилища проверки доступности узлам.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
node_id | path | integer | Идентификатор узла. |
availability_storage_id | path | integer | Идентификатор хранилища проверки доступности. |
Пример запроса:¶
curl -X DELETE -H "X-Auth-Token: $token" http://controller:9362/v1/nodes/$node_id/availability-storages/$availability_storage_id | python -m json.tool
Эта операция не имеет содержания ответа.
Опрос СХД для получения доступных дисков.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
node_id | path | integer | Идентификатор узла. |
storage_id | body | integer | ID СХД. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"storage_id": 50}' http://controller:9362/v1/nodes/$node_id/actions/discovery-nas | python -m json.tool
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
targets | body | dict | Список имен дисков СХД для подключения к узлу. |
Пример результата в JSON формате:
{
"targets": {
"10.40.38.2": [
"volume-887880f7-9e54-4f81-8d32-3e0b7a9b1c5c",
"volume-99361e45-6e50-45fc-9236-08108b2c7add",
"volume-f28e9c36-beed-4ce6-b30a-d2f2a8952734"
]
}
}
Подключение диска СХД к узлу.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
node_id | path | integer | Идентификатор узла. |
targets | body | dict | Список имен дисков СХД для подключения к узлу. |
vendor (Optional) | body | string | Производитель СХД. |
product (Optional) | body | string | Модель СХД. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"targets": {"10.40.38.2": ["volume-887880f7-9e54-4f81-8d32-3e0b7a9b1c5c"]}}' http://controller:9362/v1/nodes/$node_id/actions/attach-targets | python -m json.tool
Эта операция не имеет содержания ответа.
Запуск восстановления блокировок дисков на узле.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
node_id | path | integer | Идентификатор узла. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" -H "Content-Type: application/json" http://controller:9362/v1/nodes/$node_id/actions/repair-locks | python -m json.tool
Эта операция не имеет содержания ответа.
Запуск балансировки нагрузки на узлах.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
nodes (Optional) | body | list | Список ID узлов. |
aggregates (Optional) | body | list | Список ID агрегаторов. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"nodes": ["44d751bb-cadc-485f-8188-39e55f573173", "bd6e2f96-7739-409b-b508-9c8d85ae98b5"]}' http://controller:9362/v1/nodes/actions/balance | python -m json.tool
Эта операция не имеет содержания ответа.
DRS¶
Позволяет запускать аудит возможности балансировки виртуальных машин на узлах в рамках агрегаторов узлов.
Запуск аудита возможности балансировки.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
aggregate_id | path | string | Идентификатор агрегатора узлов. |
auto_apply (Optional) | body | bool | Дополнительный параметр, разрешает автоматическое применение результата аудита. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" -H "Content-Type: application/json" http://controller:9362/v1/aggregates/{aggregate_id}/actions/execute-audit
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
id | body | string | Идентификатор аудита. |
status | body | string | Статус аудита. |
Пример результата в JSON формате:
{
"audit": {
"id": 99,
"status": "DONE"
}
}
Применение результата аудита.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
aggregate_id | path | string | Идентификатор агрегатора узлов. |
audit_id | body | string | Идентификатор аудита. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"audit_id": 99}' http://controller:9362/v1/aggregates/{aggregate_id}/actions/apply-audit
Эта операция не имеет содержания ответа.
Получение статуса аудита.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
aggregate_id | path | string | Идентификатор агрегатора узлов. |
audit_id | body | string | Идентификатор аудита. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"audit_id": 99}' http://controller:9362/v1/aggregates/{aggregate_id}/actions/get-audit-status
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
id | body | string | Идентификатор аудита. |
status | body | string | Статус аудита. |
Пример результата в JSON формате:
{
"audit": {
"id": 99,
"status": "DONE"
}
}
Блочное хранилище Cinder¶
Позволяет управлять блочным хранилищем на основе LVM.
Примечание
Для корректной работы требуется настроенная служба agent
с типом control
на узлах со службой cinder-volume
и nova-compute
.
Получение списка хранилищ.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
volume_backend_name (Optional) | path | string | Имя бэкенда блочного хранилища. |
host (Optional) | path | string | Имя узла блочного хранилища. |
vg_name (Optional) | path | string | Имя группы логических томов. |
offset (Optional) | path | integer | Номер позиции для получения данных. |
limit (Optional) | path | integer | Ограничение количества получаемых данных. |
Параметры, поддерживающие модификаторы: volume_backend_name
, host
, vg_name
.
Пример запроса:¶
curl -X GET -H "X-Auth-Token: $token" http://controller:9362/v1/volume-backends/ | python -m json.tool
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
volume_backend_name | body | string | Имя бэкенда блочного хранилища. |
host | body | string | Имя узла блочного хранилища. |
vg_name | body | string | Имя группы логических томов. |
protocol | body | string | Протокол взаимодействия в системах хранения данных. |
free_size | body | string | Размер свободного места хранилища, ГБ. |
total_size | body | string | Общий размер хранилища, ГБ. |
logical_volumes | body | array | Список логических томов. |
physical_volumes | body | array | Список физических томов. |
Пример ответа в JSON формате:
[
{
"volume_backend_name": "sanlock",
"host": "volume2.sanlock.stand.loc",
"vg_name": "vol",
"protocol": "iscsi",
"free_size": "136.75",
"total_size": "138",
"logical_volumes": [
{
"lv_name": "volume-cfae37a3-6e8f-4bc8-862e-85db07ff429f",
"vg_name": "vol",
"lv_attr": "-wi-------",
"lv_size": "1,00g",
"lv_uuid": "XSOJgt-6xDf-mTWA-NG7q-MyR7-MheT-e39yp3",
"mirror_count": "1",
"devices": [
{
"pv": "/dev/mapper/mpathb",
"seg_size": "1,00g"
}
]
}
],
"physical_volumes": [
{
"pv_name": "/dev/mapper/mpathb",
"vg_name": "vol",
"pv_attr": "a--",
"pv_size": "46,00g",
"pv_free": "44,75g"
},
{
"pv_name": "/dev/mapper/mpathc",
"vg_name": "vol",
"pv_attr": "a--",
"pv_size": "46,00g",
"pv_free": "46,00g"
},
{
"pv_name": "/dev/mapper/mpathd",
"vg_name": "vol",
"pv_attr": "a--",
"pv_size": "46,00g",
"pv_free": "46,00g"
}
],
}
]
Получение информации о логическом томе.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
volume_id | body | string | Идентификатор диска Cinder. |
Пример запроса:¶
curl -X GET -H "X-Auth-Token: $token" http://controller:9362/v1/volumes/cfae37a3-6e8f-4bc8-862e-85db07ff429f | python -m json.tool
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
volume_id | body | string | Идентификатор диска Cinder. |
volume_backend_name | body | string | Имя бэкенда блочного хранилища. |
host | body | string | Имя узла блочного хранилища. |
logical_volume | body | object | Логический том. |
thin_enabled | body | bool | Флаг, который указывает, является ли том тонким. |
lock_hosts | body | array | Список узлов, на которых установлена блокировка тома. |
lock_exclusive | body | bool | Флаг, который указывает, является ли блокировка эксклюзивной. |
Пример ответа в JSON формате:
{
"volume": {
"volume_id": "cfae37a3-6e8f-4bc8-862e-85db07ff429f",
"volume_backend_name": "sanlock",
"host": "volume2.sanlock.stand.loc",
"thin_enabled": true,
"logical_volume": {
{
"lv_name": "volume-cfae37a3-6e8f-4bc8-862e-85db07ff429f",
"vg_name": "vol",
"lv_attr": "-wi-------",
"lv_uuid": "XSOJgt-6xDf-mTWA-NG7q-MyR7-MheT-e39yp3",
"mirror_count": "1",
"lv_size": "1,00g",
"lv_status": null,
"devices": [
{
"pv": "/dev/mapper/mpathb",
"seg_size": "1,00g"
}
]
}
},
"lock_hosts": ["volume2.sanlock.stand.loc"],
lock_exclusive: true
}
}
Получение информации о логических томах.
Запрос¶
Пример запроса:¶
curl -X GET -H "X-Auth-Token: $token" http://controller:9362/v1/volumes/ | python -m json.tool
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
volume_id | body | string | Идентификатор диска Cinder. |
volume_backend_name | body | string | Имя бэкенда блочного хранилища. |
host | body | string | Имя узла блочного хранилища. |
logical_volume | body | object | Логический том. |
thin_enabled | body | bool | Флаг, который указывает, является ли том тонким. |
Пример ответа в JSON формате:
{
"volumes": [
{
"volume_id": "cfae37a3-6e8f-4bc8-862e-85db07ff429f",
"volume_backend_name": "sanlock",
"host": "volume2.sanlock.stand.loc",
"thin_enabled": true,
"logical_volume": {
{
"lv_name": "volume-cfae37a3-6e8f-4bc8-862e-85db07ff429f",
"vg_name": "vol",
"lv_attr": "-wi-------",
"lv_uuid": "XSOJgt-6xDf-mTWA-NG7q-MyR7-MheT-e39yp3",
"mirror_count": "1",
"lv_size": "1,00g",
"lv_status": null,
"devices": [
{
"pv": "/dev/mapper/mpathb",
"seg_size": "1,00g"
}
]
}
}
}
]
}
Конвертация тома в зеркалированный том.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
volume_id | path | string | Идентификатор диска Cinder. |
mirror_count | body | integer | Количество копий диска. 0 для отключения зеркалирования. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"mirror_count": 1}' http://controller:9362/v1/volumes/cfae37a3-6e8f-4bc8-862e-85db07ff429f/actions/mirror
Эта операция не имеет содержания ответа.
Миграция диска между физическими томами.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
volume_id | path | string | Идентификатор диска Cinder. |
source_pv | body | string | Исходный физический том. |
dest_pv (Optional) | body | string | Целевой физический том. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"source_pv": "/dev/mapper/mpathb", "dest_pv": "/dev/mapper/mpathc"}' http://controller:9362/v1/volumes/cfae37a3-6e8f-4bc8-862e-85db07ff429f/actions/pv-migrate
Эта операция не имеет содержания ответа.
Хранилища проверки доступности¶
Действия с хранилищами проверки доступности.
Получение списка хранилищ проверки доступности.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
availability_storage_id (Optional) | path | integer | Идентификатор хранилища проверки доступности. |
name (Optional) | path | string | Имя хранилища проверки доступности. |
offset (Optional) | path | integer | Номер позиции для получения данных. |
limit (Optional) | path | integer | Ограничение количества получаемых данных. |
Параметры, поддерживающие модификаторы: id
, name
.
Пример запроса:¶
curl -X GET -H "X-Auth-Token: $token" http://controller:9362/v1/availability-storages/ | python -m json.tool
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
id | body | integer | Идентификатор хранилища проверки доступности. |
name | body | string | Имя хранилища проверки доступности. |
compute_path | body | string | Путь хранилища проверки доступности на вычислительном узле. |
controller_path | body | string | Путь хранилища проверки доступности на управляющем узле. |
nodes (Optional) | body | string | Список узлов, которым назначено хранилище проверки доступности. |
Пример результата в JSON формате:
{
"availability_storages": [
{
"id": 1,
"name": "storage1",
"compute_path": "/tmp/",
"controller_path": "/tmp/",
"nodes": []
}
]
}
Получение количества хранилищ проверки доступности.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
availability_storage_id (Optional) | path | integer | Идентификатор хранилища проверки доступности. |
name (Optional) | path | string | Имя хранилища проверки доступности. |
Параметры, поддерживающие модификаторы: id
, name
.
Пример запроса:¶
curl -X GET -H "X-Auth-Token: $token" http://controller:9362/v1/availability-storages/count | python -m json.tool
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
count | body | integer | Количество объектов. |
Пример результата в JSON формате:
{
"count": 4
}
Создание нового хранилища проверки доступности.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
name | body | string | Имя хранилища проверки доступности. |
compute_path | body | string | Путь хранилища проверки доступности на вычислительном узле. |
controller_path | body | string | Путь хранилища проверки доступности на управляющем узле. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"availability_storage": {"name": "storage1", "compute_path": "/tmp/", "controller_path": "/tmp/"}}' http://controller:9362/v1/availability-storages/ | python -m json.tool
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
id | body | integer | Идентификатор хранилища проверки доступности. |
name | body | string | Имя хранилища проверки доступности. |
compute_path | body | string | Путь хранилища проверки доступности на вычислительном узле. |
controller_path | body | string | Путь хранилища проверки доступности на управляющем узле. |
nodes (Optional) | body | string | Список узлов, которым назначено хранилище проверки доступности. |
Пример результата в JSON формате:
{
"availability_storage": {
"id": 1,
"name": "storage1",
"compute_path": "/tmp/",
"controller_path": "/tmp/",
"nodes": []
}
}
Получение информации о хранилище проверки доступности.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
availability_storage_id | path | integer | Идентификатор хранилища проверки доступности. |
Пример запроса:¶
curl -X GET -H "X-Auth-Token: $token" http://controller:9362/v1/availability-storages/$availability_storage_id | python -m json.tool
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
availability_storage_id | path | integer | Идентификатор хранилища проверки доступности. |
name | body | string | Имя хранилища проверки доступности. |
compute_path | body | string | Путь хранилища проверки доступности на вычислительном узле. |
controller_path | body | string | Путь хранилища проверки доступности на управляющем узле. |
nodes (Optional) | body | string | Список узлов, которым назначено хранилище проверки доступности. |
Пример результата в JSON формате:
{
"availability_storage": {
"id": 1,
"name": "storage1",
"compute_path": "/tmp/",
"controller_path": "/tmp/",
"nodes": []
}
}
Редактирование существующего хранилища проверки доступности.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
availability_storage_id | path | integer | Идентификатор хранилища проверки доступности. |
name | body | string | Имя хранилища проверки доступности. |
compute_path | body | string | Путь хранилища проверки доступности на вычислительном узле. |
controller_path | body | string | Путь хранилища проверки доступности на управляющем узле. |
Пример запроса:¶
curl -X PUT -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"availability_storage": {"name": "storage2"}}' http://controller:9362/v1/availability-storages/$availability_storage_id | python -m json.tool
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
id | path | integer | Идентификатор хранилища проверки доступности. |
name | body | string | Имя хранилища проверки доступности. |
compute_path | body | string | Путь хранилища проверки доступности на вычислительном узле. |
controller_path | body | string | Путь хранилища проверки доступности на управляющем узле. |
nodes (Optional) | body | string | Список узлов, которым назначено хранилище проверки доступности. |
Пример результата в JSON формате:
{
"availability_storage": {
"id": 1,
"name": "storage2",
"compute_path": "/tmp/",
"controller_path": "/tmp/",
"nodes": []
}
}
Удаление существующего хранилища проверки доступности.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
availability_storage_id | path | integer | Идентификатор хранилища проверки доступности. |
Пример запроса:¶
curl -X DELETE -H "X-Auth-Token: $token" http://controller:9362/v1/availability-storages/$availability_storage_id
Эта операция не имеет содержания ответа.
Назначение хранилища проверки доступности узлам. Ранее созданные назначения не удаляются.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
availability_storage_id | path | integer | Идентификатор хранилища проверки доступности. |
nodes | body | array | Список идентификаторов узлов. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"nodes": [1]}' http://controller:9362/v1/availability-storages/$availability_storage_id/nodes/
Эта операция не имеет содержания ответа.
Переназначение хранилища проверки доступности узлам. Ранее созданные назначения удаляются.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
availability_storage_id | path | integer | Идентификатор хранилища проверки доступности. |
nodes | body | array | Список идентификаторов узлов. |
Пример запроса:¶
curl -X PUT -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"nodes": [2]}' http://controller:9362/v1/availability-storages/$availability_storage_id/nodes/
Эта операция не имеет содержания ответа.
Удаление назначения хранилища проверки доступности узлам.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
availability_storage_id | path | integer | Идентификатор хранилища проверки доступности. |
node_id | path | integer | Идентификатор узла. |
Пример запроса:¶
curl -X DELETE -H "X-Auth-Token: $token" http://controller:9362/v1/availability-storages/$availability_storage_id/nodes/$node_id
Эта операция не имеет содержания ответа.
Задачи в celery¶
Информация о задачах в celery.
Получение списка ID последних задач celery.
Запрос¶
Пример запроса:¶
curl -X GET -H "X-Auth-Token: $token" http://controller:9362/v1/tasks
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
task_id | body | string | ID задачи в celery. |
Пример результата в JSON формате:
{
"tasks":[
"3519adaf-7669-499e-88eb-8f05f64514e2",
"013b9778-1d39-4b18-a06c-2780b67e1091",
"31c71e8a-26cd-4b8e-a4c5-9181d578616f",
"3e720334-7533-43b7-a079-24ea84b7a8a0",
"8869de12-3f44-4b96-a20e-80a03dd575a3",
"641de831-95b2-43ba-8fd5-7822ee5d6445",
"f0204f11-8e59-410a-8108-a73212c5439a",
"3b8eff74-55b1-4eb8-80e2-adf8472fc968",
"93e30a3c-117b-4e05-990d-4ff46ac5ac84",
"7c8fbc6c-468d-4afb-a292-e70a3d475edc"
]
}
Получение информации о задачи в celery по ID.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
task_id | body | string | ID задачи в celery. |
Пример запроса:¶
curl -X GET -H "X-Auth-Token: $token" http://controller:9362/v1/tasks/$task_id
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
status | body | string | Статус задачи. |
name (Optional) | body | string | Имя задачи в celery. |
traceback (Optional) | body | string | Traceback ошибки при выполнении задачи. |
result (Optional) | body | string | Результат задачи. |
Пример результата в JSON формате:
{
"status":"SUCCESS"
}
Домены¶
Действия с доменами.
Получение способа хранения домена.
Запрос¶
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" http://controller:9362/v1/domains/actions/get-store
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
store | body | string | Способ хранения домена. |
Пример получения информации о способе хранения домена в JSON формате:
{
"store": "file"
}
Загрузка конфигурации домена в базу данных.
Запрос¶
Параметры запроса:¶
Name | In | Type | Description |
---|---|---|---|
domain_id | body | string | ID домена. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" http://controller:9362/v1/domains/$domain_id/actions/configure
Эта операция не имеет содержания ответа.
Получение информации из конфигурации о возможности отправки одноразовых паролей.
Запрос¶
Пример запроса:¶
curl -X GET -H "X-Auth-Token: $token" http://controller:9362/v1/domains/totp-allowed | python -m json.tool
Ответ¶
Параметры ответа:¶
Name | In | Type | Description |
---|---|---|---|
totp_allowed | body | bool | Возможность отправки одноразовых паролей. |
Пример результата в JSON формате:
{
"totp_allowed": "true"
}