Иван
Ansible почему-то не хочет работать с никакими модулями кроме RAW на системах под arm
ругается на ssh коннект (вручную зайти могу)
Если ad-hoc удачной (к x64 девайсу) и неудачной комманде добавить ключ -vvv, то разница в следующей строке в следующем месте (на скриншоте).
Что значит выделенный параметр, кто-нить знает?
Спасибо.
Иван
Albert
Albert
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
это для примера
Nick
передача stdout скрипта с удаленной машины на локальную машину (размер - десятки гигабайт)
kiosaku
сломается связь - заново будешь передавать?
Nick
сломается связь - заново буду передавать
Dmitry
с какого места?
Dmitry
с начала?
Nick
да
хранения этого вывода на удаленной машине (где собственно выполняется команда) не предусматривается
Pavel
Nick
не проще. задача абсолютно простая - организовать прием stdout большого размера запущенного удаленно скрипта и запись его на локальный диск в относительно синхронном режиме (мы не можем рассчитывать на то, что stdout будет сильно меньше, чем локальный объем свободной памяти)
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
Pavel
Pavel
Aleksey
Aleksey
вот диска у него несколько деятков гигов нету. а памяти есть )
Nick
Адаптивный Рекомбинатор
Dima
а можно озвучить размер stdout вывода? )
kiosaku
логируй в syslog
kiosaku
и rsyslog-ом гони на удалённый хост
kiosaku
заодно ничего не потеряешь при нестабильном канале связи
Nick
Nick
как-бы дело-то не в объеме, на самом деле - ведь типичная задача - сформировать поток (tar, dump, dd, еще что угодно) и доставить его на хост, с которого установлено ssh соединение
Lex
Господа, хочу деплоить с помощью docker_service но использовать существующий docker-compose.yml, есть ли простой способ переопределить некоторые параметры, такие как image: и build:?
Prime
Делаешь их переменными и переопределяешь через extra_vars
Anonymous
как бы красиво составить разный список устанавливаемых пакетов в зависимости от дистрибутива? Допустим, большинство пакетов совпадает, а вот один называется по-разному в центоси и дебиане. можно ли это inline обработать, не деля на два разных списка?
Dima
+1. хороший вопрос для понедельника.
Dmitry
Dmitry
я встречал моменты, когдла они вообще по разному называются
sysvinit
используй переменную с инлайн условиями
Artem
Anonymous
Dmitry
если эти пакеты тебе известны, конечно, то можно
Dima
Anonymous
Anonymous