Александр
"в одном плейбуке выполняются последовательно сначала инструкции для одного хоста, потом для другого. Но косяк из-за того, что нужно передать текущее время, одинаковое для обоих хостов."
Timur
Если нужно прямо один раз что-то сделать то плея на всех хостах, то можно заюзать pre_tasks
Timur
Таски в этом словаре выполняются до плея tasks
Timur
Нет, после
Timur
Но выполняется до всех основных тасков
Александр
Нет, после
Т.е. у меня опять же будут разные значения в переменной.
Timur
Или вам просто в плейбуке нужно один дополнительный плей добавить тогда
Timur
На локалхост
Александр
Мне нужно указать переменную до hosts
Timur
Если речь просто о том, чтобы выставить одну переменну.
Timur
Мне нужно указать переменную до hosts
Ну, добавьте еще один плей с hosts: localhost
Timur
И указывайте переменную
Timur
Или что мешает просто в vars переменную указать?
Александр
Или что мешает просто в vars переменную указать?
То, что переменная изменит значение.
Александр
Timur
В течение плея она не меняет значение
Timur
Вам же в начале плея нужно ее задать?
Александр
В течение плея она не меняет значение
Меняет, если вызывается в разных hosts
Timur
Как выглядит переменная?
Александр
Вам же в начале плея нужно ее задать?
А вы задание читали? Плейбук смотрели?
Александр
Timur
https://t.me/pro_ansible/73972
А если так? - hosts: localhost tasks: - set_fact: datename: "{{ '%Y-%m-%d_%H-%M-%S' | strftime(ansible_date_time.epoch) }}" - hosts: localhost tasks: - name: Ansible timestamp filename example debug: msg: "{{ item }}_{{ datename }}.sql" with_items: - api_db - hosts: localhost tasks: - name: Ansible timestamp filename example debug: msg: "{{ item }}_{{ datename }}.sql" with_items: - api_db
Александр
Это в примере я указал localhost, на самом деле они разные
Александр
Дайте нормальный код тогда :)
А чем мой код не нормальный?
Timur
А чем мой код не нормальный?
Тем, что там везде локалхост
Александр
Дайте нормальный код тогда :)
Александр Ремизов, [04.02.19 02:29] У меня в одном плейбуке выполняются последовательно сначала инструкции для одного хоста, потом для другого. Но косяк из-за того, что нужно передать текущее время, одинаковое для обоих хостов. Александр Ремизов, [04.02.19 02:30] Т.к. операции долгоиграющие, то переменная datename: "{{ '%Y-%m-%d_%H-%M-%S' | strftime(ansible_date_time.epoch) }}" убегает для второго хоста
Timur
Если выполнение следующих плеев идет для разных хостов, то очевидно нужно делать так: - name: Ansible timestamp filename example debug: msg: "{{ item }}_{{ hostvars['localhost']['datename'] }}.sql" with_items: - api_db
Timur
Так работает?
Александр
Костыльненько
Gleb
как можно ускорить выкатку, а то каждая строка плейбука это 10+с
если кейс позволяет юзать mitogen то ускорение космическое
Anton
если кейс позволяет юзать mitogen то ускорение космическое
Можно чуть подробностей? Плюсы/минусы?
Gleb
Можно чуть подробностей? Плюсы/минусы?
минусы в том что в итоге получится так что то что ты напишешь может не очень работать с ванильным ну и вообще всякие мелкие особенности которые нет смысла перечислять - попроще попробовать. А про плюсы и говорить нечего - это вооббще единственное решение которое позволяет сотнями-тысячами серверов комфортно через ансибл рулить не ожидая по 3 часа выполнения плейбуков
Timur
pipelining: true
Незначительно ускоряет
Sergey
Незначительно ускоряет
Depends. Я в докладе об этои говорил.
Anton
ребята, немного не по профилю канала вопрос, но может кто сталкивался. была какая то штука, которая позволяла провизионить хост с состояния bare-metal, по pxe или альтернативно по сети (тут точно не знаю). для обеспечения полного цикла ввода в эксплуатацию нового железа.
AlexK
привет, подскажите, пжзста, я использую docker-compose для оркестрации контейнеров и баш скрипт для деплоя. Весь деплой проходить на bare metal сервера (в перспективе использование клаудов). Какие бенефиты я могу получить от перехода с баш+докер-компоуз на использования ансибла
Anton
типа maas.io ?
нет, что то явно проще этой штуки. @Nklya вот точно знает, он мне рассказывал 😊
Timur
Вполне может быть, что и никаких
Vadim B.
Привет! Кто знает как переносить конфиги, хранящиеся в zookeeper между стендами? Стандартных решений с ходу не нашёл
Denis 災 nobody
Незначительно ускоряет
при кривых настройках ссш - значительно. Когда логин на сервер занимает секунд 8, уже на полусотне тасков это на порядок.
Denis 災 nobody
Timur
при кривых настройках ссш - значительно. Когда логин на сервер занимает секунд 8, уже на полусотне тасков это на порядок.
Тут надо фиксать уже сам дизайн подключения. Если при подключении происходят огромные latency, то можно вообще на ansible-pull перейти, например
Александр
- name: Загрузка изменений с gitlab git: repo: 'https://gitlab/repo/repo.git' dest: /home/repo/repo refspec: 'refs/heads/dev' version: 'dev' force: yes update: yes
Александр
С моей машины стягивает, а с другой не стягивает изменения. Почему такое происходит?
Александр
Ошибок нет
Timur
Авторизация?
Александр
Авторизация?
Всё норм, авторизуется без проблем
Timur
А какую ошибку на другой машине выдаёт?
Александр
Никакой
Timur
Так не бывает
Александр
TASK [Загрузка изменений с gitlab] ********************************************* ok: [bla-bla]
Александр
Timur
Значит, репа уже скачана
Александр
git log показывает старый коммит.
Александр
Timur
Если не скачана - ок быть не может
Александр
Ну как факт.
Alexander
Check режим?
Timur
Так не скачивает или гит лог что-то там показывает?
Александр
git pull проходит без проблем, если прямо в репе его сделать с центрального
Sergey
а что за доклад?
Сентябрьский митап DevOps Moscow, "Ansible - это вам не bash!"
Александр
И git log покажет, но вот две разных машины, и на второй пишет, что ОК и ничего не скачал.
Александр
Просто факт, уже не первый раз
Timur
git pull проходит без проблем, если прямо в репе его сделать с центрального
Так есть скачанная репа на целевой машине или нет?
Александр
Так есть скачанная репа на целевой машине или нет?
Сама репа есть, но коммиты в ней скачанные прошлый раз. Новых нет.
Timur
Ага, т.е. репа есть
Александр
Репа есть
Vladislav 👻
https://github.com/ansible/ansible/issues/46533
Timur
Версия ансибла?