Yury
да я наделал переменных, в папете удобно можно хэши мержить на любом уровне где те надо, а тут или глобал и комбаин
Timur
Здесь тоже можно где угодно мержить
Timur
Тем же комбайном
Yury
ну принцип с одинаковым названием переменных не прокатит
Yury
я так понял комбаин мержит две переменные в новую
Timur
Да
Yury
ну в папете можн было одинаково называть переменную например packages
Timur
Но можно и старую переписывать, если правильно конструкцию оформить
Yury
и сделать дефолтный лист
Timur
Здесь тоже можно
Yury
да я уже почитал)
Yury
можно да сложно
Timur
Дефолтный словарь перепишется тем, что указан в инвентори
Timur
Тоже просто по имени
Yury
да и смысл этого дефолтного)
Yury
ну условино
Timur
Смысл в том, чтобы роль не падала, если параметр не задан
Timur
Тогда берутся параметры из дефолта
Yury
ну можно просто писать when
Yury
лан это демагогия
Timur
ну можно просто писать when
Да, но зачем, если можно не писать, а юзать встроенные механизмы приоритета переменных?
Yury
ну ты предалгаешь в дефолт написать 50 пакетов
Yury
и на другом уровне написать 52 пакета
Yury
из них 50 тех же
Yury
а when условно 3 слова
Timur
и на другом уровне написать 52 пакета
При таком раскладе нужно уже не перезапись юзать, а разные переменные, которые потом мержить
Timur
Если список из 50 параметров постоянный
Yury
омг я уже писал "да я наделал переменных"
Konstantin
Коллеги, всем привет. Столкнулся с странным поеведением ansible, и не понимаю куда копать. Есть инвентори [prj-mockup] front-test-v [prj-old] front-test-v [prj-site] front-test-v Для каждой группы есть свой файл переменных. После общей ролью проиводится выкладка файлов. В каждом файле есть переменная static_path, соответсвенно они разные для каждой группы. Но почему-то всегда используются параметры последней группы ( в данном случае prj_site). Плейбуки тоже разные. В чем может быть дело? Что я не верно понял?
Konstantin
Именно.
Vasiliy
ну думаю что тут дело именно в этом. Ансибл игнорит другие группы в inventory файле. Остается получается последняя prj-site в твоем случае
Timur
Именно.
Тогда чего ж ты хочешь?
Konstantin
Так это разные группы привязанные к разным плейбукам. Один плейбук кладет мокапы, другой old, третий сайт.
Timur
На одном хосте не может быть двух разных переменных с одним именем
Konstantin
Я определяю не в хосте, а в группе
Vasiliy
но пермеменные у тебя не от плейбуков зависят а от хостов
Timur
Группы - это элемент инвентаря
Konstantin
То есть решение указывать переменную в плейбуке?
Konstantin
Все, тогда мне стало понятно.
Timur
То есть решение указывать переменную в плейбуке?
Да, если в разных плейбуках нужны разные значения одной и той же переменной
Konstantin
спасибо. но есть мнение, что раньше схема работала, так как копипастил 🙂
Timur
Работать могло, только если хосты были разные
Timur
Или запускались разные плеи на разные группы
Konstantin
Так я о том и говорю, разные плеи на разные группы и сейчас
Anonymous
Как в проекте awx в roles/requirements.yml указать роль, находящуюся в внутреннем репозитории gitlab? Делаю так - src: git@git.ppl33-35.com:PPL/Infrastructure/ansible-roles/users.git scm: git, но при выполнении плейбука с этой ролью ругается на её отсутствие.
Anonymous
А права у юзера, из-под которого плейбука ранается, на репу есть?
Уже тоже копнул в этом направлении. Таки да
Anonymous
Я ожидал, что awx заюзает source control credentials из тех, что я добавил
Timur
Формат requirements указан правильный. Если не работает - ошибка может быть лишь в ссылке или в правах доступа
Anonymous
Есть предложение, что scm credentials не используются для requirements.yml. awx у меня в докере, провалился в контейнер воркера и попробовал вручную через ansible-galaxy install загрузить роли - обламался на авторизации
Anonymous
Буду значит авторизацию зашивать в url репы
Timur
Просто ключи прокиньте нормально
Pavel
Кто-то работал с Win_copy ? у меня в playbookе всё гуд на всех этапах но файл доезжает только до части серверов
Pavel
из аналогов только Win_get_url?
Pavel
я почитал что у него есть траблы с большими файлами
Pavel
у меня >3gb
Pavel
архив
Pavel
Задача перекидывать сборку с ubuntu сервака на winserver2016(5 штук)
Pavel
ну с текстовым файликом у меня тоже всё ок)
Timur
Можно retry добавить, если что-то нестабильно
Pavel
а вот с архивом не очень
Timur
robocopy :)
Roman
подскажите что не так? ожидаю 6144 без десятичной части после |int - name: без int debug: msg: "{{ ansible_memtotal_mb * 0.8 // 1024 * 1024 }}" - name: c int debug: msg: "{{ ansible_memtotal_mb * 0.8 // 1024 * 1024 | int }}" TASK [test : без int] ok: [it-02.aim] => { "msg": "6144.0" } TASK [test : c int] ok: [it-02.aim] => { "msg": "6144.0" }
Pavel
robocopy :)
ну он между виндовыми же серваками ?
Pavel
тобишь до них донести файл то всё равно нужно
Pavel
Можно retry добавить, если что-то нестабильно
про retry попробую,но он поидее реагирует только на неуспешные таски,а с точки зрения ansible он перекинул файл,тоесть в конце выполнения playbookа у меня везде ok
Pavel
PLAY RECAP ************************************************************************************************************************************************************************** WinServerxxxx : ok=3 changed=1 unreachable=0 failed=0 WinServerxxxx : ok=3 changed=1 unreachable=0 failed=0 WinServerxxxx : ok=3 changed=1 unreachable=0 failed=0 WinServerxxxxx : ok=3 changed=1 unreachable=0 failed=0 WinServerxxxx : ok=3 changed=1 unreachable=0 failed=0
Timur
Ну, и для больших файлов действительно лучше win_get_url использовать
Alex
А как ретри делать автоматом? А то у меня периодически отваливается таск разархивации на удалённую линукс машину.
Alex
Что значит «автоматом»?
Чтобы плейбук перезапускался пока не выполнится без ошибок
Timur
Сделай другой плейбук, который будет вызывать первый плейбук с ретраем
Dok
Ребята, после обновления ансибла с 2.4 на 2.7 стал сбойно устанавливать pecl-пакеты. Кто-нибудь сталкивался? В списках изменений ничего похожего не нашёл. Причём, перестало работать нормально как через модуль pear, так и через raw: pecl install [название пакета или скачанный пакет]. В чате никто не писал ни про pecl, ни про pear. Но у меня на двух разных машинах одинаковые ошибки и зависания. -vvvvv ничего конкретного не говорит, только то, что установка не прошла или вовсе зависает, например при установке пакета redis. Беда прям.