Timur
Александр
Timur
Если совпадает, то контент одинаковый
Timur
Смысла копировать нет
Damir
Ребята, может вопрос офтопом но, что сейчас есть рынке в плане автоматизации установки ОС по сети? От Cobbler-а/PXE тянет нафталином. Есть ли что нибудь из open source по красивше?
Timur
Timur
не, вру, не debootstrap, а debian-installer
Timur
пару лет назад было
Timur
dhcpd+tftp+preseed
Timur
конфиги генерировались скриптами
Sergey
Max
это и есть модальность. типа create, destroy
Max
правильно?
Max
если у тебя в результате есть "общие" тасклисты, получается что для теста destroy тебе нужно тестировать не сломал ли ты пользователей create.
Max
это и есть усложнение тестабильности.
ranebull
Oleksandr
Artem
Ансибл юзает ключ с паролем. Как заставить его прилично работать? Например в Тeamcity? Подскажите может быть появились какие-то бест практис. Спасибо.
George
George
И передавать пароль в него ?
Artem
не работает
George
Так не может быть
Artem
expect?
Artem
sshpass?
George
Ещё хуже
George
Вообще шифрованный ключ - это мерзко
George
Учитывая, что ансибл может спросить пароль неоднократно
George
Опять же повторюсь, что ссш агент
Anton
George
Либо, если религия позволяет, расколдуй ключ и положи его в тпмфс
George
В ансибле - путь к нему
Artem
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/
выложить можно?
Anton
Sib
для него и делается
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
Sib
/warn
Хм
Sib
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, который пробрасывает агента.... ?
Timur
Sib
несовсем понял... у меня на локальной машине нет конфигов по проксированию соединения на cube хост, и он недоступен никак напрямую. на промежуточном сервере есть ключи с помощью которых можно зайти на cube хост, и с промежуточного хоста он и резолвится только.
Проблема сейчас в том, что я внутри ssh сессии до промежуточной ноды, пытаюсь открыть ещё одну ssh сессию, и из первой подгружаются мои ключи
Sib
несовсем. на awx запускается плейбука, которая закачивает на remote_ansible_host сборки, запускает генерацию конфигов, потом из определёной директории запускает плейбуку, которая изнутри настроит кластер.
С awx есть доступ только на remote_ansible_host.
Timur
Timur
Что мешает запускать ее с AWX напрямую?
George
а почему через ssh jump не сделать?
George
ну, недоступны целевые узлы напрямую - и что?
Timur
George
JumpHost решает проблему
Alex
Надо сказать тому кто приказал, что есть джампхост
George
настройка ProxyJump в .ssh/config