Sergey
ps -efww | grep process-name
но нет. модуль pids не отдает ничего кроме pid
Есть причина: требует psutil. А этот зверь сам по себе ну такой... бинарный.
Результат: им мало кто пользуется. А раз нафиг никому не нужен, то и запросов на расширение функциональности нет.
Несмотря на это, сама зависимость, кстати, довольно интересная по возможностям: https://psutil.readthedocs.io/en/latest/
Timur
Timur
Aleksey
ну роли конечно
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 %} не?
inqfen
Александр
Есть на сервере файлы /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
но хотелось бы более правильный подход
Anonymous
Александр
Это решается таском выше. Если конфиг с таким IP существует - этот так выполняться не будет
Александр
Будет правиться существующий
Anonymous
эм.
Anonymous
имхо костыли. там темплейт должен быть. тупой и однозначный.
Tadeusz
Александр
Согласен. И для этого есть отдельная (однозначная) роль. Сейчас нужно костыльное решение. Нужно добавлять то чего нет, существующее не трогать.
Anonymous
Anonymous
IAC. роль должна однозначно приводить к треьуемому результату. если оно не может - значит там уже все плохо и роль не однозначна.
Владислав
Владислав
Anonymous
Anonymous
я незнаю условий которые привели к такому решению и потому что-то предложить не могу. отталкиваться нужно от того что нужно сделать и какие существуют ограничения
Anonymous
если просто раскидать произвольное количество адресов по интерфейсам это можно и простым шаблоном сделать
Sergey
#Rλatan
Кто то определяет список ролей для хоcта в host_vars
David
https://pastebin.com/UhYnRgev
Подскажите можно ли использовать словарь(vars: mysql) в таком виде? Подключая его через with_dict
Sergey
Mentat
Sergey
нет канеш
Sergey
Cломается к фигам ещё на этапе разбора YaML
Mentat
а, ну ладно, я просто выхватил ломающую мозг фразу из чата, думаю, может упустил чего
Sergey
Это чего, ты пасту глянь - точно мозг сломается.
Mentat
Я попытался, не в полпервого ночи такое парсить
Гайрат
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
Timur
Какие именно цифры интересуют? Изначальная формулировка не очень понятна
Lev
Timur
Так роли по-отдельности тестятся
Timur
А время по-разному в зависимости от роли
Timur
От 5 минут до часа и более
Vladimir
Всем привет. А есть какой хороший линтер для jinja2?
Aleksey
Vladimir
Ну я не в общем, я под тесты для ansible шаблонов
Lev
боюсь он не возможен в общем виде
а в частном? как правила линтинга писать там? а то получается что только проверяется наличие переменных которые из роли приезжают
Aleksey
а в частном он будет в лучшем случае кусок language server
Vadik
Всем привет, борюсь с одной проблемой под названием fingeprint
Суть такая есть три хоста на двух хостах сгенерировал ключи и добавил на третий теперь пытаюсь автоматически перекинуть файл с третьего хоста на остальные два с помощью scp , но проблема в том что я должен подтвердить fingeprint , scp - не умеет автоматически подтверждать fingeprint
Можете помочь хотяб идеей как это сделать ?
Jevgeni
Lamobot
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('; ') }}"
UglyKoyote
Tadeusz
#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 прогонов в день выходит.
#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"
}
],
....
}
ansible_facts:
packages:
PACKAGE:
- name:
version:
origin:
как можно сложить все в один списком без вложенных словарей?
Timur