Иван
Ansible почему-то не хочет работать с никакими модулями кроме RAW на системах под arm ругается на ssh коннект (вручную зайти могу) Если ad-hoc удачной (к x64 девайсу) и неудачной комманде добавить ключ -vvv, то разница в следующей строке в следующем месте (на скриншоте). Что значит выделенный параметр, кто-нить знает? Спасибо.
Иван
Иван
Еще один v добавь: -vvvv
Ну, к рабочему кнопку уже завтра подойду, попробую, спасибо
hackru
я всегда говорил что девопсы однокнопочные
Igor
Кстати, коллеги, а передача доп. аргументов ansible через -e "arg:blabla" имеет приоритет над установкой их в /roles/role/{default,vars/main.yml?
Igor
Ну т.е., допустим у меня в defaults/main.yml записано user: blabla Если я запускаю указываю эту переменную через -e в аргументах, у меня выполнится то, что в аргументах или то, что записано в defaults/main.yml
Igor
?
Albert
Igor читай тут: http://docs.ansible.com/ansible/playbooks_variables.html#variable-precedence-where-should-i-put-a-variable
Igor
спасибо
Nick
коллеги, а как реализовать такую простейшую операцию? ssh hostname /bin/dd if=/remote_bigfile |cat - >/local_bigfile через local_action и shell? или есть более красивые методы?
Nick
естественно, вопрос не сводится к задаче именно копирования файлов )
Nick
это для примера
Sergey
естественно, вопрос не сводится к задаче именно копирования файлов )
раз нужно сделать не то, что написано - стоит сказать, что именно нужно сделать. libastral.so не найдена.
Nick
передача stdout скрипта с удаленной машины на локальную машину (размер - десятки гигабайт)
kiosaku
сломается связь - заново будешь передавать?
Nick
сломается связь - заново буду передавать
Dmitry
с какого места?
Dmitry
с начала?
Nick
да хранения этого вывода на удаленной машине (где собственно выполняется команда) не предусматривается
Pavel
передача stdout скрипта с удаленной машины на локальную машину (размер - десятки гигабайт)
а не проще примонтировать на удаленной машине по sshfs и на него писать?
Nick
не проще. задача абсолютно простая - организовать прием stdout большого размера запущенного удаленно скрипта и запись его на локальный диск в относительно синхронном режиме (мы не можем рассчитывать на то, что stdout будет сильно меньше, чем локальный объем свободной памяти)
Pavel
ну так примонтировал локальный диск к удаленной машине, и там уже можно делать любые манипуляции "локально"
Адаптивный Рекомбинатор
а монтировать это не избыточно для такой задачи?
Pavel
а монтировать это не избыточно для такой задачи?
так и задача непонятно какая - туманно: надо что-то сделать на удаленной машине, но результат из стдаут должен быть на локальном диск
Pavel
и ничего плохого в монтировании не вижу...
Адаптивный Рекомбинатор
ну задача проста
Адаптивный Рекомбинатор
на удаленной машине запускаем софт, он генерит stdout, его надо доставить на localhost
Адаптивный Рекомбинатор
для красоты можно добавить, что между нами фаерволл, где прокинут 22й порт и все.
Dima
register result + copy delegate_to localhost content={{ result }} dest=file.txt
Адаптивный Рекомбинатор
т.е. вот это "ssh hostname /bin/dd if=/remote_bigfile |cat - >/local_bigfile" требуется сконвертировать в ансибл плейбуку
Dima
а. размер файла большой - тогда модуль fetch.
Адаптивный Рекомбинатор
файла нет
Адаптивный Рекомбинатор
есть поток - stdout
Aleksey
надежного решения нет.
Aleksey
stdout via ssh плохо
Aleksey
быть может существуют решения окторые эт будут делать. но они будут ломкие
Dima
ну я бы попробовал какой-нибудь модуль затестировать типа shell - name: This command will change the working directory to somedir/ and will only run when somedir/somelog.txt doesn't exist. shell: somescript.sh >> somelog.txt args: chdir: somedir/ creates: somelog.txt
Dima
а потом fetch модулем взял бы somelog.txt
Aleksey
stdout надо там сохранеять
Aleksey
а потом rsync тянуть
Адаптивный Рекомбинатор
так не пойдет
Aleksey
или fetch
Адаптивный Рекомбинатор
представь что там нет места
Aleksey
Андрей, как ни крути будет ломко
Адаптивный Рекомбинатор
это допустимо )
Aleksey
ну так бахни nfs
Aleksey
ничем не хуже
Адаптивный Рекомбинатор
чем нфс поможет? ))
Dima
- name: Bootstrap a host without python2 installed raw: dnf install -y python2 python2-dnf libselinux-python попробуй сделать register: result на raw и посмотреть что будет. других вариантов нету, raw - последний изврат.
Адаптивный Рекомбинатор
а, всмысле смонтировать локал диск на той машине?
Dima
может быть ты не увидел, но я повторю: вторым действием ты себе локально вывод можешь записать так: copy delegate_to localhost content={{ result }} dest=file.txt
Aleksey
вот диска у него несколько деятков гигов нету. а памяти есть )
Адаптивный Рекомбинатор
Dima
а можно озвучить размер stdout вывода? )
kiosaku
логируй в syslog
kiosaku
и rsyslog-ом гони на удалённый хост
kiosaku
заодно ничего не потеряешь при нестабильном канале связи
Nick
как-бы дело-то не в объеме, на самом деле - ведь типичная задача - сформировать поток (tar, dump, dd, еще что угодно) и доставить его на хост, с которого установлено ssh соединение
Lex
Господа, хочу деплоить с помощью docker_service но использовать существующий docker-compose.yml, есть ли простой способ переопределить некоторые параметры, такие как image: и build:?
Prime
Делаешь их переменными и переопределяешь через extra_vars
Anonymous
как бы красиво составить разный список устанавливаемых пакетов в зависимости от дистрибутива? Допустим, большинство пакетов совпадает, а вот один называется по-разному в центоси и дебиане. можно ли это inline обработать, не деля на два разных списка?
Dima
+1. хороший вопрос для понедельника.
Dmitry
я встречал моменты, когдла они вообще по разному называются
sysvinit
используй переменную с инлайн условиями
Anonymous
+1. хороший вопрос для понедельника.
на самом деле для вторника, но символически это понедельник
Dmitry
если эти пакеты тебе известны, конечно, то можно
Anonymous
если эти пакеты тебе известны, конечно, то можно
да, известны. ну к примеру apache2/httpd
Dmitry
да, известны. ну к примеру apache2/httpd
https://github.com/geerlingguy/ansible-role-apache/tree/master/tasks