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