@pro_ansible

Страница 224 из 625
Oleksandr
22.06.2017
14:55:52
только в ansilble-playbook - > —limit '! group'

Igor
22.06.2017
14:58:49
Гм, это не спасает вот при какой ситуации, если в одном плейбуке: Host: all Role: ... Host: windows App ---- ansible пытается собрать факты с помощью судо с винхостов и выдается ошибка

Когда я запускаю ansible-playbook -l windows...

Oleksandr
22.06.2017
15:00:00
gather_facts: false

Google
Igor
22.06.2017
15:02:44
тык мне надо факты собирать, только в венде свои, а не пытаться виндовые с вендовых хостов линуксовые факты собирать

вообщем, проблема в том, что я в одном плейбуке, где используются hosts: all hosts: windows не могу использовать

Oleksandr
22.06.2017
15:05:20
не работаю с виндой. по доке - http://docs.ansible.com/ansible/intro_windows.html#windows-facts

Igor
22.06.2017
15:07:03
по доке всё ок

а проблема начинается когда в одном плейбуке вин и лин хосты и используется в лин: hosts: all

Oleksandr
22.06.2017
15:11:14
может все таки - разделяй и властвуй ?

Igor
22.06.2017
15:11:49
я думаю это из раздела "мы не доработали функционал в ansible"

Igor
22.06.2017
15:18:34
В том то и дело, что никакой

Become - не включен, become: no не помогает

Oleksandr
22.06.2017
15:20:08
ну он для галочки ) там подозреваю не может быть sudo. Хз как ансибл на винде себя ведет и под кем там работает

Igor
22.06.2017
15:23:11
я понял в чём дело

Google
Igor
22.06.2017
15:24:10
- hosts: all become: yes - hosts: windows become: no TASK [Gathering Facts] ******************************************************************************************************************************************************************************************** Using module file /usr/local/lib/python2.7/dist-packages/ansible/modules/windows/setup.ps1 fatal: [app2]: FAILED! => { "failed": true, "msg": "Internal Error: this connection module does not support running commands via sudo"

become: no в группе win - игнорируется, когда become: yes в hosts: all

да и при чём тут это

когда я с помощью тэга указывааю выполнять роль только из группы windows

надо пилить багрепорт

Oleksandr
22.06.2017
15:32:38
тебе четким написано )

роли желательно накатывать с become: true как по мне... все остальное по надобности ... отключать на уровне тасков или включать... гибко можно

Igor
22.06.2017
15:34:41
мне кажется ты не читаешь что я пишу

- hosts: all become: yes - hosts: windows become: no

какой к чёрту sudo?

если я выполняю только роль в группе хостов windows

Oleksandr
22.06.2017
15:39:43
с become ты уже понял ) тут не прокатит - кто последний тот и папа .... точно так же и handlerами ..... если ты ждешь что он отработает и у тебя два одинаковых хендлера - в монстро плейбуке .... то фиг там... отработает только первый... с переменными наоборот

в общем - разделяй и властвуй

Igor
22.06.2017
15:40:48
мне кажется это противоречие - баг, и это недоразумение надо доработать )

Oleksandr
22.06.2017
15:40:54
да что ты ))))

Igor
22.06.2017
15:41:04
представь себе

чтобы sudo не пыталось выполняться к windows модулям

Oleksandr
22.06.2017
15:42:08
это когда у тебя есть роль nginx+роль которая завязана на nginx и две группы хостов ... на одних ты ставишь nginx + на других nginx и еще что то... так вот .... если на первых у тебя по условию не должет рестартовать nginx он и на вторых не отрестратится - А ТЕБЕ НАДО ЧТОБЫ ОТРЕСТАРТИЛСЯ.... выход один - называть по разному один и тот же хендлер... либо разделять плейбуки

become паходу работает точно также

могу в коде найти

Google
Igor
22.06.2017
15:44:20
проблема в том, что become: yes не может ни при каких условиях отработать на windows модулях которые это не поддерживают, а если в ansible есть win модули которые это не поддерживают, стало быть они не должно быть попыток выполнить эти модули через sudo

я согласен на работающий become: no при host: all, become: yes

меня это устроит

lastsky
22.06.2017
15:49:37
господа, вот я чот затупил, спните с мертвой точки. выполняю плейбук, в нём таски. - hosts: all и мне надо, чтобы одна - две задачи выполнились на только одном хосте. писать два раза - hosts: all и - hosts: host1234 неверно. я откуда-то помню конструкцию when: blablabla in ansible_hostname но чот не могу понять рабочая ли она?

when: ansible_hostname == "host1234" спасибо :))

Oleksandr
22.06.2017
16:08:38
@lastsky - delegate_to: host and run_once: true

