Yury
да я наделал переменных, в папете удобно можно хэши мержить на любом уровне где те надо, а тут или глобал и комбаин
Timur
Здесь тоже можно где угодно мержить
Timur
Тем же комбайном
Yury
ну принцип с одинаковым названием переменных не прокатит
Yury
я так понял комбаин мержит две переменные в новую
Timur
Да
Yury
ну в папете можн было одинаково называть переменную например packages
Timur
Но можно и старую переписывать, если правильно конструкцию оформить
Yury
и сделать дефолтный лист
Timur
Здесь тоже можно
Yury
да я уже почитал)
Yury
можно да сложно
Timur
Дефолтный словарь перепишется тем, что указан в инвентори
Timur
Тоже просто по имени
Yury
да и смысл этого дефолтного)
Yury
ну условино
Timur
Смысл в том, чтобы роль не падала, если параметр не задан
Timur
Тогда берутся параметры из дефолта
Yury
ну можно просто писать when
Yury
лан это демагогия
Yury
ну ты предалгаешь в дефолт написать 50 пакетов
Yury
и на другом уровне написать 52 пакета
Yury
из них 50 тех же
Yury
а when условно 3 слова
Timur
Если список из 50 параметров постоянный
Yury
омг я уже писал "да я наделал переменных"
Konstantin
Коллеги, всем привет.
Столкнулся с странным поеведением ansible, и не понимаю куда копать.
Есть инвентори
[prj-mockup]
front-test-v
[prj-old]
front-test-v
[prj-site]
front-test-v
Для каждой группы есть свой файл переменных. После общей ролью проиводится выкладка файлов.
В каждом файле есть переменная static_path, соответсвенно они разные для каждой группы.
Но почему-то всегда используются параметры последней группы ( в данном случае prj_site). Плейбуки тоже разные.
В чем может быть дело? Что я не верно понял?
Vasiliy
Konstantin
Именно.
Vasiliy
ну думаю что тут дело именно в этом. Ансибл игнорит другие группы в inventory файле. Остается получается последняя prj-site в твоем случае
Timur
Именно.
Тогда чего ж ты хочешь?
Konstantin
Так это разные группы привязанные к разным плейбукам. Один плейбук кладет мокапы, другой old, третий сайт.
Timur
На одном хосте не может быть двух разных переменных с одним именем
Konstantin
Я определяю не в хосте, а в группе
Vasiliy
но пермеменные у тебя не от плейбуков зависят а от хостов
Timur
Timur
Группы - это элемент инвентаря
Konstantin
То есть решение указывать переменную в плейбуке?
Konstantin
Все, тогда мне стало понятно.
Konstantin
спасибо. но есть мнение, что раньше схема работала, так как копипастил 🙂
Timur
Работать могло, только если хосты были разные
Timur
Или запускались разные плеи на разные группы
Konstantin
Так я о том и говорю, разные плеи на разные группы и сейчас
Anonymous
Как в проекте awx в roles/requirements.yml указать роль, находящуюся в внутреннем репозитории gitlab? Делаю так - src: git@git.ppl33-35.com:PPL/Infrastructure/ansible-roles/users.git
scm: git, но при выполнении плейбука с этой ролью ругается на её отсутствие.
Timur
Anonymous
Anonymous
Я ожидал, что awx заюзает source control credentials из тех, что я добавил
Timur
Timur
Формат requirements указан правильный. Если не работает - ошибка может быть лишь в ссылке или в правах доступа
Anonymous
Есть предложение, что scm credentials не используются для requirements.yml. awx у меня в докере, провалился в контейнер воркера и попробовал вручную через ansible-galaxy install загрузить роли - обламался на авторизации
Anonymous
Буду значит авторизацию зашивать в url репы
Timur
Timur
Просто ключи прокиньте нормально
Pavel
Кто-то работал с Win_copy ? у меня в playbookе всё гуд на всех этапах но файл доезжает только до части серверов
Pavel
из аналогов только Win_get_url?
Pavel
я почитал что у него есть траблы с большими файлами
Pavel
у меня >3gb
Pavel
архив
Pavel
Задача перекидывать сборку с ubuntu сервака на winserver2016(5 штук)
Timur
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
тобишь до них донести файл то всё равно нужно
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
Roman
Timur
Timur
Ну, и для больших файлов действительно лучше win_get_url использовать
Alex
А как ретри делать автоматом? А то у меня периодически отваливается таск разархивации на удалённую линукс машину.
Timur
Timur
Сделай другой плейбук, который будет вызывать первый плейбук с ретраем
Dok
Ребята, после обновления ансибла с 2.4 на 2.7 стал сбойно устанавливать pecl-пакеты. Кто-нибудь сталкивался?
В списках изменений ничего похожего не нашёл. Причём, перестало работать нормально как через модуль pear, так и через raw: pecl install [название пакета или скачанный пакет].
В чате никто не писал ни про pecl, ни про pear. Но у меня на двух разных машинах одинаковые ошибки и зависания. -vvvvv ничего конкретного не говорит, только то, что установка не прошла или вовсе зависает, например при установке пакета redis.
Беда прям.