@pro_ansible

Страница 43 из 625
lastsky
24.08.2016
00:38:19
https://github.com/fboender/ansible-cmdb FYI

Igor
24.08.2016
00:39:28
чо за overview?

https://raw.githubusercontent.com/fboender/ansible-cmdb/master/contrib/screenshot-overview.png

lastsky
24.08.2016
00:41:37
интересная штука, генерирует html отчетики по inventory. есть в homebrew.

Google
lastsky
24.08.2016
00:42:16
usage: user@macos $ brew install ansible-cmdb

Max
24.08.2016
01:01:09
а для чего это вообще?

lastsky
24.08.2016
01:03:30
утилита не связана с ansible, но использует ansible inventory, оч. удобно.

Dmitrii
24.08.2016
01:03:53
оно кажется не умеет в yml

а, понял, оно просто парсит сетап вывод)

Max
24.08.2016
01:09:23
я просто не понимаю зачем это

у меня всё то же самое в заббиксе есть в риалтайме

Алексей
24.08.2016
03:14:28
утилита не связана с ansible, но использует ansible inventory, оч. удобно.
да, для начальной проверки при приемке серверов выглядит прикольно

Dmitriy
24.08.2016
06:13:42
Mikhail
24.08.2016
08:09:28
может кто подскажет как лучше поступить

есть список всех пользователей с ключами и другими параметрами в переменных

в плейбуке ансибл проходтся по нему и создает этих пользователей

так вот как можно ограничить каких создавать а каких нет?

Google
Алексей
24.08.2016
08:10:49
плохая идея упроавлять пользователями через ансибл....

Mikhail
24.08.2016
08:11:26
тут задача больше стоит - создать

так вот, есть item с именем пользователя, как мне выяснить есть ли такое имя в массиве, который я передаю для роли отдельно, когда вызываю ее?

что-то вроде:

lastsky
24.08.2016
08:13:47
вот я тоже размышлял над этим вопросом, у меня аналогичная проблема. создавать юзеров ролью. при этом проверять, что нужные юзеры есть а ненужных (уволенных, например) нет - через lineinfile.

Алексей
24.08.2016
08:13:50
нее... нет такой задачи....

lastsky
24.08.2016
08:14:11
извините, перебил :)

Алексей
24.08.2016
08:14:20
авторизация пользовтелей в системе более чем с 5 серверами - ldap

Mikhail
24.08.2016
08:15:04
- name: Create Users user: name={{ item.name }} shell=/bin/bash state=present uid={{ item.uid }} ignore_errors: yes with_items: '{{users}}' when: item.name in {{ allowed_users }} ???

Алексей
24.08.2016
08:15:08
менее чем с 5-ю ансибл не нужен

lastsky
24.08.2016
08:16:01
согласен что ldap. но иногда есть требование что ходить только ключами и никакими не паролями.

(а у каждого свой ssh ключ)

Magistr
24.08.2016
08:16:26
а ключи в лдап тоже можно класть

Mikhail
24.08.2016
08:16:34
авторизация пользовтелей в системе более чем с 5 серверами - ldap
cпасибо за предложение но нам ldap не подходит

Алексей
24.08.2016
08:16:40
lastsky
24.08.2016
08:16:52
о!

Алексей
24.08.2016
08:17:11
да. у меня есть сборник таких вот говн :)

Александр
24.08.2016
08:17:22
https://github.com/debops/ansible-users
Спасибо, забрал.

Алексей
24.08.2016
08:17:40
там весь debops можно забирать

но не стоит

Google
Mikhail
24.08.2016
08:17:47
а этот репозиторий давно заметил, там много инетресного

lastsky
24.08.2016
08:17:47
+1, спасибо!

Александр
24.08.2016
08:18:09
там весь debops можно забирать
Я руками всё переписываю для понимания, что куда и зачем. ?

lastsky
24.08.2016
08:19:41
я беру только лучшие практики и себе внедряю, иногда бывает что в простых плейбуках довольно интересные вещи попадаются.

Mikhail
24.08.2016
08:30:49
почитал, не совсем то что нужно

