Sergey
ps -efww | grep process-name но нет. модуль pids не отдает ничего кроме pid
Есть причина: требует psutil. А этот зверь сам по себе ну такой... бинарный. Результат: им мало кто пользуется. А раз нафиг никому не нужен, то и запросов на расширение функциональности нет. Несмотря на это, сама зависимость, кстати, довольно интересная по возможностям: https://psutil.readthedocs.io/en/latest/
Aleksey
Да, юзаем активно
есть что почитать ?
Aleksey
ну роли конечно
Timur
ну роли конечно
Ну, гляньте наши роли из lean-delivery
Timur
Ссылки нужны?
Aleksey
ну если есть где интересные буду признателен.
Timur
Например: https://github.com/lean-delivery/ansible-role-mysql
Aleksey
интересная механика. видимо вместо pids пригодится https://github.com/ansible/ansible/pull/60372 и от него танцевать
Gleb
а как нормально в джиндже if сделать по переменной из словаря? или это вообще странно ?
ShadoWalkeR
{% if %} {% else %} {% endif %} не?
Александр
Есть на сервере файлы /etc/sysconfig/network-scripts/ifcfg-lo:N мне надо сделать проверку на наличие /etc/sysconfig/network-scripts/ifcfg-lo:0 /etc/sysconfig/network-scripts/ifcfg-lo:1 /etc/sysconfig/network-scripts/ifcfg-lo:2 ... И скажем если нету /etc/sysconfig/network-scripts/ifcfg-lo:3 (первый попавшийся), создать его и прекратить задачу (с перебором). Конечно можно сделать что-то типа: - shell: ls -1 /etc/sysconfig/network-scripts/ifcfg-lo:* register: ls - set_fact: file_name: ls.stdout_lines | last ... + 1 но хотелось бы более правильный подход
Александр
Это решается таском выше. Если конфиг с таким IP существует - этот так выполняться не будет
Александр
Будет правиться существующий
Anonymous
эм.
Anonymous
имхо костыли. там темплейт должен быть. тупой и однозначный.
Александр
Согласен. И для этого есть отдельная (однозначная) роль. Сейчас нужно костыльное решение. Нужно добавлять то чего нет, существующее не трогать.
Anonymous
IAC. роль должна однозначно приводить к треьуемому результату. если оно не может - значит там уже все плохо и роль не однозначна.
Anonymous
я незнаю условий которые привели к такому решению и потому что-то предложить не могу. отталкиваться нужно от того что нужно сделать и какие существуют ограничения
Anonymous
если просто раскидать произвольное количество адресов по интерфейсам это можно и простым шаблоном сделать
#Rλatan
Кто то определяет список ролей для хоcта в host_vars
David
https://pastebin.com/UhYnRgev Подскажите можно ли использовать словарь(vars: mysql) в таком виде? Подключая его через with_dict
Sergey
нет канеш
Sergey
Cломается к фигам ещё на этапе разбора YaML
Mentat
а, ну ладно, я просто выхватил ломающую мозг фразу из чата, думаю, может упустил чего
Sergey
Это чего, ты пасту глянь - точно мозг сломается.
Mentat
Я попытался, не в полпервого ночи такое парсить
David
У тебя элементы словаря сами на себя ссылаются? O_o
Нет, они ссылаются на отдельный файл с переменными. Вопрос был в другом, но ответ нагуглил уже.
Гайрат
У тебя элементы словаря сами на себя ссылаются? O_o
Похоже что где-то глобально path задан
Lev
намедни буду вещать на https://www.devconf.info/ и https://cfgmgmtcamp.eu/ghent2020/ . Как часть доработки рассказа добавил туда немного цифр, наверно про это будет отдельное выступление на девопсконфе осеннем или летнем. опишу хронологию * 2014-2017 кастомное решение, по факту 1 role и е2е тесты ~60 минут * 2018 начало года testkitchen 10 roles ~40 минут * 2018 где-то осенью testkitchen 13 roles юнит тесты и для пары интеграционные, ~70 минут стало * 2018 конец года molecule ~30 lint, ~7 test ~20-25 minutes * 2019 лето molecule ~45 lint, ~17 test ~28 minutes * 2019 осень molecule ~42 lint, ~15 test, 3 интеграционные ~28 minutes
Lev
Lev
Lev
Lev
Lev
Lev
Lev
Lev
А можно чуть больше деталей?
А вопрос чуть точнее? Деталей в каком направление?
Timur
Какие именно цифры интересуют? Изначальная формулировка не очень понятна
Lev
Timur
Так роли по-отдельности тестятся
Timur
А время по-разному в зависимости от роли
Timur
От 5 минут до часа и более
Vladimir
Всем привет. А есть какой хороший линтер для jinja2?
Aleksey
Всем привет. А есть какой хороший линтер для jinja2?
боюсь он не возможен в общем виде
Vladimir
Ну я не в общем, я под тесты для ansible шаблонов
Lev
боюсь он не возможен в общем виде
а в частном? как правила линтинга писать там? а то получается что только проверяется наличие переменных которые из роли приезжают
Aleksey
а в частном он будет в лучшем случае кусок language server
Vadik
Всем привет, борюсь с одной проблемой под названием fingeprint Суть такая есть три хоста на двух хостах сгенерировал ключи и добавил на третий теперь пытаюсь автоматически перекинуть файл с третьего хоста на остальные два с помощью scp , но проблема в том что я должен подтвердить fingeprint , scp - не умеет автоматически подтверждать fingeprint Можете помочь хотяб идеей как это сделать ?
Oleg
Комрадс, а есть какой ниб модуль (кроме command и shell), которым я бы мог выполнить вот такое: dd if=/dev/zero of=/home/public.fs bs=1M count=16000 status=none?
Tadeusz
сдается мне, что нет
Oleg
грусть
Viktor
Добрый день. Пытаюсь вытащить с aws rds имя только той реплики, в названии которой присутствует слово replica. Не подскажите как это можно сделать? Так не хочет работать: - debug: msg: "{{ test | json_query('instances[*].read_replica_db_instance_identifiers.contains(@, 'replica')') | join('; ') }}"
Tadeusz
raw?
та без разницы
#Rλatan
Как можно отфильтровать выхлоп https://docs.ansible.com/ansible/latest/modules/package_facts_module.html что бы получить список только тех пакетов которые origin == foo выхлоп похож на словарь со списками вперемешку { "acl": [ { "arch": "amd64", "category": "utils", "name": "acl", "origin": "Debian", "source": "apt", "version": "2.2.52-3+b1" } ], "adduser": [ { "arch": "all", "category": "admin", "name": "adduser", "origin": "Debian", "source": "apt", "version": "3.115" } ], "apache2": [ { "arch": "amd64", "category": "httpd", "name": "apache2", "origin": "Debian", "source": "apt", "version": "2.4.25-3+deb9u9" } ], .... }
V
Так роли по-отдельности тестятся
Расскажите как тестятся?
Timur
Расскажите как тестятся?
А что там рассказывать? Обычный тест молекулы. Создаются тестовые машинки в AWS или Azure, на них накатывается роль, проверяется идемпотентность, а потом тест верификации
Timur
Проще посмотреть код и вывод пайплайна
V
Как раз интересно проверка идемпотентности. Глазами или чем-то скриптовым?
#Rλatan
@enkaro ok - тесть прошел changed - тест не прошел если после N прогонок у вас все ok значит прошел проверку
#Rλatan
я сейчас вагрант замучал до смерти по 100-200 прогонов в день выходит.
Alex
Встроенный тест молекулы
глазами, ранает 2 раза, а потом смотрит что бы во второй раз changed не было