inqfen
Роли вызываются плейбукой. Версии должны быть там же
apt install ansible вызывается из баша, версии зависимых пакетов должны оттуда же вызываться?
George
давай не теоретизировать - а ты пояснишь КОНКРЕТНЫЙ кейс зачем роль должна вызывать роль
Timur
apt install ansible вызывается из баша, версии зависимых пакетов должны оттуда же вызываться?
Версии пакетов берутся из репозитория, а не из самого пакета
inqfen
Версии пакетов берутся из репозитория, а не из самого пакета
вообще-то в самом пакете как раз таки написано какие пакеты и каких версий ему нужны
inqfen
давай не теоретизировать - а ты пояснишь КОНКРЕТНЫЙ кейс зачем роль должна вызывать роль
есть роль бутстрапа машины, которая предполагает, что на ней есть определенный пип и докер например, соответственно есть роли установки пипа и докера от которых она зависит
George
роль бутстрапа? сериозли? А почему это не плейбук?
George
в смысле - пакет, но не тот и по сравнению с аптовскими пакетами - роль - это недопакет
inqfen
роль бутстрапа? сериозли? А почему это не плейбук?
потому что плейбук - это содержит в себе роль бутстрапа, установки логгера, установки еще чего-то
inqfen
А это роль общая для всего
Alexander
Коллеги, а vault к каждому файлу добавляет что-то, чтобы в зашифрованном виде не сходились одинаковые файлы?
inqfen
Версии пакетов берутся из репозитория, а не из самого пакета
вот тебе цитата из пакета, старый правда, но какой под руку попался Package: ansible Version: 2.2.1.0-2+deb9u1 Architecture: all Maintainer: Harlan Lieberman-Berg <hlieberman@debian.org> Installed-Size: 12497 Depends: python-crypto (>= 2.6), python-jinja2, python-paramiko, python-pkg-resources, python-yaml, python:any (<< 2.8), python:any (>= 2.7.5-5~), python-httplib2, python-netaddr
George
мы все знаем, что такое rpm и deb
inqfen
и что?
отвечаю на то, что версии берутся из репозитория
inqfen
Нужные версии как раз таки именно в пакете прописаны
Timur
Короче
Timur
Как я вижу решение задачи
George
отвечаю на то, что версии берутся из репозитория
ну это кусок манифеста, ога. Но ты сравниваешь нормальную (относительно) пакетную систему и requirements, сделанные тяпляп по типу питоновских
inqfen
Ну в общем да, далеко ушли
inqfen
Есть данность - роль и у нее зависимости, определенных версий
Timur
Есть отдельные репы с ролями и их версиями. Зависимости, если есть, прописываются в ридми, но лучше их избегать на этом уровне. Dependency из мета не использовать
inqfen
С dependencies все хорошо, но при старте роли они всегда запускаются перед ней и нельзя ли сделать это в произвальном месте?
Timur
И есть отдельная репа с плейбуками и requirements
Timur
Где поддерживаются актуальные списки зависимостей для каждой плейбуки
inqfen
И есть отдельная репа с плейбуками и requirements
Это много отдельных реп, соответственно много кописпасты
inqfen
И шанса, что где-то что-то не поменяли
Timur
Это много отдельных реп, соответственно много кописпасты
В смысле? Роли же по-любому в отдельных репах
Timur
А плейбуки и requirements как раз в одной
Timur
Менять нужно только requirements в одной конкретной репе
inqfen
Плейбуки могут быть специфичны для каждого проекта
inqfen
А проектов много
inqfen
И у каждого своя группа в гитлабе, свои плейбуки и так далее
inqfen
>А плейбуки и requirements как раз в одной в десятках
Timur
И у каждого своя группа в гитлабе, свои плейбуки и так далее
Ну, тогда о чем разговор? Каждый владелец репы тогда сам поддерживает актуальность своих плейбук и requirements
Timur
Вам-то что?
inqfen
Я про что и говорю - если обновилась одна роль - надо менять не 1 зависимость, а 3, хотя 2 из них зависимости первой
Timur
Последние версии ролей не совместимы друг с другом?
inqfen
Последние версии ролей не совместимы друг с другом?
непоследняя может быть неовместима с последней например
George
.
вернись к гитовским субмодулям
Timur
Старайтесь выдерживать обратную совместимость
Timur
Вы обновили свою роль и сломали совместимость со всеми актуальными версиями?
inqfen
потому что если у меня есть роль 1.1.1 например, а последня 2.1.1 - по каким-то причинам возможно 2.1.1 на данный момент не подойдет
inqfen
и кто-то да, обновил роль, сломал совместимость, нормально проверсионировал (повышением первой цифры)
inqfen
а у меня берется всегда последняя
Timur
и кто-то да, обновил роль, сломал совместимость, нормально проверсионировал (повышением первой цифры)
Ну и? Если не менялись плейбуки с зависимостями - ничего страшного не случится
inqfen
У вас самих-то вполне на ga,axy роли по семверу
inqfen
Ну и? Если не менялись плейбуки с зависимостями - ничего страшного не случится
при повторном запуске все сломается, тут же предлагается всегда последнюю юзать
Timur
И я не вижу каких-то особенных проблем с отслеживанием версий
Timur
при повторном запуске все сломается, тут же предлагается всегда последнюю юзать
Ну, тогда пропишете жестко версию для плейбука. В чем проблема-то?
inqfen
Ну в общем я вижу разных подход
inqfen
У вас - что зависимостей не должно быть
inqfen
У меня - что таки должны
Timur
Я пытаюсь донести мысль, что роли и плейбуки - это разные сущности
inqfen
Надо mazer попробовать, это он вроде разрешает
George
при повторном запуске все сломается, тут же предлагается всегда последнюю юзать
даже в cloud-alchemy были ломающие изменения между версиями ролей....
inqfen
роль и ее зависимости - коллекция
Timur
И зависимостями нужно рулить на уровне плейбук
inqfen
даже в cloud-alchemy были ломающие изменения между версиями ролей....
Да, поэтому они у меня всегда зафиксированы
Timur
Кто владеет репой с плейбукой, тот и отлеживает зависимости используемых им ролей
Timur
Все просто
Timur
Владельца роли это волновать не должно
Timur
Тем более, что владельцы ролей могут быть совершенно разные и никак не знать друг о друге
inqfen
Кто владеет репой с плейбукой, тот и отлеживает зависимости используемых им ролей
Ну вот и получается неудобство, что он берет одну роль - та внутри вызывает еще какую-то, соответственно ему нужно расковыривать что и как вызывает роль, которую он взял