@pro_ansible

Страница 474 из 625
Stepan T.
22.05.2018
05:45:36
Я намекаю на отсутствие необходимости прямого доступа (в моём случае - разработчиков) как к самому Ансиблу, так и к возможности его натравливать на хосты.
tower, AWK или какой-нибудь другой фронтенд? Похоже придётся писать какую-то документацию для использования этих инструментов. И всё равно, в этом случае у пользователей из под которых это хозяйство работает, остаются права вытворять на целевых хостах всякую дичь используя пайтон. Очень жаль.

Wom
22.05.2018
05:46:13
кому-то доверять придётся

Stepan T.
22.05.2018
05:46:44
кому-то доверять придётся
очень тонкая материя

Google
Sergey
22.05.2018
05:47:27
кому-то доверять придётся
+100500 Один фиг для полной настройки хоста нужен всемогущий пользователь ОС. Если эта учётка принадлежит человеку - у меня для вас плохие новости.

Stepan T.
22.05.2018
05:53:24
+100500 Один фиг для полной настройки хоста нужен всемогущий пользователь ОС. Если эта учётка принадлежит человеку - у меня для вас плохие новости.
Это решается предконфигурированным образом жёсткого. Например образ clonezilla, пароль от локального пользователя с полными правами на выполнение всего из под sudo потерян навсегда, локальный пользователь, которому правами доступа разрешено настраивать сеть и подключать хост к системе авторизации - в доступе. Дальше все настройки проводятся пользователями, которым политикой разрешена возможность запуска необходимого переченя ПО для настройки системы.

И уже учёткой из единой системы авторизации-аутентификации запускаются плэйбуки для каких-то типовых настроек.

Sergey
22.05.2018
05:55:20
".....Дальше все настройки проводятся пользователями, которым политикой разрешена возможность запуска необходимого переченя ПО для настройки системы...." <---- ди-линь! оно! искомая учётка.

ну или ansible-pull, если угодно, внутри образа. запустился, вытащил в себя плейбук, настроил всё кругом.

Stepan T.
22.05.2018
05:56:15
Эта учётка довольно жёстко ограничена. Не получится зайти в хомяк другого пользователя

Sergey
22.05.2018
05:57:29
как обычно - в доке

Хотя не, не то. В общем, твой кейс Ансиблом не покрывается- тут скорее какой-нить Шеф или Паппет, где в полной мере pull присутствует.

Stepan T.
22.05.2018
06:05:18
Я правильно понял, что ansible-pull тянет выложенный playbook.yml и делает ansible-playbook ~/path/to/playbook.yml localhost -bK? Ну или типа того?

Stepan T.
22.05.2018
06:08:10
Ну принцип работы примерно такой, да?

Google
Stepan T.
22.05.2018
06:08:17
+-

Sergey
22.05.2018
06:11:23
Ну принцип работы примерно такой, да?
Возможно, но - ещё раз - лучше посмотри код, чтобы не наделать неверных выводов из моих слов.

Stepan T.
22.05.2018
06:13:34
Вырисовывается какой-нибудь systemd *.service файл, который при включении/выключении компа тянет плэйбук и конфигуряет систему. Даём права доступа на редактирование этого *.service, чтобы ребята из ТП могли его конфигурять, меняя ссылку на playbook.yml, ведём учёт изменений этого самого playbook.yml в репозитории и получаем какое-то подобие групповых политик венды. Обожаю линукс в качестве desktop среды.

Stepan T.
22.05.2018
06:18:59
троллейбус.jpg
Есть какой-то инструмент, который подходит лучше?

=(

Vadim
22.05.2018
06:19:22
Freeipa, fleet commander

Stepan T.
22.05.2018
06:19:23
fleet commander в голову приходт, но там привязка к DE

Freeipa, fleet commander
Ты видел принцип работы FC?

Vadim
22.05.2018
06:20:16
Stepan T.
22.05.2018
06:20:33
Пардон, что такое АПВС?

Vadim
22.05.2018
06:20:55
"А почему Вы спрашиваете?"

Stepan T.
22.05.2018
06:22:46
FC очень ресурсоёмко, там же надо гипервизор для KVM держать

В общем это рассматривалось, но есть ограничения. Например у нас практически 95% хостов в качестве DE используют xfce которая FC не управляется

Такой процент условно-легковесного DE вызван тем, что около 50% пользователей сидят за неттопами с intel atom 450, 510, 525

В общем итоге fleet commander это здорово, но для нас неприменимо.

Puppet лично мной рассматривался, но по каким-то причинам (сложность настройки?) идея руководителем отвергнута. Так что приходится вытворять троллейбус.jpg

Кстати, спасибо за консультацию и помощь.

Google
Vadim
22.05.2018
06:31:13
Puppet лично мной рассматривался, но по каким-то причинам (сложность настройки?) идея руководителем отвергнута. Так что приходится вытворять троллейбус.jpg
Альтернативно я бы попробовал внедрить Fedora/Debian/по вкусу Atomic, с атомарными апдейтами и иммутабельным рутом

Alex
22.05.2018
07:06:01
точнее отвалится become

Alexander
22.05.2018
07:19:06
точнее отвалится become
Смотря что написано в sudoers

Stepan T.
22.05.2018
07:39:33
Сверху коллега написал, что для корректной отработкий плэйбуков на хостах, там нужно разрешить выполнять python с sudo

Adil
22.05.2018
08:15:02
Добрый день ребята. Подскажите пожалуйста как можно создать переменную или факт чтобы он был получен с одного хоста и был доступен для другого хоста?

Lev
22.05.2018
08:49:47
расскажите, а кто как тестирует написанные модули для ансибла? юнит тестами покрываете или роли гоняете? или на честном слове?

Stannis
22.05.2018
10:15:15
Парни, есть inventory: nocwww01 ansible_host=172.00.236.100 nocwww02 ansible_host=172.00.236.101 как добраться до ansible_host ?

Mikhail
22.05.2018
10:32:57
вопрос на три секунды: каким фильтром из host.example.com сделать host ?

Mikhail
22.05.2018
10:35:19
чет я и не помню такого во встроенных

alex
22.05.2018
10:36:19
python?

Mikhail
22.05.2018
10:36:50
это да, уже хак =)

