Vadik
Все привет
Такая история есть конфиг файл сети там их около 5
Как сделать с помощью playbook так чтобы дописывать он в конец файла добавлял новую сеть а не перезаписывал сам файл конфига
George
George
File.inreplace можно или file.append
George
Точно не помню
Vadik
Это такие модули или что
George
Ну, да
George
Посмотри описание внимательно в доке ансибла
George
Делов на 10 минут
George
Сорри, конкретнее не скажу, т.к.я не @tgadiev
George
И не претендую, чтобы быть богом ансибла
George
Просто хорошо гуглю и пользуюсь докой
Vadik
ок спасиб за это буду дальше просто не все модули использовал
Vladislav 👻
А никто не сталкивался jupyterhub? Как там настроить ipykernel и при этом сохранить идемпотентность?
Vladislav 👻
Если в кратце, надо вызвать питоновский модуль ipykernel с параметрами
Max
Sun
Парни, раскройте мне глаза, плз.
Если я использую copy или syncronize в main.yml роли, то файлы копируются из папки files и путь src: . означает её, или нет?
Sun
или надо / ставить и это будет "корень" для копирования?
В смысле files == /?
Ждун
. - текущая директория
Ждун
/ коренвая директория системы, где лежат системные директории /root, /dev, /usr, /opt etc
Sun
всё равно не очень понятно.
Когда выполняется роль, то её текущая папка — это папка роли или папка плейбука?
Sun
├── defaults
│   └── main.yml
├── files
│   ├── app
│   ├── contrib
│   ├── data
│   ├── db
│   ├── docker-compose.yml
│   ├── init-letsencrypt.sh
│   ├── main.yml
│   └── web
├── handlers
│   └── main.yml
├── meta
│   └── main.yml
├── tasks
│   └── main.yml
├── templates
│   └── main.yml
└── vars
└── main.yml
Вот мне надо отправить на хост содержимое папки files.
Как должен выглядеть src:?
Ждун
локальная или удаленная директория?
Ждун
пишите полный путь, если не знаете
Sun
src локальная
Sun
абсолютный путь — это какой-то неправильный вариант.
Sun
Потому что я без понятия какой там локальный абсолютный путь, потому что папка билда рандомно называется.
Oleksandr
Sun
ну, изъебнуться, конечно, можно. Но мы уходим от темы: что является текущей папкой для модуля copy?
Oleksandr
Oleksandr
Думаю дефолтный путь для сеанса ансибла
Sun
в общем, src:./ == roles/role_name/files
Ждун
имхо home дериктория пользователя, от которого запускается ansible
Dmitry
Ждун
это для dst
Timur
George
Sun
Alexander 🐕
Привет!
У меня есть вот такой вопрос
https://stackoverflow.com/questions/54986059/best-practice-how-to-make-a-ci-pipeline-fail-if-there-are-deprecation-warnings
На стэковерфлоу чот ваще нечего ловить - меня еще и заминусовали
В стоник такого не было!
Sergey
George
упырки. Они на SO токсичные
George
тупо минусуют
George
убюлдку
George
Alexander 🐕
Спасибо!
George
подскажи - желаемое поведение какое?
Alexander 🐕
Но раньше такого говна не наблюдалось - то ли я вопрос непонятным образом сформулировал, то ли мировое энсибл сообщество не оч
George
он должен валиться на первом депрекейшн или пробежать по всем и свалиться в конце?
George
George
как и на хабре
George
токсичная среда
Alexander 🐕
Alexander 🐕
Лишь бы он ломал CI pipeline любым способом
George
https://stackoverflow.com/questions/50031257/ansible-promoting-warnings-to-errors
George
лололо
Alexander 🐕
Да, я даже апвотил пару дней назад ответ на этот вопрос - но это не оно, к сожалению
George
https://stackoverflow.com/questions/44404442/test-ansible-playbooks-for-deprecated-syntax-against-a-specific-version
Alexander 🐕
А, нет, я апвотил вопрос, бггг
George
пиздос
George
они предлагаю пачтить ансибль
Alexander 🐕
Еееее отлично, это мне подходит!
Alexander 🐕
Кул, спасибо
Alexander 🐕
Поскольку пайплайн гоняется в докер контейнере, там я могу что угодно патчить, хоть мамку
George
https://github.com/ansible/ansible/issues/18559
George
сука. висит с 2016 года
George
https://github.com/OpenSourceZombie/ansible/commit/d9f7ae3cdc65c4d473e077baaf01bb56bd5abdde
George
похоже на то, что нужно нам
George
@demeliorator запатчишь?
Max
Max
Sergey
Еееее отлично, это мне подходит!
Смотри. Все deprecations выводятся вот этим модулем:
https://github.com/ansible/ansible/blob/devel/lib/ansible/utils/display.py#L212
Фактически твоя хотелка заключается в том, чтобы в этой функции аргумент removed всегда был True, тогда всё остальное будет работать вполне себе штатным образом.
Соответственно, можно либо написать плагин для Ansible, который будет делать monkey-patching модуля Display (какой-нибудь такой техникой: https://stackoverflow.com/questions/19545982/monkey-patching-a-class-in-another-module-in-python), либо тупо запатчить.
Timur
а если натравить ansible-lint?
Не поможет. Deprecation warnings на уровне модулей генерятся. Общего API для них нет. Если только на каждый deprecation warning свое правило писать
Timur
Сами редхатовцы говорят, что общее api для ворнингов не нужно. Если очень нужно все ворнинги собрать - делайте grep вывода типа
Timur
https://github.com/ansible/proposals/issues/32
Timur
there are much simpler solutions to deal with listing the deprecations for the changelog (i.e. grep) which, unlike the code, will deal with ALL of them, not just the ones in the branches of code hit.