
Alex Milushev
26.04.2017
13:57:31
и да, как более правильно в таком случае?
так:
- name: 'YUM - fire and forget task'
yum: name=docker-io state=installed
async: 1000
poll: 0
register: yum_sleeper
- name: 'YUM - check on fire and forget task'
async_status: jid={{ yum_sleeper.ansible_job_id }}
register: job_result
until: job_result.finished
retries: 30
или так:
- name: 'YUM - fire and forget task'
yum: name=docker-io state=installed
async: 150
poll: 5
?

Anatoly
27.04.2017
10:55:21
модуль docker_container говорит возвращает 500 с message: "No command specified" когда делаешь state: stopped
например:
- name: Container stop
docker_container:
name: "{{ item }}"
state: stopped
with_items: "{{ name }}"
чудесная тула этот Ансибл

Google

Hackru
27.04.2017
11:01:16
этот докер
fixed

Anatoly
27.04.2017
11:03:11

Sergey
27.04.2017
11:21:19
?
код ошибки 500 говорит о том, что "ниасилил" находится на сервере

Hackru
27.04.2017
11:52:48
ниасилил находится перед монитором

Иван
27.04.2017
15:58:33
Ansible почему-то не хочет работать с никакими модулями кроме RAW на системах под arm
ругается на ssh коннект (вручную зайти могу)
Если ad-hoc удачной (к x64 девайсу) и неудачной комманде добавить ключ -vvv, то разница в следующей строке в следующем месте (на скриншоте).
Что значит выделенный параметр, кто-нить знает?
Спасибо.

Albert
27.04.2017
16:03:38

Иван
27.04.2017
16:04:46

Albert
27.04.2017
16:05:22

Hackru
27.04.2017
16:05:27
я всегда говорил что девопсы однокнопочные

Anatoly
27.04.2017
16:07:39

Igor
28.04.2017
08:25:35
Кстати, коллеги, а передача доп. аргументов ansible через -e "arg:blabla" имеет приоритет над установкой их в /roles/role/{default,vars/main.yml?
Ну т.е., допустим у меня в defaults/main.yml записано
user: blabla
Если я запускаю указываю эту переменную через -e в аргументах, у меня выполнится то, что в аргументах или то, что записано в defaults/main.yml

Google

Igor
28.04.2017
08:26:47
?

Albert
28.04.2017
08:27:33
Igor читай тут: http://docs.ansible.com/ansible/playbooks_variables.html#variable-precedence-where-should-i-put-a-variable

Igor
28.04.2017
08:29:36
спасибо

Nick
28.04.2017
09:19:43
коллеги, а как реализовать такую простейшую операцию?
ssh hostname /bin/dd if=/remote_bigfile |cat - >/local_bigfile
через local_action и shell? или есть более красивые методы?
естественно, вопрос не сводится к задаче именно копирования файлов )
это для примера

Sergey
28.04.2017
09:39:28

Nick
28.04.2017
09:46:45
передача stdout скрипта с удаленной машины на локальную машину (размер - десятки гигабайт)

Alexander
28.04.2017
09:47:56
сломается связь - заново будешь передавать?

Nick
28.04.2017
09:48:09
сломается связь - заново буду передавать

Dmitry
28.04.2017
09:49:34
с какого места?
с начала?

Nick
28.04.2017
09:50:59
да
хранения этого вывода на удаленной машине (где собственно выполняется команда) не предусматривается

Pavel
28.04.2017
09:56:34

Nick
28.04.2017
10:00:01
не проще. задача абсолютно простая - организовать прием stdout большого размера запущенного удаленно скрипта и запись его на локальный диск в относительно синхронном режиме (мы не можем рассчитывать на то, что stdout будет сильно меньше, чем локальный объем свободной памяти)

Pavel
28.04.2017
10:06:15
ну так примонтировал локальный диск к удаленной машине, и там уже можно делать любые манипуляции "локально"

Andrey
28.04.2017
10:13:47
а монтировать это не избыточно для такой задачи?

Pavel
28.04.2017
11:24:22
и ничего плохого в монтировании не вижу...

Andrey
28.04.2017
11:49:25
ну задача проста

Google

Andrey
28.04.2017
11:49:47
на удаленной машине запускаем софт, он генерит stdout, его надо доставить на localhost
для красоты можно добавить, что между нами фаерволл, где прокинут 22й порт и все.

