Коллеги, кто-нибудь записывал тест в переменную ансибла? например: when: - variable

is defined and variable

Сама variable cодtржит что-то типо item.config.some_var|bool, то есть надо не просто проверить переменную variable, а извлечь ее значение и выполнить с ним тест

12 ответов

12 просмотров

assert

легко, но не забудь, что если переменная = '', т.е задана как item.config.some_var: без значения, то она равна None и надо писать - variable is defined and variable !=None

Viktor
можно пример легкости?

для этого надо знать что именно и для чего вы это делаете, возможно значение этой переменной можно сразу через |default или ternary сразу запихнуть

დეტექტივი კატა 🐈‍🔎 🕵️ (detektyw kotek)
легко, но не забудь, что если переменная = '', т....

Равна None и при этом проверка на неравенство? Вообще то переменная будет defined и будет равна именно ''

Viktor- Автор вопроса
დეტექტივი კატა 🐈‍🔎 🕵️ (detektyw kotek)
для этого надо знать что именно и для чего вы это ...

Несколько тестов в when к этой таске, но если задана эта переменная тогда толко 2, тест из переменной и ещё 1

Viktor- Автор вопроса

Апну вопрос, может знает кто-то

Ну наверное ток через set_fact и jinja

Viktor
Апну вопрос, может знает кто-то

как то так ток логику свою опишите - name: set_fact: service_list_of_dict: | {% set res = [] -%} {% for key,value in service_files.items() -%} {% set ignored = res.extend([{'service':key, 'run_command':value|join(' '),'version':service_custom_version.get(key) }]) -%} {%- endfor %} {{ res }} run_once: True но наверное это изврат страшный;)

Viktor
Апну вопрос, может знает кто-то

Вам вроде написали, что да, when может вычислить переменную перед выполнением, что-то вроде такой логики, к примеру: - name: Set fact for IPv4 argument set_fact: addr_family_arg: "AAAA" when: item.mgmt_ip | ipv4

Viktor- Автор вопроса
Damir
Вам вроде написали, что да, when может вычислить п...

Нет, это не о том, вариан выше подойдёт, но лучше отдельные таски сделаю

Viktor
Нет, это не о том, вариан выше подойдёт, но лучше ...

Там все верно и посоветовали, отдельные таски это bp, в моем примере это тоже часть общей логики, где mgmt_ip создается и проверяется перед set_fact, а после принимается уже принимается решение что делать дальше

Похожие вопросы

Обсуждают сегодня

Всем привет. Подскажите, почему не меняется значение поля при переключении сайта?
Alexander Peterikov
11
Можно ли загрузить скрипт py в бота чтобы он работал по нему? как это сделать?
huskadam #RCC Фанат? @hitlerpvp
13
'frakturBold' => ['𝖆', '𝖇', '𝖈', '𝖉', '𝖊', '𝖋', '𝖌', '𝖍', '𝖎', '𝖏', '𝖐', '𝖑', '𝖒', '𝖓', '𝖔', '𝖕', '𝖖', '𝖗', '𝖘', '𝖙', '𝖚', '𝖛', '𝖜', '𝖝', '𝖞', '𝖟', '𝕬', '𝕭', '𝕮', '𝕯'...
Roma
4
Добрый день, не подскажите, если в OC-V3 поменять страндартную директорию /storage/ на /storage2/ - не будет сильно много проблем ?
Max Dubovsky
32
Приветствую друзья, подскажите сколько в среднем стоит на данный момент создать тг бота который будет как магазин? Показывать ассортименты доставлять заказы и тд? Все по станд...
Eugene
3
Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
А вот из практических задач на работе, кто работает расскажите относительно задач на работе, как вообще выживаете. Если есть желание, интересно тоже что и как сейчас с этим . ...
...
2
Привет. На сайте с видео установлена защита, не позволяющая скачивать видео, делать скриншоты и скринкасты, но это работает только с пк и устройств эпл. С андроида работают ск...
Lencore
1
Добрый день! Кто-нибудь знает как подключить твиг в контроллеры плагина?
Николай Афанасенко
5
@dblackCat Привет. Это же твой плагин? https://octobercms.com/plugin/catdesign-productbundle
Alexey Yakimov
5
Карта сайта