Павел П.
Добрый день, по синтаксису вопрос. таска для всех линуксов кроме дебиана 8 when: ansible_distribution <> 'Debian' and ansible_distribution_major_version <> "8" ?
Павел П.
или вместо <> нужно что-то другое?
Павел П.
!= 😋
Oleg
Товарищи, нахожу в каталоге файлы по маске, делаю register: find_result, потом хочу со всеми найденными файлами проделать определенные действия делая with_items: - "{{ find_result.files.path | basename }}" но ругается ансибл, когда делал find_result.files[0].path | basename, то только с 1 файлом удалось что то сделать. Как ансиблу указать на все найденные и отсортировнные файлы?
Oleg
может как ниб find_result.files[0-10].path, но вдруг файлов будет больше 10, например
Anton
1. узнать сколько файлов у тебя в переменной по количеству. 2. подставить количество
Anton
3. Может быть есть какойто индекс, тут более опытные подскажут.
Eugene
а попробуй find_result.files[*].path
Anton
так ты его каждый раз и считай.
Anton
register: find_result - будет у тебя массивом, с количество элементов найденных на прошом шаге. измеряешь его, используешь размер в переменной.
Oleg
так ты его каждый раз и считай.
а не подскажешь как замерить? может под рукой есть код
Anton
а не подскажешь как замерить? может под рукой есть код
https://superuser.com/questions/1370088/how-to-count-the-number-of-elements-in-an-array-in-ansible
Oleg
Луп по файлам найденным нужно сделать?
файлы уже найдены (имена файлов), нужно с ними со всеми проделать работы. вот вопрос в том, как указать что бы все файлы? find_result.files.path | basename - так не работает(
Eugene
- file: path: "{{ item.path }}" with_items: "{{ find_result.files }}"
Eugene
может такой вариант
Oleg
find_result.files[*].path | basename - тоже не видет файлы
Eugene
- file: path: "{{ item.path | basename }}" with_items: "{{ find_result.files }}"
Timur
- name: Loop through files found debug: msg: '{{ item.path | basename }}' loop: '{{ find_result.files }}'
Eugene
да, а когда with_items деприкейтнут?
Eugene
в какой версии?
Eugene
понял
Anton
а что на замену предлагают? loop?
Timur
Да
Anton
а, нашел - https://docs.ansible.com/ansible/latest/user_guide/playbooks_loops.html#migrating-from-with-x-to-loop
Timur
- file: path: "{{ item.path | basename }}" with_items: "{{ find_result.files }}"
И да - двойные кавычки лучше не использовать без необходимости
inqfen
куда-то во внешнее место
inqfen
а то сертификаты поменял
inqfen
и пойдешь во всех ролях/плейбуках менять?
Konstantin
И да - двойные кавычки лучше не использовать без необходимости
то есть одинарные обязаловка или это просто предпочтение?
Eugene
то есть одинарные обязаловка или это просто предпочтение?
https://docs.ansible.com/ansible/latest/reference_appendices/YAMLSyntax.html#gotchas
Eugene
сам, если честно, не особо внимание обращал на кавычки
кря
а не проще наэмулировать нагрузку?
simplemice.eth
это чо за спам такой
Artem
Вопрос в том что она не даст реальных результатов, ну и возможность отловить реальных ошибок, если таковы будут.
Oleksandr
албанский вирус )
Artem
Проверка микросервиса
Artem
бота
Artem
под facebook
Artem
спасибо
Sergey
Какое отношение это имеет к Ansible?
Artem
Кроме того что плодиться с помощью Ansible не какого. По правде говоря.
Sergey
Тогда предлагаю самостоятельно удалить.
Sergey
Это честно. Мы все ошибаемся.
Artem
Сообщение
Artem
ок
Sergey
Спасибо!
Artem
нз
Artem
простите
Artem
если что
Max
а ИЛИ ?)
любое булианское выражение можно преобразвать по закону ... де Моргана, если мой склероз мне не изменяет (20 лет назад проходили...)
Max
школота :))))
Timur
Потому что на чтении потом мозг сломать можно
Max
да, иногда :)
Timur
По поводу кавычек
Timur
YAML Style When using the YAML syntax for tasks, the rules are well-defined by the YAML standard: When using a normal string (without quotes), YAML will not consider the backslash an escape character. When using single quotes ', YAML will not consider the backslash an escape character. When using double quotes ", the backslash is considered an escape character and needs to escaped with another backslash.
Max
По поводу кавычек
it is known, Khalisee.
Timur
You should only quote strings when it is absolutely necessary or required by YAML, and then use single quotes.
Timur
А вот это?
Max
угу. но стринги в ансиблях еще и шаблоны jinja...
Max
а там своя свистоплЯска с escapes
Timur
а ИЛИ ?)
Мы разбиваем как строку. Типа: when: | A or B or C
Timur
угу. но стринги в ансиблях еще и шаблоны jinja...
jinja по возможности в тасках лучше не использовать
Max
jinja по возможности в тасках лучше не использовать
когда ты используешь конструкции переменных, а ля '{{ myvar }}' это ужо жинжа ....
Max
да но да.
Timur
Собственно, и по причине jinja тоже двойных кавычек лучше избегать по возможности