Sergey
Aleksey
time find . -type f |xargs -n 1 -Ifile cat file | python -c 'import sys,yaml; print(yaml.load(sys.stdin)["some"])'
real 0m1.116s
user 0m1.277s
sys 0m0.115s
Aleksey
find . -type f | wc -l
266
Aleksey
так что питон тут не питон
Aleksey
готов умножить это время на 10. чтобы получить еще и запись
Aleksey
пошёл писать стратегию выпиливания спеки на yq
Sergey
Ну дальше зависит от твоей готовности докопаться или забить :-)))))
Sergey
Попробуй всё же принимать список на вход.
Sergey
Потому что циклы в Ansible - это не суперкары F1.
Aleksey
эк ты мягко...
Sergey
Ты сам вспомни, что те же таски с пакетным менеджером переделали на списки не просто так же.
Aleksey
как бы дешево проверить идею что это поможет ?
Sergey
Куда уж дешевле-то? Скопируй модуль рядом, назови его там какой-нить yedit2.
Aleksey
и перепиши
Sergey
Переписывание минимальное так-то.
Sergey
С помощью вот этого - https://docs.python.org/3.6/library/functions.html#isinstance - определяешь тип аргумента (строка или список).
Aleksey
Сереж, я понимаю что сделать :)
Sergey
нууууу :-)
Sergey
Тормоз я, ты же целый NOC написал, прошу извинить.
Aleksey
я ? это врятли. там без меня писателей хватает
Sergey
хм, обознатушки :-)
Aleksey
я там так.. помогатор
Aleksey
вообще в целом. разработка вместе с молекулой это конечно очень удобно. отрефачил рольку на yq. прогнал тесты и вуаля.
Aleksey
сильно меньше думать надо
Aleksey
вообще yq мило. их там два. https://github.com/mikefarah/yq вот этот удобный
Aleksey
переделал на батчинг. 200 файлов 0:00:02.871
Aleksey
Aleksey
супер улитки скорее
Sergey
Aleksey
две секунды?
Серёжа, я не понимаю чо надо сделать что бы положить мою библиотеку. в module_utils
Aleksey
ни это https://docs.ansible.com/ansible/devel/user_guide/playbooks_reuse_roles.html#embedding-modules-and-plugins-in-roles ни твоя статья ничего не говорят про это
Nurmukhammad
Nurmukhammad
Привет всем всех день победы
Aleksey
Aleksey
я честно говоря вообще не вижу нигде похожего подхода
Aleksey
как закинуть модуль в роль понятно. но зависимости модуля чот нет
Aleksey
ага https://docs.ansible.com/ansible/latest/dev_guide/developing_module_utilities.html
Aleksey
ага. оно тащит модуль. но только из него __init__.py и больше ничего
Sergey
https://docs.ansible.com/ansible/latest/user_guide/playbooks_best_practices.html#alternative-directory-layout
Sergey
вот тут структура проекта
Sergey
только у тебя, наверное, не модуль, а пакет, раз ты упомянул __init__.py
Aleksey
у меня ruamel в котором два десятка файлов
Aleksey
я посмотрел чего притаскивается на хост
Aleksey
из всего модуля только __init__.py
Aleksey
остальные файлы не алё
Sergey
Давай так - ты меня этой штукой заинтересовал, я посмотрю, но точно не сегодня.
Aleksey
пфф. не горит вовсе
Гайрат
Какой фильтр был для взятия элементов из списка в кавычки, а потом перечисления через разделитель?
Гайрат
mylist | map('quote') | join(', ') кажется оно
Гайрат
не оно
Aleksey
молекула в gitlab ci
Aleksey
кейс любая роль
Vitalii
Все роли тестите в проекте?
Aleksey
все мои да. у нас много народу. не могу за всех говорить
Aleksey
многие еще на 2.22 сидят
Aleksey
я свои роли перетащил на трешку и докер с системд
Aleksey
пока собирал плакал иногда. сейчас поставил на поток вполне доволен
Vitalii
То есть при коммите в бранч все роли тестятся?
Aleksey
у меня по репе не роль. по итогам теста тег на роль
Aleksey
монорепы нету
Vitalii
Я переживаю, что, будет долго прогонять все роли в проекте, но ещё мало представляю как их запускать, к примеру установку софта с внешних источников
Lev
Aleksey
от оного мне почти ничего не надо кроме в одной роли таймеров
Lev
Aleksey
релоад, релоадт. старт старутет. логи в журнале.
Aleksey
сервисы стартуют и выключаеются
Aleksey
но конфиг похож на тот что выше но у меня дебиан
Aleksey
и фром от него
Aleksey
я раскурил prepare.yaml для подготовки всякого после начальной сборки и не брезгую там никакими хаками
Aleksey
ведь задача просто сформировать нужные начальные условия
Aleksey
недавно начал использовать зависимости между ролями и писал тут скрипт в 2 строки который юзается
Lev
Aleksey