Вы хотите убить долгосрочную задачу в среде виртуализации RHEV / oVirt?
В oVirt / RHEV таск или задача – это операция, которая имеет состояние.
Если операция может начаться, обработать что-либо и завершить это таск.
В oVirt есть два основных типа операций:
- Синхронные операций – это не задача от движка. Возвращается сразу после запроса от Vdsm. Операция завершается неудачно, если произошел сбой до получения ответа.
- Асинхронные операции – Vdsm и механизм содержат состояния для этих операций. Состояния подразумевают, что операция должна пройти некоторые действия перед возвратом. Большинство из этих операций связаны с хранением. Движок должен соотноситься с идентификаторами и состояниями задачи Vdsm, чтобы различать результат путем опроса информации.
Вы можете проверить список запущенных в данный момент задач командой vdsm-client.
$ sudo vdsm-client Host getAllTasksInfo
{
"9022a6e0-06cf-4066-b9f7-cbe23ffe851e": {
"verb": "copyImage",
"id": "9022a6e0-06cf-4066-b9f7-cbe23ffe851e"
},
"954d8ea4-6ab6-4ec5-9d1a-3374ec106a8c": {
"verb": "prepareMerge",
"id": "954d8ea4-6ab6-4ec5-9d1a-3374ec106a8c"
},
"c3fb509c-0554-4f10-9f73-32d346ccf012": {
"verb": "copyImage",
"id": "c3fb509c-0554-4f10-9f73-32d346ccf012"
}
}
Как только вы получите идентификатор задачи, вы можете получить статус задачи с помощью команды:
$ sudo vdsm-client Task getStatus taskID=<TASKID>
Пример вывода:
$ sudo vdsm-client Task getStatus taskID=c3fb509c-0554-4f10-9f73-32d346ccf012
{
"message": "running job 1 of 1",
"code": 0,
"taskID": "c3fb509c-0554-4f10-9f73-32d346ccf012",
"taskResult": "",
"taskState": "running"
}
Чтобы убить задачу в oVirt / RHEV, используйте:
sudo vdsm-client Task stop taskID=<TaskID>
sudo vdsm-client Task clear taskID=<TaskID>
Убедитесь, что задача была убита / прекращена.
sudo vdsm-client Host getAllTasksInfo