вот есть же фильтр: when: item.name != 'root'

можно ли сделать что-то вроде

when: item.name != ['aa','bb','cc']

?

lastsky
24.08.2016
08:32:53
хмм какую проблему должен решить !=root?

Mikhail
24.08.2016
08:33:06
это для примера

один элемент можно отфильтровать

а вот массив - уже не знаю как

lastsky
24.08.2016
08:33:35
“как можно ограничить каких создавать а каких нет”?

Mikhail
24.08.2016
08:34:17
root это пример username

есть база где расписаны все пользователи, из нее нужно выбрать только часть

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

можно добаваить в базу параметр с группой, тогда можно отфильтровать по группе

это частично решает проблему

наверное так и нужно делать

Google
Mikhail
24.08.2016
08:36:55
просто если пользователь входит в несколько групп - опять все возвращается к началу

или если нужно дать доступ нескольким группам

lastsky
24.08.2016
08:41:59
ну здесь короче огромный риск погрязнуть в “программировании в конфигах” и это плохой путь, неверный. с другой стороны как-то нужно подойти.

например, на всех серверах одинаковый набор юзеров. проверяем есть ли юзер, нету -> катим, есть -> не катим. повторить для группы, итд, например.

Mikhail
24.08.2016
08:43:56
у меня все проще - мне не нужно удалять/приводить состояние сереров к состоянию в ансибл базе/плейбуке

мне нужно просто создать пользователей

я думал может есть какой синтаксис как сделать такой фильтр

перекопал доки

lastsky
24.08.2016
08:45:22
через vars тогда

Vyacheslav
24.08.2016
08:45:34
when: var in {{ bar }} не работает?

Mikhail
24.08.2016
08:46:22
item.name in lookup {{ allowed_users }} - нет

Vyacheslav
24.08.2016
08:46:33
в bar список юзеров

Mikhail
24.08.2016
08:48:21
{"failed": true, "msg": "The conditional check 'item.name in lookup {{ allowed_users }}' failed. The error was: template error while templating string: expected token ',', got 'string'.

Vyacheslav
24.08.2016
08:49:31
ну я же без lookup пишу

просто вхождение переменной их массива

Mikhail
24.08.2016
08:50:55
fatal: [192.168.40.170]: FAILED! => {"failed": true, "msg": "The conditional check 'item.name in {{ allowed_users }}' failed. The error was: template error while templating string: expected token ',', got 'string'. String: {% if item.name in [u'user'] %} True {% else %} False {% endif %}\n\nThe error appear

var in {{ bar }} было первым что я пробовал

в разных варинатах

потом уже начал с lookup и другими вещами мучаться

сейчас попробовал - если написать массив прямо в плее - работает

Google
Mikhail
24.08.2016
09:03:16
вобшем все оказалось очень тривиально

item.name in "{{ allowed_users }}"

так работает

сорри что отвлек

lastsky
24.08.2016
09:06:52
на github клади потом рабочий вариант вместо извинений =)

Mikhail
24.08.2016
09:07:19
какой гитхаб?

lastsky
24.08.2016
09:14:09
ну своя, например, репа, если это не попадает под nda :)

1010101
24.08.2016
09:36:46
хочу один template использовать в разных ролях. как быть?

Igor
24.08.2016
09:37:18
используй, в чём трабла?

1010101
24.08.2016
09:38:12
он находится сейчас в директории с одной ролью, и в нем есть переменные из этой роли.

ссылаться тупо на него же из плэйбука другой роли?

lastsky
24.08.2016
09:39:25
так это… а ты не попробовал поместить его в корень в templates а не в роль в templates?

1010101
24.08.2016
09:39:41
получится наглухо связываем роли

Dmitry
24.08.2016
09:40:05
но ведь именно этого ты и добиваешься своей постановкой задачи :)

1010101
24.08.2016
09:40:11
там есть одна роль-специфичная переменная (

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

lastsky
24.08.2016
09:42:48
определи эту переменную в inventory.

или ещё где-нибудь.

и тогда роли не свяжутся между собой.

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