Система хуков
Хуки в ПК СВ являются программами, выполняемыми при изменении состояния ВМ или серверов виртуализации. Хуки могут выполняться как локально, так и удаленно в сервере виртуализации, где работает ВМ. Для настройки системы хуков необходимо установить следующие значения в конфигурационном файле /etc/one/oned.conf
:
executable
— путь исполняемого модуля драйвера хука, может быть абсолютным или относительным (относительно каталога /usr/lib/one/mads/);arguments
— конфигурационный файл для исполняемого модуля драйвера хука, может быть абсолютным или относительным (относительно каталога /etc/one/).
Пример:
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 предыдущее состояние ВМ.
Здесь можно ознакомиться с подробным описанием статусов и состояний ВМ.
remote
— удаленное выполнение. Возможные значения:YES
— хук выполняется на сервере виртуализации, где установлена ВМ;NO
— хук выполняется на сервере управления. Является значением по умолчанию.
Пример:
CODE
Хуки сервера виртуализации (HOST_HOOK)
Хуки сервера виртуализации определяются по следующим параметрами:
name
— имя хука;on
— условия выполнения хука:CREATE
— при создании сервера виртуализации (использование командыonehost create
);ERROR
— при нахождении сервера виртуализации в состоянии сбоя;DISABLE
— после отключения сервера виртуализации;
command
— путь может быть абсолютным или относительным (относительно каталога/usr/share/one/hooks
);arguments
— аргументы для хука. Можно использовать следующую информацию о сервере виртуализации:- $ID — идентификатор сервера виртуализации;
- $TEMPLATE — шаблон сервера виртуализации в формате xml с кодированием base64;
remote
— удаленное выполнение. Возможные значения:- YES — хук выполняется на сервере виртуализации;
- NO — хук выполняется на сервере управления. Является значением по умолчанию.