Проблема

Некоторые индикаторы (в нашем случае - для бэкапов) созданы с политикой по умолчанию (Default). Но для них нужна особенная политика, и мы не хотим менять политику Default.


Решение

Создадим новую политику и через API установим ее для всех нужных индикаторов


Реализация

1. Создаем политику с именем backup в настройках проекта, устанавливаем в ней нужные нам параметры. (в нашем случае, мы выставили patience в 2 часа (с запасом), так как бэкапы иногда очень долго создаются) 


2. Настраиваем окружение для работы с API


$ export OKERR_API_USER=me@example.com
$ export OKERR_API_PASS="my_pass"


3. Получаем список индикаторов в файл

В нашем случае, все нужные индикаторы имеют слово backup в названии, так что grep помогает отфильтровать их. Но некоторые индикаторы с этим словом нам не нужны (например, они про хост с именем backup).

$ okerrclient --textid mytextid --api-indicators|grep backup > /tmp/indicators.txt


4. Редактируем этот файл, удаляем ненужные индикаторы оттуда

(okerr)xenon@braconnier:~/repo/okerr/okerr$ vim /tmp/indicators.txt 


5. Меняем через API один индикатор для проверки

$ okerrclient --textid mytextid --name asterix:virtualbackup:magento-vzdump-openvz-104-DATE.tgz --api-set policy=backup
Changed asterix:virtualbackup:magento-vzdump-openvz-104-DATE.tgz {'policy': u'backup'}


И убеждаемся (из браузера) что изменения применились.


6. Массово меняем все индикаторы


$ for i in `cat /tmp/indicators.txt`
> do
>   okerrclient --textid mytextid --name $i --api-set policy=backup
> done
Changed asterix:backup:asterix-all-mysql-databases.DATE.sql.gz {'policy': u'backup'}
Changed asterix:backup:asterix-etc.DATE.master.tar.gz {'policy': u'backup'}
Changed asterix:backup:asterix-home.DATE.master.tar.gz {'policy': u'backup'}
....


И убеждаемся, что изменения применились. Готово!