Ievgen
)
Ievgen
просто когда закапывались, awx помоему только появился
bebebe
тогда не плодите сучностей, посмотрите в сторону awx
Ievgen
так и будет
Ievgen
видимо
bebebe
а куда копать, соориентируй пожалуйста)
нужно в template подставлят не hostvars[m] - что является dict из всех возможных свойств хоста m нужно подставлять hostvars[m].inventory_hostname или где у вас там ойпишник сидит
Maksim
Jenkins
Womchik
bebebe похоже, что ipv4[0] - это "фича" для macos
Ievgen
ну собственно как я уже говорил выше. большой боли я с ним не испытываю, не все конфигурится из коробки через HTTP, надо уметь найти и полезть поправить конфиги если что, а так вполне себе рабочая лошадь. tool agnostic, хочешь ансибл прикручивай хочешь шелл скрипты, хочешь что угодно
Ievgen
плагины есть, формы с параметрами есть, rest есть описание api на сайте, можно ~грабить корованы~
Ievgen
под капотом жаба
bebebe
Вам в @devops_ru
bebebe
bebebe похоже, что ipv4[0] - это "фича" для macos
а вы откуда факты собирали с macos или с linux машины? попробовали собрать факты об osx с машины на linux?
bebebe
по идеи это баг.
bebebe
Попробую не забыть завтра проверить 4 варианта
я "лайтово" гуглил, ничего такого не нашел...
Sergey
Есть. Разрабы люто довольны.
Sergey
С октября полёт нормальный.
bebebe
С октября полёт нормальный.
но октябрь ведь только через 25 дней??/
Sergey
Ну с прошлого так-то
bebebe
😉
Sergey
😉
редкий случай - так толсто, что аж тонко 😊
Vadim
С октября полёт нормальный.
интересно. А сколько примерно билдов\запусков в день?
Sergey
интересно. А сколько примерно билдов\запусков в день?
Сами билды у меня были на дженкинсе, а запуски ансибла - именно из рандека. По-разному бывает, может до десяти доходить, а бвыает, что и пару дней никто ничего не релизит. Мозг эта штука не ест вообще, ибо джава. Полиси настраиваются в YaML, им же можно вгрузить джобы и выгрузить, ну и REST API. Авторизация - через LDAP, с поддержкой групп. В общем, этот кусок стека причинял хлопот меньше всего.
Vadim
Ясно, спасибо
Sergey
Ну и до кучи есть плагин чудесный - с ним рандек внезапно начинает уметь в ансибловый инвентори (https://github.com/Batix/rundeck-ansible-plugin), читать факты с хостов и гонять на них баш-команды, модули с параметрами, а также плейбуки целиком.
Alexander
{% for host in host_group %} как здесь порядковый номер итерации вывести? {% endfor %}
Alexander
loop.index?
Sergey
http://jinja.pocoo.org/docs/2.10/templates/#for
Sergey
да, loop.index
Alexander
tyvm
Nikolai
только там с loop.index0 начинается
Dmitry
Ломаю голову над тем, как намутить правильный git flow с репозиторием, когда в инвентаре несколько сред
Dmitry
Если есть кто не спит, подкиньте пару вводных мыслей
Dmitry
Dmitry
роли нормально под git flow подходят, но как быть с инвентарем, групповыми переменными и прочими вещами
Gleb
а в чем проблема то?
Dmitry
а в чем проблема то?
Что происходит с тем, что находится в environment? оно перетаскивается по всем средам?
Dmitry
тогда зачем нам держать dev в ветке stg?
Gleb
все равно не понятно, Мне даже не очень понятно почему вообще роли отличаются? Зачем вообще это куда-то переносить? Роли для того и придумали чтоб переиспользовать их многократно без копирования
Dmitry
речь идет о git flow
Dmitry
когда мы деплоим dev, потом говорим что все хорошо и промоутим дальше
Dmitry
Может не стоит хранить несколько инвентарей в одной ветке?
Ну вот это ближе к делу. разделить по веткам как вариант
Dmitry
но тогда вопрос первый - как делать изменения к инвентарю... По идее можно дслетьа feature-branch, и с него потом сливать в среду. например dev-add-mysql
Dmitry
но тогда не понятно как будет выглядеть добавление mysql с нуля
Dmitry
1. git checkout dev && git checkout -b dev-add-mysql 2. Create PR, Merge PR 3. ???
Vadim
Я ничего в гитфлоу не понимаю, но мы так и делали - stage-do-foo
Dmitry
Я ничего в гитфлоу не понимаю, но мы так и делали - stage-do-foo
Ну это базовый и урезаный гит флоу, когда мы последовательно мигрируем из dev в prod по веткам
Dmitry
(от тебя))
Sergey
Спасибо, приятно.
Sergey
Расскажу, что делал и что успешно взлетело.
Dmitry
Я готов🍿
Sergey
Гит флоу - это в первую очередь для разработчиков, ибо их много, у них много веток и всего такого. Сработавший в тех ситуациях, которые я видел и делал, кейс - это отдельная репа, где лежат все роли и инвентори (структура проекта по бест практис из доки ансибла).
Sergey
Код собирается в артефакты, которые грузятся в репозиторий.
Sergey
Правильно ли я понимаю, что ты хочешь опистаь процесс для случая нескольких веток именно девопс-репозитория для вновь запиливаемых ролей?
Dmitry
Правильно ли я понимаю, что ты хочешь опистаь процесс для случая нескольких веток именно девопс-репозитория для вновь запиливаемых ролей?
точно. То есть сейчас легаси вариант когда все среды в одной ветке. Я хочу промоутить изменения из дева в прод. Например сменил шаблончик jinja, задеплоил в дев - понравилось, сделал PR dev->stg, смержил, оно само поехало в stg
Sergey
Ты сразу налипаешь на неприятные эффекты. Вот смотри. IaaC предполагает, что где-то в репе у тебя запинены точные версии компонентов, и почти в каждый момент времени эти версии соответствуют действительности. Еслы деплоить из некоей ветки (условно - devel), то номера версий могут быть закоммичены именно в неё, а не в master, из которого всё ставится. Это боль.
Sergey
Иными словами, статус "single source of truth" с devops-репозитория автомагически слетает.
Dmitry
😄
Sergey
Миграция параметров сводится к перемещению/обновлению их между каталогами с инвентори. В этом случае у тебя _все_ ветки работают с одними и теми же параметрами. В моей практике это ок - намного чаще меняется содержание роли, чем параметры окружения.
Sergey
Но может потребоваться несколько специфическая организация этих параметров.
Sergey
Ну вот тогда мы возвращаемся к соcтоянию где в одной ветке все окружения...
Не совсем. Ты же хочешь дев -> стейдж -> продакшн?
Dmitry
да
Dmitry
плюс тесты, а-ля dev-perf, dev-perf-vasya как вариант
Sergey
В дев-ветке у тебя этот параметр будет только для дев-инвентори, в стейдже - и в дев-инвентори, и в стейдж-инвентори, в продакшне - в дев-, стейдж- и продакшн-инвентори. Опять же - речь только о названии параметра. Значения, разумеется, могут отличаться.
Dmitry
@vrutkovs А как ты думал про управление изменениями параметров а-ля group_vars? Какой порядок действий?
Dmitry
и merge по определенным путям между dev/stg/prod не возможен
Dmitry
(типа inventory/* )
Dmitry
Не понятно как это. "все работают с одноми и теми же параметрами"