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

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

18 ответов

13 просмотров

Можно через 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...

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

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

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

Я колись ставив гуглу антиспам 3.0, може і норм, але мені не дуже зайшло. Теж думав тиждень, що його і куди. Зупинився на трех варіантах відразу всі три і включив 1. Перевір...
𝓔𝓾𝓰𝓮𝓷𝓮𝓥 J
2
Портфолио: Зовут меня Александр, мне 36 лет. Город Пушкино. Общий рабочий стаж: ~14 лет Уровень квалификации: Senior Full-stack developer Где прочесть мой код? https://github....
Magic
10
Портфолио: Зовут меня Александр, мне 41 год. Город Киров. Общий рабочий стаж: ~14 лет Уровень квалификации: Senior Full-stack developer Где прочесть мой код? https://github.co...
Magic
11
Приветствую всех, возникла проблема, до этого писал бота в простом формате где при выполнении условий приходило через send_message информация, сейчас решил добавить хендлер на...
Andrew
4
где собака, админ группы? нычкуется и боится проявить волю, в толерантность еще не наигрался? @yelizariev
Ognezar
61
Приветствую всех, есть вопросик. Передали проект на OctoberCms, без инсталяшки в полуразвернутом виде, нужно было залить бекап бд, после залития бд, оказалось, что части строк...
Лео
14
Можешь посмотреть где именно вылетает floodwait чаще всего? Просто при 1 входящем, 1 исходящем не должно быть проблем
Артем Уколов
1
Всем привет, может уже кто-то пытался выдернуть из api информацию о дате рождения пользователя Есть ли вообще такая возможность?
Artem Stormageddon
2
Ребят, привет. У кого-то есть опыт заказа мерча в сторе? Есть успешные кейсы? Чёт у меня турецкую карту не принимает
Vladimir F.
7
Можно ли отследить отправление местоположения именно по кнопке, чтобы 100% отправлялось текущее, а не любое выбранное?
Lencore
2
Карта сайта