Если при создании ВМ в шаблоне для развертывания был указан не кластер, а конкретный сервер виртуализации и установлен параметр SCHED_REQUIREMENTS, то созданная ВМ не будет мигрировать при использовании функции Запланировать повторно. Что, в свою очередь, приведет к некорректной работе таких механизмов "Высокой доступности", как Мигрировать все ВМ с хоста при переводе его в статус 'Отключен' и "Автоматическая миграция`.

В этом случае миграция не происходит, а в журналах логирования появляются следующие сообщения:

  1. В логе /var/log/one/oned.log:
    Tue Dec 19 11:59:38 2023 [Z0][ReM][D]: Req:6320 UID:0 IP:127.0.0.1 one.vm.update invoked , 62, "SCHED_MESSAGE = "Tue...", 1
    Tue Dec 19 11:59:38 2023 [Z0][ReM][E]: Req:6320 UID:0 one.vm.update result FAILURE [one.vm.update] Cannot update template.
    Parse error: syntax error, unexpected $end, expecting EQUAL or EQUAL_EMPTY at line 1313427496, columns 169:170
    CODE
  2. В логе /var/log/one/sched.log
    Tue Dec 19 13:03:05 2023 [Z0][SCHED][D]: Match-making results for VM 62:
        Cannot schedule VM, there is no suitable host.
    CODE

Для устранения проблемы необходимо удалить параметр SCHED_REQUIREMENTS из шаблона ВМ:

  • для удаления данного параметра из шаблонов всех ВМ, необходимо выполнить команду:
    onedb change-body vm '/VM/USER_TEMPLATE/SCHED_REQUIREMENTS' --delete
  • для удаления параметра SCHED_REQUIREMENTS из шаблона конкретной ВМ необходимо добавить параметр --id, с указанием идентификатора данной ВМ:
    onedb change-body vm --id 102 '/VM/USER_TEMPLATE/SCHED_REQUIREMENTS' --delete