169 похожих чатов

Всем привет. Подскажите, чего я не понимаю. Есть баш-скрипт, в который передаются

несколько параметров (переменных для ансибла). Внутри скрипта запускается команда ansible-playbook с запуском плейбука и передачей нескольких переменных, одна из этих переменных это название плейбука, который я включаю в процессе выполнения основного плейбука. Хочу сделать условие, если переменная с названием плейбука не определена, то includ'а быть не должно.

- name: Import playbook {{OU}}.yml
include: "{{OU}}".yml
when; OU is defined

Когда переменная опеределена, то плейбук включается и выполняется. Когда переменная пуста, то появляется ошибка, что плейбука не существует.
Какое условие должно привести к нормальной работе?

8 ответов

17 просмотров

Переменная OU используется в имени task, а имя вычисляется даже для пропущенных задач.

Александр-Волков Автор вопроса

поставил условие when: OU | length != 0, отработало

Александр Волков
поставил условие when: OU | length != 0, отработал...

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

Александр-Волков Автор вопроса
Mikhail
Похоже из bash в любом случае переменная передавал...

нет, я проверял, debug показывал что переменная не пустая, когда в баш передавалась переменная

Александр Волков
нет, я проверял, debug показывал что переменная не...

Это когда передавалась, там как я понял всё хорошо было.

Вообще это очень неприятно выглядящий паттерн с запутанными связями между уровнями. Когда из внешнего скрипта через переменную ansible задается task-list для инклюда...

Александр-Волков Автор вопроса
Mikhail
Вообще это очень неприятно выглядящий паттерн с за...

там сложная ситуация, для инженеров скрипт написан, надо было как-то выкручиваться)

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

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

читать файл максимально быстро? странный вопрос))
zamtmn
52
всем привет! углубившись в плюсы и начав изучать реверсинг понял, что без асм'а никуда со своими высокоабстрактными представлениями начал изучать механизмы асма, и не совсем п...
9
Привет. Сразу скажу, что на C/C++/Rust я не пишу, но тем не менее возникла потребность дебага C/C++/Rust кода. Суть: есть серверное приложение, которое периодически ведёт себ...
ninekeem 🐳
4
буквально один оставшийся вопрос при выполнении строчки mov eax, 5 операнд "5" будет присутствовать где-либо в памяти (любой), кроме как в памяти блока .code? подвопрос: как...
12
Всем ку. Подскажите, если задекларировал массив так: int arr[10] = {1, 2, 3, 4}, то в arr[4] будет мусор или нуль?
Sasha K
14
я не понимаю mov [r11+8],rcx и прочие. мы записываем значение из rcx, куда?
Bor
15
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
у меня такой вопрос про память в x86 возник, может кто пояснить?.. у процессора есть (как минимум) 3 типа адресов (названия "п1", "п2", "п3" --- мои, чтобы проще было дальше)...
Toideng
5
А какие расширения активно используются в промышленности? Именно идейные, по типу гадт, а не всякие оверлоадедстрингс
Степан
11
у процессора есть (как минимум) 3 типа адресов (названия "п1", "п2", "п3" --- мои, чтобы проще было дальше): - "п1" --- виртуальный адрес, то есть тот, который ресолвится в "п...
Toideng
3
Карта сайта