Хуки в ПК СВ являются программами, выполняемыми при изменении состояния ВМ или серверов виртуализации. Хуки могут выполняться как локально, так и удаленно в сервере виртуализации, где работает ВМ. Для настройки системы хуков необходимо установить следующие значения в конфигурационном файле /etc/one/oned.conf:
executable — путь исполняемого модуля драйвера хука, может быть абсолютным или относительным (относительно каталога /usr/lib/one/mads/);
arguments — конфигурационный файл для исполняемого модуля драйвера хука, может быть абсолютным или относительным (относительно каталога /etc/one/).
Пример:
HM_MAD = [
executable = "one_hm"
]
CODE
Хуки виртуальной машины (VM_HOOK)
Хуки ВМ определяются следующими параметрами:
name — имя хука;
on — условия выполнения хука:
CREATE — при создании ВМ;
PROLOG — при нахождении ВМ в состоянии PROLOG;
RUNNING — после успешной загрузки ВМ;
UNKNOWN — при нахождении ВМ в неизвестном состоянии;
SHUTDOWN — после отключения ВМ;
STOP — после остановки ВМ (включая передачу образов ВМ);
DONE — после удаления или отключения ВМ;
CUSTOM — определяемое пользователем конкретный статус STATE и комбинация состояний LCM_STATE для запуска хука;
command — путь может быть абсолютным или относительным (относительно каталога /usr/share/one/hooks);
arguments — аргументы для хука. Можно использовать следующую информацию о ВМ:
$ID — идентификатор ВМ;
$TEMPLATE — шаблон ВМ в формате XML с кодированием base64;
$PREV_STATE — предыдущий статус ВМ;
$PREV_LCM_STATE предыдущее состояние ВМ.
Здесь можно ознакомиться с подробным описанием статусов и состояний ВМ.