Timur
Why is it a first run? Does it mean you can't run it? Or simply you don't want to run it twice because other reasons?
некоторые задачи дважды запускать банально нельзя: например - загрузку дампа БД из бэкапа. Эта операция не идемпотентная, поэтому приходится обвешивать её дополнительными проверками
Timur
and if you prefer another language I surely can answer your question in English, yes
Albert
Не, мне клаву лень менять было..
Timur
но вопрос не о том, как, а о том, как лучше :)
Albert
Можно таску эту просто не запускать при каком то условии
Albert
Но include_tasks это обычно анти патерн.. Засуньте в роль, и пусть всегда бежит, хотя скипатса будет
Timur
ну по факту там include_tasks: ... when: ... :)
Anonymous
коллеги добрый день, вопрос, а в ansible есть что то типа case - чтобы в зависимости от переменной подставлять нужное значение, чтобы не плодить кучу if else
Albert
ternary
Anonymous
во, кажеться оно, спасибо
Dmitry
да, но судо без пароля - дыра в инфре :(
а sudo с паролем, но с рутовыми доступами сильно безопасносней? Защищаемся, от того кто получит доступ к этому юзеру, но не знает его пароля? Сделай просто через sudo разрешения запускать только то, что требуется для бэкапа, но без пароля.
Max
да, но судо без пароля - дыра в инфре :(
даже sudo с паролем, если ручки кривые, тоже дыра.
Max
бред
не триплицируй :) :)
mk
Господа, есть возможность получить IP в переменную второго сервера из группы, указанной в инвентори
mk
[webservers]
mk
192.168.1.1 srv1
mk
192.168.1.2 srv2
mk
?
mk
как выдрать в переменную 192,168,1,2
mk
Обратитесь к hostvars["srv2"]...?
hostvars["srv2"]['ansible_default_ipv4'] ?
Sergey
вот: https://stackoverflow.com/questions/32345136/cant-use-ref-with-a-label-using-sphinx-doc
Anonymous
Коллеги вопрос, есть стейджинг есть прод, стейджингов очень много и немного общего, прод совсем рпазный. Вопрос как правильно делать - делать каждый стейджинг отдельным envirements либо делать условный enviremetns/staging а дальше через include_vars для каждого стенда - что мне кажеться немного странным
Max
ктонить деплоит GCP ресурсы объясните как указать network c помощью словаря (без "register: your-network" ). точнее даже где найти этот "resource's selfLink". В доке к модулю gcp_compute_subnetwork написано This field represents a link to a Network resource in GCP. It can be specified in two ways. First, you can place a dictionary with key 'selfLink' and value of your resource's selfLink
es]x
а малекула, это про тесты ролей?
es]x
на подобие chefspec?
Timur
Но можно и плейбуки тестить с тем же успехом
es]x
Да
спасибо
George
это не Ansible, это Sphinx.
В irc'e помогли. У меня в short description был перевод строки в начале. (Yaml'овый ">"), из-за этого ломалось что-то в doc-build.
Sebor▂▅▇█▓▒░
Подскажите, сталкивался ли кто с такой проблемой: пытаюсь запустить compose файл через модуль docker_compose, но почему-то переменная с тэгом не подставляет services: image: "website/stage:${CI_COMMIT_SHORT_SHA}"
Sebor▂▅▇█▓▒░
получаю ошибку: "no such image: website/stage:: invalid reference format"
Sebor▂▅▇█▓▒░
https://docs.docker.com/compose/compose-file/compose-file-v2/#variable-substitution
Boris 🦍
Иди у тебя формат изменен? Там же переменная?
Sebor▂▅▇█▓▒░
А ты видишь что у тебя фигурной скобки не хватает?
Все хватает. Ветка гита была не та просто) Короче проблема была в hands
Max
Подскажите, сталкивался ли кто с такой проблемой: пытаюсь запустить compose файл через модуль docker_compose, но почему-то переменная с тэгом не подставляет services: image: "website/stage:${CI_COMMIT_SHORT_SHA}"
если этот код в плейбуке, то: - либо переменная окружения CI_COMMIT_SHORT_SHA не определена в окружении, либо, ее нужно перевести в джинджу, и обращаться через {{ ... }}
Artur
что делаю не так ? переменная находится в all.yml
Artur
Artur
Roman
В group или hosts?
Artur
В темплейте что?
прямо в точку. проморгал там ошибку
Sergey
эта фигня для каналов а это чат
Alexey
terraform приходит! terraform приходит! terraform приходит! terraform приходит! Веселье приносит yaml бодрящий, для ansible он всегда настоящий!
Dmitry
Господа, а какой сейчас бестпрактис по связке энсибл+докер-компоуз? Есть старый проект на докер-компоузе (5контейнеров с init.sh для генерации ссл сертов) и хочется его подсунуть в энсибл правильно, поэтому вопрос как лучше сделать, через модуль или тупо через sh
Отделение Bereke Bank
Согласен. Без компоста прозрачнее. Но писать ямла придётся больше
inqfen
Зачем эта ненужная прослойка, которая в перспективе будет только мешать?
inqfen
Согласен. Без компоста прозрачнее. Но писать ямла придётся больше
Ну собственно то, что написал в композе переписываешь на таски docker_container в том же в общем-то объёме
inqfen
А зачем тебе композ, если то, что он умеет - умеет ансибл?
Dmitry
так все очень просто, компоуз уже есть, а энсибл писать надо
inqfen
Тогда уж и ансибл во что-то заверни, чтобы было
inqfen
так все очень просто, компоуз уже есть, а энсибл писать надо
10 минут воспроизвести композ ямл с 5ю сервисами
inqfen
Композ там может быть нужен только в одном случае - если это сворм
inqfen
И то очень сомнительно
inqfen
Каждый сервис будет 1 таска, с несколькими переменными
inqfen
Копипаст в общем-то названия переменных да значения меняй
inqfen
Зато может например развернуть 2 сервиса на одну машину, 2 на другую, 1 на третью
inqfen
И условия сделать - типа если этот сервис перезапустится при депдое, нужно что-то вот с этим сделать
Igor
Подскажите пожалуйста, есть такая простая таска: - name: Install package yum: name: - {{ package }} state: present Пакет с одним и тем же названием находится в двух репах, как мне указать репозиторий из которого его ставить?
inqfen
enablerepo
inqfen
https://docs.ansible.com/ansible/latest/modules/yum_module.html#yum-module бесплатная ссылка на доки
krakazyabra
всем привет! не подскажите какой-нибудь готовый asible-плэйбук для работы с дисковыми устройствами? удалить разделы, создать новые, повесить лэйблы и тд?