probe service¶
Synopsis¶
Проверка наличия функционального домена в системе. Включение и выключение порций скриптов в составе конфигурационного юнита.
Usage¶
Вызов сервиса позволяет определить наличие функционального домена в системе. Нулевой код означет, что домен присутствует. Ненулевой код возврата означает, что домен отсутствует.
# ram probe proxywiz
При использовании python-интерфейса можно указать название конкретной порции для проверки:
>>> import ram
>>> ram.probe('proxywiz', using='phobos')
Interface¶
Для поддержки сервиса probe в юните необходимо добавить одноименный исполняемый скрипт probe в состав файлов юнита.
Отсутствие скрипта или успешное выполнение скрипта интерпретируются фреймворком как присутствие функционального домена в системе.
Неуспешное выполнение скрипта интерпретируется фреймворком как отсутствие функциональноого домена в системе.
Для каждой порции скриптов в составе конфигурационного юнита может быть определен свой скрипт probe.
Например, в состав конфигурационного юнита proxywiz добавлена порция скриптов для демона phobos.
Порция состоит из скриптов: probe, store, apply:
# ram which proxywiz
/opt/my-appliance/lib/ram/proxywiz/apply.phobos
/opt/my-appliance/lib/ram/proxywiz/about
/opt/my-appliance/lib/ram/proxywiz/param
/opt/my-appliance/lib/ram/proxywiz/store.phobos
/opt/my-appliance/lib/ram/proxywiz/input
/opt/my-appliance/lib/ram/proxywiz/query
/opt/my-appliance/lib/ram/proxywiz/store
/opt/my-appliance/lib/ram/proxywiz/probe.phobos
Так, при вызове сервиса store фреймворк будет последовательно вызывать скрипты store и store.phobos.
Однако, последний будет вызван, только если предварительный вызов скрипта probe.phobos завершится успешно.
# ram tweak trace on
# ram store proxywiz
: /opt/my-appliance/lib/ram/proxywiz/store = 0
: /opt/my-appliance/lib/ram/proxywiz/probe.phobos = 0
: /opt/my-appliance/lib/ram/proxywiz/store.phobos = 0
В случае неуспешного запуска скрипта probe.phobos, вызова соотвествующего скрипта store.phobos не произойдет.
При этом вызов команды ram store завершится успешно:
# ram tweak trace on
# ram store proxywiz
: /opt/my-appliance/lib/ram/proxywiz/store = 0
: /opt/my-appliance/lib/ram/proxywiz/probe.phobos = 1