Как отловить исключения для плагина поиска ANSIST с ключом, который не найден?

У меня есть следующий код

 app_key:   "{{ lookup('credstash', 'aws/project/'+app_name+'/'+app_env+'/app_key') | default('not-set') }}"

И я ожидал, что смогу установить значение по умолчанию на основе сбоя поиска с не найденным ключом, а затем сгенерировать и сохранить ключ позже в моей книге воспроизведения.

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

(см. код credstash: код подключаемого модуля credstash можно найти здесь https://github.com/ansible/ansible/blob/ec701c4b82e570371af7c3999ffb587d870a5b37/lib/ansible/plugins/lookup/credstash.py).

Какие у меня варианты?

1 ответ

Какие у меня варианты?

Например (я не знаю, какую задачу вы определяете app_key в, поэтому я использую set_fact во втором задании ниже):

- set_fact:
    app_key_candidate: "{{ lookup('credstash', 'aws/project/'+app_name+'/'+app_env+'/app_key')"
  ignore_errors: true

- set_fact:
    app_key: "{{ app_key_candidate | default('not-set') }}" 
Другие вопросы по тегам