Здравствуйте! Можно ли в анзибл с помощью фильтров, без if

и тому подобного проверить, что если переменная содержит в себе число, и оно больше определенного значения, то присваивать своё значение?

18 ответов

20 просмотров

Можно через ternary по идее

Elina-Linko Автор вопроса
Elina-Linko Автор вопроса

Получилось красивое {{ ((ansible_processor_vcpus - 2) | int > 8) | ternary('8', (ansible_processor_vcpus - 2 | int)) }} Я не стала добавлять проверку на уход в минус, там это не надо ) Главное, суть ясна.

Но ведь там 3е не про минус, а null

Elina-Linko Автор вопроса
azadevlab
Но ведь там 3е не про минус, а null

Я эту штуку запихала в инвентри. Если вывалится из-за этого - то инвентри очень легко поправить.

Elina Linko
Получилось красивое {{ ((ansible_processor_vcpus -...

Я вот так сделал: nginx_max_worker_processes: 4 nginx_worker_processes: "{{ ([ansible_processor_vcpus | default(ansible_processor_count) | int] + [nginx_max_worker_processes | int]) | min }}"

Elina-Linko Автор вопроса
Vladislav 👻 Shishkov
Я вот так сделал: nginx_max_worker_processes: 4 n...

Мне надо чтобы число было всегда меньше на 2 от количества ядер. Но при этом не больше 8.

Elina-Linko Автор вопроса
Timur Gadiev
А если ядро всего одно?

Можно было добавить ещё одну проверку дальше, но я не стала это делать. У нас минимум 4 ядра, а строчка получается слишком длинная с такой проверкой.

Elina Linko
Мне надо чтобы число было всегда меньше на 2 от ко...

- set_fact: foobar: >- {% set a = (ansible_processor_vcpus - 2) %} {% if a > 8 %} {% set needed_num = 8 %} {% else %} {% set needed_num = a %} {% endif %} {{ needed_num}} а если так?

Elina-Linko Автор вопроса
Bodya Lvrk
- set_fact: foobar: >- {% set a = (ansible_pro...

В моей изначальном условии было без if

Elina-Linko Автор вопроса
Bodya Lvrk
- set_fact: foobar: >- {% set a = (ansible_pro...

Но решение интересно. Я хотела тоже всё делать через таски, но опять таки, лишний таск... Запомню. Пригодиться когда-нибудь.

Elina Linko
В моей изначальном условии было без if

сделать что-то с условием без if... ох и задача) when тоже не подходит, как я понимаю?)

Elina-Linko Автор вопроса
Bodya Lvrk
сделать что-то с условием без if... ох и задача) ...

Через ternary всё отлично получилось уже )

Elina Linko
Через ternary всё отлично получилось уже )

заодно и себе пирглядел на будущее, впервые слышу об этом операторе

Elina-Linko Автор вопроса
Bodya Lvrk
заодно и себе пирглядел на будущее, впервые слышу ...

Он вообще шикарен, я просто сама про него забыла )

Bodya Lvrk
- set_fact: foobar: >- {% set a = (ansible_pro...

так вы ничего не поменяли, как была проблема одного ядра, так и осталась...

Bodya Lvrk
- set_fact: foobar: >- {% set a = (ansible_pro...

Крайне рекомендую ихбегать сетфактов, слишком сильная переменная которая внутри тасок

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

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

if (user?.choseType === 'oneDay') { await ctx.reply( 'Добро пожаловать в команду «Магнита»! Правда, на один день ☺️ ', ); await ctx.s...
Kokni
1
Читаю сейчас [нет, уже больше не читаю!] курсовую о Булгакове, написанную, похоже, с помощью ChatGPT. Это удивительный психоделический опыт. Текст в основном написан в стиле б...
✨ Uni [🌊 В отпуске]
1
Это фейк @cruppto_newbot?
Antskup
13
всем салют сегодня утро заметил что бот не может отправлять фотки по url. ручками в браузере ссылка норм открывает фотки. падает ошибка 'Bad Request: failed to send message ...
Vasya Ivanov
9
ребят, привет. за какое время бот полученную заявку на вступление в группу может принять \отклонить? Помню речь была про 5 минут, сейчас как?
Роман Ромашин :)
10
Доброго времени суток. Правильно ли я понимаю, что с введением новой платежной единицы stars, я просто могу оставить текущую платёжку от Юкассы, которая выполняется на сайте с...
Prokhor Chulkov
7
Добрый день! Не подскажете как к модели Категории Шопоголика добавить отношение Тейлора. Пробовал по документации, но не получается. Мб уже кто-то делал?
Николай Афанасенко
6
вопрос: кто как решает вопрос с динамической подгрузкой скриптов для отдельных страниц с включенным turbo router?
Sergei Toroptsev
25
@veranikaEU получилось? Можно увидеть рабочий код?
Alex Kom
8
Добрый день! На Odoo 16.0 через 1-2 дня перестают работать кроны. В логах одна только ошибка на момент, когда сработал последний крон. Может кто-то уже с этим разбирался?
Denis Валенчиц
3
Карта сайта