lastsky
28.04.2017
11:50:47
register result + copy delegate_to localhost content={{ result }} dest=file.txt

Andrey
28.04.2017
11:51:00
т.е. вот это
"ssh hostname /bin/dd if=/remote_bigfile |cat - >/local_bigfile" требуется сконвертировать в ансибл плейбуку

lastsky
28.04.2017
11:51:23
а. размер файла большой - тогда модуль fetch.

Andrey
28.04.2017
11:51:30
файла нет
есть поток - stdout

Алексей
28.04.2017
11:52:26
надежного решения нет.
stdout via ssh плохо
быть может существуют решения окторые эт будут делать. но они будут ломкие

lastsky
28.04.2017
11:53:05
ну я бы попробовал какой-нибудь модуль затестировать типа 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
а потом fetch модулем взял бы somelog.txt

Алексей
28.04.2017
11:53:16
stdout надо там сохранеять
а потом rsync тянуть

Andrey
28.04.2017
11:53:29
так не пойдет

Алексей
28.04.2017
11:53:31
или fetch

Andrey
28.04.2017
11:53:37
представь что там нет места

Алексей
28.04.2017
11:54:17
Андрей, как ни крути будет ломко

Andrey
28.04.2017
11:54:46
это допустимо )

Алексей
28.04.2017
11:55:04
ну так бахни nfs

Google

Алексей
28.04.2017
11:55:11
ничем не хуже

Andrey
28.04.2017
11:56:23
чем нфс поможет? ))

lastsky
28.04.2017
11:56:26
- name: Bootstrap a host without python2 installed
raw: dnf install -y python2 python2-dnf libselinux-python
попробуй сделать register: result на raw и посмотреть что будет. других вариантов нету, raw - последний изврат.

Andrey
28.04.2017
11:56:42
а, всмысле смонтировать локал диск на той машине?

lastsky
28.04.2017
11:57:11
может быть ты не увидел, но я повторю:
вторым действием ты себе локально вывод можешь записать так:
copy delegate_to localhost content={{ result }} dest=file.txt

Admin
ERROR: S client not available

Pavel
28.04.2017
11:57:13

Алексей
28.04.2017
11:57:39
вот диска у него несколько деятков гигов нету. а памяти есть )

Nick
28.04.2017
12:02:45

Andrey
28.04.2017
12:03:51

lastsky
28.04.2017
12:04:09
а можно озвучить размер stdout вывода? )

Alexander
28.04.2017
12:27:50
логируй в syslog
и rsyslog-ом гони на удалённый хост
заодно ничего не потеряешь при нестабильном канале связи

Nick
28.04.2017
14:09:51
как-бы дело-то не в объеме, на самом деле - ведь типичная задача - сформировать поток (tar, dump, dd, еще что угодно) и доставить его на хост, с которого установлено ssh соединение

Alex Milushev
28.04.2017
16:14:35
Господа, хочу деплоить с помощью docker_service но использовать существующий docker-compose.yml, есть ли простой способ переопределить некоторые параметры, такие как image: и build:?

Farit
29.04.2017
08:28:20
Делаешь их переменными и переопределяешь через extra_vars

Google

here1am
02.05.2017
11:01:57
как бы красиво составить разный список устанавливаемых пакетов в зависимости от дистрибутива? Допустим, большинство пакетов совпадает, а вот один называется по-разному в центоси и дебиане. можно ли это inline обработать, не деля на два разных списка?

lastsky
02.05.2017
11:02:26
+1. хороший вопрос для понедельника.

Dmitry
02.05.2017
11:02:51
я встречал моменты, когдла они вообще по разному называются

Dmitriy Varlamov
02.05.2017
11:03:15
используй переменную с инлайн условиями

Kuroi
02.05.2017
11:03:16

here1am
02.05.2017
11:03:20

Dmitry
02.05.2017
11:03:35
если эти пакеты тебе известны, конечно, то можно

lastsky
02.05.2017
11:04:25

here1am
02.05.2017
11:05:49

Dmitry
02.05.2017
11:06:30
вот тут можно глянуть

Dmitriy Varlamov
02.05.2017
11:08:06
можно примеры?
yaml
different_package: "{{ 'package_debian' if ansible_os_family == 'debian' else 'package_centos'}"'
packages:
- 'package_a'
- 'package_b'
- '{{different_package}}'
тип так