Vladislav 👻
Преврати в логическую переменную pushgateway_enabled: true
Egor
но нативно лучше тогда уж юзать True
Egor
ибо так в питоне оно выглядит
Sergei
сложна.
я видать что то не то делаю, сейчас так
vars:
pushgateway_enabled: "{{ lookup('env','PUSHGATEWAY_ENABLED')|lower }}"
Vladislav 👻
в конце | bool добавь
Vladislav 👻
превратишь в логическую
Sergei
а, понял, спасибо
Sergei
дык это, в when: .. == "true" поди надо будет ковычки убрать?
Egor
ну как бы да
Egor
тыж теперь не строку проверяешь
Sergei
да, спасибо, обнял
Timur
Egor
чисто формально, ансибл жрёт
create_key: yes
needs_agent: no
knows_oop: True
likes_emacs: TRUE
uses_cvs: false
Timur
Anonymous
Anonymous
Egor
а ты умеешь вырывать из контекста
Egor
не хочешь пойти в новостники, которые пишут
"найден способ похудеть, нужно всего лишь ..."
Sergei
Egor
:-)
Sergei
агонь, спасибо
Alex
Это в 2.8 такое появилось?
Timur
Alex
В 2.7 просто можно when: myvar
Alex
Не надо фильтр применять
Anonymous
https://docs.ansible.com/ansible-lint/rules/default_rules.html
Anonymous
E601
Anonymous
Alex
Да, помню про ворнинги, когда тестировал плейбуки на 2.8
Alex
Aleksey
В смысле?
вот так можно:
variable == true
но переменная 100% должна быть уже bool а не строкой
Timur
Egor
Timur
Это стилевая ошибка
Anonymous
Aleksey
Зря изначально вот эти yes/no вводили, так и потом получаются перлы типа
when: variable == yes
и вопросы почему не работает.
Aleksey
#ненадотак
так я твои же слова и пояснял )
Anonymous
просто when: variable
Anonymous
или when: not variable
Sergei
#красиводелай
Anonymous
Timur
Aleksey
просто when: variable
вот на такое как раз в 2.8 варнинги были, вот даже issues нашел - https://github.com/ansible/ansible/issues/53428
Anonymous
Timur
Проверьте сами
Aleksey
нет необходимости в bool
вот собственно прямо в варнинге и описание зачем bool в этом случае:
[DEPRECATION WARNING]: evaluating swap_lv as a bare variable, this behaviour will go away and you
might need to add |bool to the expression in the future. Also see CONDITIONAL_BARE_VARS
configuration toggle.. This feature will be removed in version 2.12
Anonymous
ну, так это просто левая строка
Anonymous
тут как бы само собой
Timur
Timur
И не будет ворнингов
Aleksey
а лучше оставить по дефолту и последовать рекомендациям )
Timur
Timur
Потому и ворнинги
Aleksey
ну так а со сравнением == true - никаких варнингов
Alex
В 2.12 вроде, а на дворе только 2.9
Aleksey
и ничего переключать не надо в конфиге
Anonymous
На пустой строке исключение валится
---
- name: test empty variables
hosts: localhost
connection: local
gather_facts: False
vars:
testvar1: ""
testvar2: {}
testvar3: []
tasks:
- debug: msg="var is true"
when: testvar1 or testvar2 or testvar3
Anonymous
PLAY [test empty variables] *****************************************************************************************************************************************************************************************************************
TASK [debug] ********************************************************************************************************************************************************************************************************************************
skipping: [localhost]
Anonymous
ansible --version
ansible 2.8.5
Anonymous
а до 2.12 еще дожить надо :)))
Anonymous
В смысле?
исправляюсь. да, лучше все же when: (testvar1|bool) or (testvar2|bool) or (testvar3|bool)
Nikita
Скажите, а как сохранять логи ансибла на ремут хосте? Не могу подходящий плагин найти
Nikita
То есть на каком хосте идёт плей там и сохранять
Nikita
Nikita
Nikita
Время деплоя вырастает
Anonymous
коллеги подскажите как красиво сделать, есть несколько ролей, в зависимости от дистрибутива путь до конфигов другой, хотелось бы задать переменную через set_facts но так чтобы работало во всех ролях что подключенны к плейбуку
Egor
Egor
хотите эдакий аналог case, который зависит от дистрибутива или что?