Artem
Так сказано же выше, это разовая акция
Timur
Какая разница?
Timur
Микроскоп не создан для забивания гвоздей
Timur
Даже разово
Artem
Ясен пень
Artem
Когда нельзя, но очень хочется - то можно
Artem
Я не вижу тут никаких проблем, главное не превращать подобное в привычку
Timur
Проблема в том, что люди пытаются из плейбуки сделать программу
Timur
И удивляются, что тут нет инструментов для такого
Artem
Но сделать-то можно при желании
Timur
Только очень извращенными способами
Anonymous
:)
Timur
Стоямба, шото вас не туда понесло )
Это вас не туда понесло с программированием на ансибле :)
Anonymous
Лол)
Sergey
Timur
Ну, не заточен ансибл под такое использование
Anonymous
Ну, не заточен ансибл под такое использование
Так а кто что говорит? Я ж не говорю, что он должен быть заточен на это) Я кароч все сказала о таске, а обсывать какие-то решения, которые сразу помечаются автором(мной в данном случае) как разовые, потому что ну вот надо так, и не спрашивайте зачем - ну хз, такое себе))
Timur
Так а кто что говорит? Я ж не говорю, что он должен быть заточен на это) Я кароч все сказала о таске, а обсывать какие-то решения, которые сразу помечаются автором(мной в данном случае) как разовые, потому что ну вот надо так, и не спрашивайте зачем - ну хз, такое себе))
Ну, я просто отметил, что описанная вами задача в принципе не предусмотрена логикой ансибла. Решить ее можно костылями, но по возможности такого подхода следует избегать в принципе
Денис
я может пропустил, но нельзя просто протегировать все следующие таски каким-нибудь ['force_skip'], и запустить со —skip-tag?
Денис
он не остановится на этом, но делать то дальше тоже ничего не будет
Artem
Таски в плейбуке. Их трогать нельзя по условию
Плейбук нельзя трогать, таски можно
Artem
Если ничего нельзя трогать, то это неинтересно
Timur
Плейбук нельзя трогать, таски можно
Так плейбук и состоит из тасков
Artem
и?
Денис
а вынести в другой плейбук нельзя тлько нужные таски? и запустить его
Anonymous
Лоль
Anonymous
Порешали ж
Anonymous
:)
Timur
и?
Фраза "плейбук нельзя трогать, таски можно" - логически бессмысленна
Artem
Не таски, роли
Artem
Сорян
Timur
Anonymous
Котаны, не спорьте) все нормес, все сделано кек
Дивопсина сутулая породистая
Салют всем, ребзя подскажи пожалуйста как можно получить ip адрес как переменную из инвентори?
Дивопсина сутулая породистая
ansible_host
А если хост конкретный
Дивопсина сутулая породистая
?
Sergey
можно через gather_facts
Sergey
А если хост конкретный
{{ ansible_default_ipv4.address }} или с определенного интерфейса {{ ansible_vmbr2.ipv4.address }}
Pavel
Салют всем, ребзя подскажи пожалуйста как можно получить ip адрес как переменную из инвентори?
Список всех адресов хранится в факте ansible_all_ipv4_addresses, по умолчанию в ansible_default_ipv4.address
Timur
Салют всем, ребзя подскажи пожалуйста как можно получить ip адрес как переменную из инвентори?
Не очень понятна суть вопроса. Вас интересует - как получить какое-то значение конкретной переменной из инвентори?
Дивопсина сутулая породистая
Не очень понятна суть вопроса. Вас интересует - как получить какое-то значение конкретной переменной из инвентори?
У меня есть инвентори, там есть 2 хоста, и я хочу взять IP адрес одного хоста и использовать в этом же плейбуке для второго
Timur
У меня есть инвентори, там есть 2 хоста, и я хочу взять IP адрес одного хоста и использовать в этом же плейбуке для второго
А, т.е. вам нужен доступ из плея на одном хосте к переменным другого? Это уже другой вопрос :) Но он тоже решаемый. А на сам инвентарь можно взглянуть?
Дивопсина сутулая породистая
А, т.е. вам нужен доступ из плея на одном хосте к переменным другого? Это уже другой вопрос :) Но он тоже решаемый. А на сам инвентарь можно взглянуть?
— all: hosts: alaska: ansible_connection: ssh ansible_host: «IP» ansible_port: "22" ansible_user: root ansible_password: PROTECT PASSWORD host_key_checking: false tst: ansible_connection: ssh ansible_host: «IP» ansible_port: "4022" ansible_user: mold mold
Дивопсина сутулая породистая
Вот что то типа такого
Дивопсина сутулая породистая
Ток палками не бейте
Timur
Например, если вы запускаете плей на хосте tst, то переменная будет примерно такой: {{ hostvars['alaska']['ansible_host'] }}
Дивопсина сутулая породистая
https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html#accessing-information-about-other-hosts-with-magic-variables
Спасибо огромное! Крутотень! то я час сидел думал как реализовать!
Ilya
Вопросик есть, есть у меня shell который собирает некоторую инфу и пихает в переменную. Могу ли я как-то собрать словарь вида хост:переменная ибо сейчас register пихает только о последнем сервере где отработал
Ilya
Что значит "сейчас register пихает только о последнем сервере где отработал"? Как такое возможно?
shell: docker ps --format '{'{.Names}'}' -f name={{cluster}} | awk -F '-' '{print $2}' в hosts указано несколько разных серверов - в перемееной хранится только с последнего
Ilya
ты хочешь шарить содержимое этой переменной применительно к разным хостам?
Я хочу значение это переменной потом на совсем другом хосте использовать в темплейте
nett00n
Я хочу значение это переменной потом на совсем другом хосте использовать в темплейте
плохая идея. начать с того, что понятие "следующий хост" неиндемпотентно.
Timur
Переменные регистрируются на уровне хостов
Vladislav 👻
ansible_host
это не айпи, а запись в хостах
Timur
Если вы запускаете таск на нескольких хостах параллельно - на них всех создаются свои переменные
Ilya
Если вы запускаете таск на нескольких хостах параллельно - на них всех создаются свои переменные
А вывожу в таске который запускается на совсем другом хосте но внутри этого же плейбука
Vladislav 👻
я к тому, что в хостах вполне могут быть и домены
Timur
А вывожу в таске который запускается на совсем другом хосте но внутри этого же плейбука
Все переменные из коробки помещаются в словарь hostvars с ключом в виде имени хоста из инвентори
Timur
Если обращаетесь к значению переменной с другого хоста - нужно вызывать hostvars с нужным ключом
Timur
Чуть выше как раз пример был
Nikita
народ хай
Nikita
что почитать , посмотреть кроме дока чтобы быть мощьным дережером ансамбля???
simplemice.eth
https://t.me/pro_ansible/29792 вот с этого места и ниже, книжечки возьмите.... в хозяйстве нужны будут
Артём
Подскажите, при развёртывании инстанса приложения выполнение единоразовых задач типа инициализации базы приложением - задача для ансибла или нет? Если да - то как убедить его сделать это один раз?
Артём
yum: name: application state: installed # Magic service: name: application-service state: started enabled: yes
Артём
Это once на группу хостов, а не навеки. creates в этом плане более близок к тому, о чём я говорю.