Google
alex
22.05.2018
10:37:22
почему хак, ансибле официально же поддерживает вставки из питона

Mikhail
22.05.2018
10:37:27
msg: "var is : {{inventory_hostname.split('.')[0]}}"

работает, но выглядит таксе, на мой вкус

alex
22.05.2018
10:40:42
напишите custom филььтр parse_host на питоне, добавьте filter_plugins и делайте красиво {{var | parse_host}} что нибудь

но оно того не стоит )

Cyrill
22.05.2018
10:45:29
о местные гуру ансибла, я с ним знаком на пол шишечки, и моя задача тривиальна, но я не могу допедрить что я делаю не так, есть желающие помочь разобраться?

tasks: - name: change a str lineinfile: dest=/etc/sssd/sssd.conf regexp='^.+(111).+$' insertbefore=BOF line='222'

Cyrill
22.05.2018
10:48:34
root@spb0odv067:~# diff /etc/sssd/sssd.conf /etc/sssd/sssd.conf.origin 31c31 < 222 —- > ldap_default_bind_dn = cn=reader,dc=111,dc=su

вот спасибо,

за template

а можно пример ?

задача банально просто заменить символы на куче хостов в одном файле, неужели никто не сталкивался с подобным ?

я понимаю что через vim это делается одной строкой, но с другой стороны хотелось бы изучить данную фишку через ансибл

и так не надо делать ?))) твой модуль для этой задачи - template
Я не поясничал, я просто выразил глубокое уважение ко всем здесь присутствующим

штука народу шутка ли

alex
22.05.2018
10:57:36
есть фильтр urlsplit

Google
alex
22.05.2018
10:57:53
но он не покажет

Sergey
22.05.2018
11:15:27
задача банально просто заменить символы на куче хостов в одном файле, неужели никто не сталкивался с подобным ?
Ты исходишь из очень спорной постановки задачи - "я не отвечаю за то, что там, в конфиге, моё дело заменить несколько символов".

Cyrill
22.05.2018
11:19:33
Adil
22.05.2018
12:14:13
* создать факт на host1 * на host2 сделать hostvars[host1].factname
надо же указать имя хоста что находится в фаиле hosts?

Vadim
22.05.2018
12:19:24
Adil
23.05.2018
11:43:58
это имя хоста в инвентори энсибла
немогу понять. У меня в инвентори только [group name], потом я делаю set_fact на var1 в таске host1, и хочу получить этот var1 в другом host2

bebebe
23.05.2018
11:47:25
Natalia
23.05.2018
12:14:03
ребят, помогите, плиз. есть таск: tasks: - name: test raw: "curl https://path/to/config/test.conf | grep '{{ item }}'" with_items: - agents\[0\].protocol register: agents_data - debug: var: agents_data.results если выводить debug: var=agents_data.results, то инфа выводится: TASK [debug] ******************************************************************************************************** ok: [localhost] => { "agents_data.results": [ { "_ansible_ignore_errors": true, —----------куча всякого разного------------ "stdout": "agents[0].protocol=UDP\n", "stdout_lines": [ "agents[0].protocol=UDP" а из debug: var=agents_data.results.stdout_lines - VARIABLE IS NOT DEFINED! TASK [debug] ******************************************************************************************************** ok: [localhost] => { "agents_data.results.stdout_lines": "VARIABLE IS NOT DEFINED!" в чем косяк?

Salem
23.05.2018
12:15:39
raw:

Вообще это кощунство так делать, пользуйте shell или command

Vadim
23.05.2018
12:19:18
uri жи

Natalia
23.05.2018
12:19:47
command не групает, наверное не видит '|', а с shell тоже самое, что и с raw

Salem
23.05.2018
12:20:00
не, ей строки нужны из конфига по http

Natalia
23.05.2018
12:20:25
uri жи
может не совсем разобралась, но не прокатило. нужно грепнуть строку

и на эту строку потом заменить в другом файле

Vadim
23.05.2018
12:20:51
а вообще программирование на yaml'ах - это всегда хорошая идея

Salem
23.05.2018
12:22:15
command не групает, наверное не видит '|', а с shell тоже самое, что и с raw
Пробуйте лучше с shell, у него в аутпуте есть stdout_lines

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