Grek 🇺🇦
и на сорс хост ты заходишь норм. и на дест тоже норм?
Grek 🇺🇦
только при использовании модуля ошибка?
Grek 🇺🇦
и вообще - показывай таск
Grek 🇺🇦
а руту разрешен ссш?
Vladislav
ансибл конектиться норм
Vladislav
выполняет таски
Vladislav
но в роли есть таск с syncronize
Vladislav
на нем падает
Vladislav
я еще попробую в качестве дст убунту
Vladislav
мне кажется что то с centos
Vladislav
или ansible_python_interpreter: /usr/bin/python
Vladislav
пока хз
Grek 🇺🇦
ты бы не спешил с дистрами играться, покажи таск дай больше подробностей
Grek 🇺🇦
а то может и луна в водолее, а ты сразу дистр менять)
Grek 🇺🇦
ага, и 3 питон явно на контроллере, а на центоси 2?
Vladislav
в нем дело?)
Vladislav
пойду пробовать тогды
Grek 🇺🇦
хз, но помнится тут пару дней назад такое обсуждали
Vladislav
найти бы
Vladislav
пойду тогда разбираться
Sergey
пойду тогда разбираться
synchronize работает локально, на контроллере (см. доку)
Sergey
вот и весь разбор
Vladislav
synchronize работает локально, на контроллере (см. доку)
то есть он пытается по ссш зайти на самого себя? Тобишь под тем же юзером и паролем на тот хост где ансибл?
Vladislav
бинго жи :-)
ух ты ж епт) спасибо
Sergey
ух ты ж епт) спасибо
Документация - страшная, но великая вещь
Sergey
там не по русски :D
Я в твоих ямлах тоже кириллицу не нашёл ;-)
Vladislav
Документация - страшная, но великая вещь
а может скажешь, как то можно сделать, чтобы ансибл выполни нужную роль по паролю, а потом переключился на другие таски
Vladislav
щас секу я покажу таск
Vladislav
- hosts: deploy_host vars_prompt: - name: "deploy_pass" prompt: "Enter deploy_pass" private: yes vars: ansible_port: 22 ansible_user: root ansible_password: "{{ deploy_pass }}" tasks: - name: Deploy user for new production node include_role: name: users Вот чтобы после роли users, ансибл переконектился по ssh без пароля. я думал так как нить, снова указать hosts. Но некрасиво и неправильно наверно - hosts: deploy_host
Vladislav
@tnt4brain написал)
Grek 🇺🇦
так, чел, опиши свою задачу, а не то с чем ты столкнулся, а то пока это все выглядит не очень, не понятно. типа: скопировать какие-то данные с ансибл контроллера на другой хост вот инвентарь, вот таска...
Vladislav
так, чел, опиши свою задачу, а не то с чем ты столкнулся, а то пока это все выглядит не очень, не понятно. типа: скопировать какие-то данные с ансибл контроллера на другой хост вот инвентарь, вот таска...
ставится ОС с нуля. Задается пароль для рута. Потом запускается плейбук, где я ввожу пароль рута для конекта. Раскатываются юзеры с ключами. Дальше ставятся питоновские пакеты и другие. И наконец-то копируются модули сервиса с хоста где ансибл. И вот падает при sync
Vladislav
что еще) я не понимаю)
George
нет, Vcloud
Тогда cloud init
Vladislav
ссылкой ткнуть
Vladislav
Допили процесс до нормального. ОС ставится с нули = через user-data раскладываются ключи для root и ansible.
ключи я раскладываю как раз в таске, хочется максимально автоматизировать процесс.
Sergey
ключи я раскладываю как раз в таске, хочется максимально автоматизировать процесс.
Это ты уже донастраиваешь тачку, а по-правильному ключи падают в неё сразу после установки без твоего вмешательства.
Sergey
Вот: https://github.com/vmware/cloud-init-vmware-guestinfo
Sergey
И это не про ансибл, ну вот реально.
Sergey
Да, я неправильно обозвал, это не user-data, это cloud-init
Sergey
Приношу свои извинения.
Vladislav
Приношу свои извинения.
не стоит, что Вы :D
Dan
Очень странная фигня: - name: generate scylla_servers.yml for monitoring script: files/minigenconfig.py register: genconfig run_once: true таск генерирует некий yaml в stdout - name: store output in a file copy: content: "{{ genconfig.stdout }}" dest: ./genconfig.yml delegate_to: 127.0.0.1 run_once: true выхлоп: 12:01:28 TASK [store output in a file] **************************** 12:01:28 fatal: [10.142.0.3]: FAILED! => {"msg": "Failed to get information on remote file (./genconfig.yml): sudo: a password is required\n"} Но там нет become (я пробовал become: false тоже). Плюс выполняться оно должно локально а не на 10.142.0.3
Grek 🇺🇦
ну, так сделай через local_action, или делай delegate_to: localhost
Отделение Bereke Bank
Убери ./ Или напиши нормальный путь
Grek 🇺🇦
кстати да, он же по дефолтному временному пути будет пытаться записать файл
Dan
делал и local_action и delegate_to: localhost - та же хрень
Grek 🇺🇦
Чудес не бывает, откуда там появляется тот ip?
Dan
этого я и сам не понимаю. Оно все работает на моем лептопе, но валится на дженкинсе...
Grek 🇺🇦
Запусти в Дженкинс с -vvvv
Grek 🇺🇦
Посмотри откуда это все приходит
Dan
бежит... отпишусь через неск. сек
Отделение Bereke Bank
для block-а тасок можно использовать loop (with_items)? в доке не нашел упоминаний. может пробовал кто
Dan
для block-а тасок можно использовать loop (with_items)? в доке не нашел упоминаний. может пробовал кто
нет. только писать отдельный файл с тасками и заворачивать include_task в loop
Dan
война за добавление итераций в блок длилась годами :)
Отделение Bereke Bank
- name: Bla bla include_tasks: foo.yml loop: '{{ bar }}'
Dan
ага
Отделение Bereke Bank
спасибо. даже не знал что так можно 😃
Dan
спасибо. даже не знал что так можно 😃
к сожалению только так и можно, там по ходу для того чтоб сделать итерацию на block надо полностью переписывать имплементацию блоков
Dan
Посмотри откуда это все приходит
нашел, у меня на весь плейбук висел become:true. ссзб короче
Grek 🇺🇦
С become разобрались, круто, а ip то откуда брался?)
Dan
С become разобрались, круто, а ip то откуда брался?)
оно шло на айпи, и оттуда делегировало обратно на локалхост. оказывается это нормально
Grek 🇺🇦
да, это норм, но обычно пишет [some ip -> localhost] в таске