один раз - на конкретном хосте

можно захардкодить как when: inventory_hostname=='blablabla'

lastsky
22.06.2017
16:12:57
@lastsky - delegate_to: host and run_once: true
вот мне как раз так и надо. но я хотел без delegate чтобы. :) мне проще захардкодить

потому что там на самом деле будет hostname переменной

которая определяется в начале через vars_prompt

то есть, очень специфический кейс

lastsky
22.06.2017
16:13:33
вне best practice

Oleksandr
22.06.2017
16:13:38
Не проблема это и с delegate_to использовать

lastsky
22.06.2017
16:22:23
мне просто показалось неправильным что вот есть группа серверов. на первый попавшийся ansible идет и с него delegate_to делает на целевой хост. целевой хост есть в группе этих хостов.

логичнее на него просто прямо сходить будет, вот такая логика

поэтому через when: ansible_hostname == "{{ target_host }}" отлично ограничивается

Алексей
22.06.2017
16:48:58
Привет. Объясните мне, дурачку. Почему become распостраняется на все последующие таски, а не ограничивается областью видимости задачи?

Или блока/роли.

lastsky
22.06.2017
16:51:25
cat ansible.cfg | grep become ?

Google
lastsky
22.06.2017
16:52:29
потому что у меня есть пример таска где become: false и он выполняется как надо а последующие - без

Алексей
22.06.2017
16:54:28
cat ansible.cfg | grep become ?
$ cat ./.ansible.cfg |grep become # https://docs.ansible.com/ansible/become.html#becoming-an-unprivileged-user become=True become_method=sudo

lastsky
22.06.2017
16:55:57
ну всё понятно, закомментируй become в конфиге.

и тогда будет per-task / per-role / per-play

Алексей
22.06.2017
16:56:09
Вот именно, приходится добавлять become:false , что не очень удобно. Особенно при изменении порядка тасков.

[Anonymous]
23.06.2017
04:25:38
@FolderArchive - канал, где сливают платный полезный - образовательный контент и курсы, например можно скачать курсы "Нетологии" или все курсы "Бизнес Молодости".

Igor
23.06.2017
10:15:53
Кстати, коллеги

Admin
ERROR: S client not available

Igor
23.06.2017
10:16:08
а есть возможность в ansible устанавливать всякое левое ПО

через инсталляторы setup.exe всякие и управлять этим

?

Dmitry
23.06.2017
10:16:54
проблемы виндоебов ... :)

но вообще есть что-то http://docs.ansible.com/ansible/win_package_module.html

lastsky
23.06.2017
10:20:33
ещё есть чоколатей

который ставит кучу всего автоматом, вполне можно выжить

Pavel
23.06.2017
10:20:59
ну если сетап поддерживает "quiet", думаю проблем не должно быть, а если только интерактивно в гуях..... тут уж, как говорится много вопросов

Igor
23.06.2017
10:23:24
ага, спасибо

Dmitry
23.06.2017
10:28:07
ну кмк любой msi должен уметь ставиться молча, не?

там же вроде можно как-то автоответы подсунуть

Google
Anatoly
23.06.2017
10:28:51
Igor
23.06.2017
10:28:55
так мне не msi надо

а левый софт

Dmitry
23.06.2017
10:29:16
а осталось что-то левое без msi?

нахер оно такое, совсем уж самопал какой-то

Anatoly
23.06.2017
10:30:24
одинэска7.3 какаянибудь?

Igor
23.06.2017
10:32:06
полно софта которое не распространяется в формате msi

а с какими-то другими инсталляторами

хотя там внутри может быть msi, надо проверить

Dmitry
23.06.2017
10:34:33
внутри там обычно msi

Anatoly
23.06.2017
10:34:44
можно сходить к вендору в help и спросить умеет ли их инсталятор в quiet и кушать конфиг из кли. если не умеет то задуматься о смене вендора. или костялять на павершеле что то

Dmitry
23.06.2017
10:34:50
обернутый каким-нить installshield'ом

Anatoly
23.06.2017
10:38:03
а я правильно понимаю что в табличке те которые поставлены No в "Can build Windows Installer" не имеют msi внутри, да? https://en.wikipedia.org/wiki/List_of_installation_software

Kirill
23.06.2017
11:44:36
Видимо да

Но это так убого - и проблемы с установкой обнов после самозаворачивания

А чоколати круть, но вроде собственный центр обновления только по платной подписке?

Pavel
23.06.2017
13:50:10
винда нацелена, насолько я понимаю, на "корпоротивных клиентов" - потому считается что никаких анизимбей быть не должно - только через АД

lastsky
23.06.2017
14:38:00
всус там

wsus

(или он был был несколько лет назад)

Страница 224 из 625