Timur
Александр
Timur
Если совпадает, то контент одинаковый
Timur
Смысла копировать нет
Damir
Ребята, может вопрос офтопом но, что сейчас есть рынке в плане автоматизации установки ОС по сети? От Cobbler-а/PXE тянет нафталином. Есть ли что нибудь из open source по красивше?
Timur
не, вру, не debootstrap, а debian-installer
Timur
пару лет назад было
Timur
dhcpd+tftp+preseed
Timur
конфиги генерировались скриптами
Max
это и есть модальность. типа create, destroy
Max
правильно?
Max
если у тебя в результате есть "общие" тасклисты, получается что для теста destroy тебе нужно тестировать не сломал ли ты пользователей create.
Max
это и есть усложнение тестабильности.
Artem
Ансибл юзает ключ с паролем. Как заставить его прилично работать? Например в Тeamcity? Подскажите может быть появились какие-то бест практис. Спасибо.
George
И передавать пароль в него ?
Artem
не работает
George
Так не может быть
Artem
expect?
Artem
sshpass?
George
Ещё хуже
George
Вообще шифрованный ключ - это мерзко
George
Учитывая, что ансибл может спросить пароль неоднократно
George
Опять же повторюсь, что ссш агент
George
Либо, если религия позволяет, расколдуй ключ и положи его в тпмфс
George
В ансибле - путь к нему
Anton
не уверен что это задача ансибла, решать поведение ssh
George
Вообще-то да, это его задача
George
Я даже аргументировать могу
Anton
:( спасибо пошел костылить
хороший вариант выше советуют, положи в волт его, без пароля. забирай когда надо, используй, храни безопасно на время деплоя.
Artem
да, спасибо.
Sib
Приветствую. Подскажите кто что может... Есть странная задача у меня, не вините меня в кривом решении, не моё желание так делать. Необходимо запустить в таске плейбуки на удалённом хосте другую плейбуку. к примеру: - name: setup hosts: ansible_host tasks: - name: Run setup shell: "ansible-playbook setup.yaml" args: chdir: "{{ remote_ansible_home }}" Это связано с тем, что это должно запускаться именно на том хосте и именно в той директории, где подготовлено окружение для ансибл. Проблема заключается в том, что если зайти на удалённый хост и запустить руками, то всё отрабатывает. Но через плейбуку не работает, все хосты unreachable. Проблема скорее всего в ssh. потому как для теста достаточно выполнить: ssh ansible_host -- "cd $remote_ansible_home; ansible-playbook setup.yaml" И будет такой же результат - unreachable.
Anton
а если попробовать добавить расширенное логирование всего этого? Т.е. shell: "ansible-playbook setup.yaml" переписать как shell: "ansible-playbook setup.yaml -vvv" и запускать задачу, в логах что будет? логи на https://pastebin.com/ выложить можно?
Sib
для него и делается
Sib
тестирую локально
Sib
Пробовал, но пока недостаточно глубоко логи видны.
Anton
мне кажется или хост с которого запускают пытается достучаться до хоста по имен cube на что получает SSH Error: data could not be sent to remote host "cube". Make sure this host can be reached over ssh
/warn
Хм
George
нет, ключи раскиданы.
но может не так, как ожидается
George
ансибл на удаленном хосте под каким юзером точно работает?
/warn
Попробуй стартануть через vvvv и скинь полную ошибку
Sib
Ещё раз, если зайти на удалёный сервер и из той директории запустить руками плебуку, то всё отрабатывает успешно, хосты доступны и проблем нет.
/warn
А ансибл может выбиться без remote_dir вот этой? Или это только с ней проблемы?
Sib
Есть ещё интересное наблюдение.... - Я пробую запустить со своей машины через команду ssh как в примере выше - unreachable - Затем я захожу на удалёную машину и запускаю руками там - всё отрабатывает https://paste.ofcode.org/ZArVwpsynErLiqMnTckiqC - После этого, с локальной машины тоже отрабатывет успешно, в течении определённого времени.
/warn
Магия
Sib
вероятно что это связано с ControlMaster в ssh, но мне нужно чтобы без приседаний по зайти и прорубить тунели работало
Отделение Bereke Bank
В ansible.cfg что?
Sib
смотря что интересует... [defaults] transport = ssh [ssh_connection] pipelining = true retries=5 ssh_args = -o ControlMaster=auto -o ControlPersist=5m -o ConnectTimeout=60 -o ConnectionAttempts=20
Sib
хм... хорошая мысль. Подзабыл что pipelining приключений всегда добавляет. Попробовал отключить и смог получить debug логи ssh с удалёной машины.
Sib
Проблема прояснилась немного... Используются ssh ключи с моей локальной машины для дальнейших подключений, не учитывается ssh конфиг и ключи на удалёном сервере. Спасибо, буду копать в этом направлении
Max
там конфиг файл есть ?
Sib
да, небольшой, просто прописан ключ. и ключ там лежит, с помощью которого можно подключаться внутри кластера
Max
может у тебя есть локальный конфиг ssh, который пробрасывает агента.... ?
Sib
несовсем понял... у меня на локальной машине нет конфигов по проксированию соединения на cube хост, и он недоступен никак напрямую. на промежуточном сервере есть ключи с помощью которых можно зайти на cube хост, и с промежуточного хоста он и резолвится только. Проблема сейчас в том, что я внутри ssh сессии до промежуточной ноды, пытаюсь открыть ещё одну ssh сессию, и из первой подгружаются мои ключи
Sib
Зачем это делать именно через плейбуку?
варианты? потому что нужно запускать в awx
Timur
варианты? потому что нужно запускать в awx
Т.е. вам из awx нужно просто запустить ансибловую плейбуку на удаленной машине, к которой нет прямого доступа по ssh, но есть доступ через промежуточный, так?
Sib
несовсем. на awx запускается плейбука, которая закачивает на remote_ansible_host сборки, запускает генерацию конфигов, потом из определёной директории запускает плейбуку, которая изнутри настроит кластер. С awx есть доступ только на remote_ansible_host.
Timur
Что мешает запускать ее с AWX напрямую?
George
а почему через ssh jump не сделать?
George
ну, недоступны целевые узлы напрямую - и что?
Timur
а почему через ssh jump не сделать?
Я вот тоже пытаюсь понять
Alex
Я вот тоже пытаюсь понять
Он сказал что требование странного пришло сверху, вы не о том думаете
George
JumpHost решает проблему
Alex
Надо сказать тому кто приказал, что есть джампхост
George
настройка ProxyJump в .ssh/config
Timur
Он сказал что требование странного пришло сверху, вы не о том думаете
Вопрос в том, как выглядит требование сверху. Вряд ли оно звучит как "организовать запуск плейбуки наиболее извращенным образом".