Sasha
25.10.2018
17:29:30
допустим. а как решить задачу?
Timur
25.10.2018
17:31:23
Там хорошо и на примерах разные способы циклов разобраны
⚓D
25.10.2018
17:32:02
Google
Sasha
25.10.2018
17:32:26
Timur
25.10.2018
17:32:36
Sasha
25.10.2018
17:32:52
⚓D
25.10.2018
17:33:08
Timur
25.10.2018
17:33:55
Аргументу нужна строка в виде ключа
А не список файлов :)
⚓D
25.10.2018
17:36:22
Timur
25.10.2018
17:38:15
Но это, если ключ один на пользователя и с таким же именем
⚓D
25.10.2018
17:39:41
Timur
25.10.2018
17:40:38
Sasha
25.10.2018
17:41:16
Google
Terminator
25.10.2018
17:41:37
@bop0hz будет жить. Поприветствуем!
Timur
25.10.2018
17:44:09
Sasha
25.10.2018
17:44:29
да, да, статья хорошая, как раз смотрю
⚓D
25.10.2018
17:50:16
Наверно нужно
with_subelements:
- "{{ users }}"
- key_files
А список такой:
users:
- username: user1
key_files:
- a
- b
Имя файлов будут в item.1
Имена пользователей в item.0.username
Timur
25.10.2018
17:51:36
Посмотрите ещё вариант with_nested
⚓D
25.10.2018
17:54:33
Lomakin
25.10.2018
17:59:18
Timur
25.10.2018
17:59:37
А ключи можно доставать с помощью lookup из полученного имени файла
⚓D
25.10.2018
18:02:20
Но я бы просто запихал сами ключи в переменные и вообще не смотрел бы в файлы
Sasha
25.10.2018
18:03:39
для каждого пользователя повторять все ключи текстом ? или другая идея?
⚓D
25.10.2018
18:04:58
users:
- username: user1
key_files:
- '{{ a }}'
- '{{ b }}'
Например так
Sasha
25.10.2018
18:05:38
спасибо за идею
⚓D
25.10.2018
18:07:51
Или так что бы цикл был проще
users:
- username: jane
keys: |
{{ Key1 }}
{{ Key2 }}
- username: john
keys: |
{{ Key1 }}
{{ Key3 }}
Vladislav
25.10.2018
18:13:54
Igor
25.10.2018
18:15:03
Vladislav
25.10.2018
18:17:33
Надо документацию почитать, но вроде вариант либо идете под рутом в ансибле, либо костыль через комманд
Igor
25.10.2018
18:18:59
Vladislav
25.10.2018
18:19:26
И что? Хотите сказать, что рут не смог?
Google
Igor
25.10.2018
18:23:26
Говорю же прошел, но рута по ссш передавать не хочу
Vladislav
25.10.2018
18:23:44
?
Timur
25.10.2018
18:41:06
Идёте по ссш под обычным пользователем, а там уже просто повышаете привилегии до рута
Только на время выполнения задачи
Nklya
25.10.2018
22:26:34
Джефф тоже решил быть в тренде))
https://leanpub.com/ansible-for-kubernetes
Vadim
25.10.2018
22:29:43
Кстати, никто не думает съездить в феврале на CfgMgmtCamp?
Alex
25.10.2018
22:54:02
https://www.serverlab.ca/tutorials/dev-ops/automation/using-hashicorp-vault-with-ansible-jinja2-templates/
Это конечно круто, но там не описано, что если по указанному пути в хаши валт нет данных, чтобы ансибл создал и положил их туда. Тогда миграции между стендами(тест - прод) пройдут плавнее. Ещё вопрос как создавать закрытый ключ с паролем для каждого хоста и класть эти данные в хаши валт, а потом забирать их оттуда для подключения к хостам?
Terminator
25.10.2018
23:02:38
@d_kuzmin будет жить. Поприветствуем!
@ValeriyNebogin будет жить. Поприветствуем!
dmbm
26.10.2018
06:44:12
Vadim
26.10.2018
06:44:47
bebebe
26.10.2018
07:06:29
---
- name: load ldap contacts
shell: >
ldapsearch -D "{{ ldap.bind.dn }}" -w "{{ ldap.bind.password }}"
-o ldif-wrap=no -LL -b "{{ ldap.search_base }}"
-H "ldap://{{ ldap.server }}" |
sed -r 's/([^:]+)::? (.*)/"\1":"\2",/' |
awk 'BEGIN {printf("{\n")}
{printf("%s\n", ($0 == "") ? "\"\":\"\"}{" : $0 )}' |
jq -s '.'
register: ldap_user
- name: templating contacts
template:
src: templates/nagios-config/contacts.cfg.j2
dest: "{{ artifact_dir }}/contacts.cfg"
просто оставлю это здесь
Nklya
26.10.2018
07:10:57
красиво, но однострочники на питоне все же веселее
Timur
26.10.2018
07:14:11
sed вместе с awk - дурдом
Victor
26.10.2018
07:16:12
grep'а не хватает
bebebe
26.10.2018
07:30:09
вот сегодня надо было отдебажить, наткнулся
Andrey
26.10.2018
07:33:36
я бы в этот код поместил коммент с примером вывода ldapsearch и примером выхлопа awk
Google
Andrey
26.10.2018
07:34:10
хотя код читается и понятен, чтобы быть уверенным в его правильности нужно знать желаемое поведение
bebebe
26.10.2018
07:34:46
в коде проблемы не было, была проблема в людях :/
это из разряда, написал и забыл.
я тогда еще удивился, что в 21веке нету конверторов из ldap output'а во что-то структурирование yaml/json/etc
были странные поделия на python/ruby которые работали мягко говоря странно
Артём
26.10.2018
08:03:31
bebebe
26.10.2018
08:07:24
даже вот такое помню пробовал https://github.com/quinot/ansible-plugin-lookup_ldap
или подобное, но к сожалению толи инструменты были не очень, толи не понял как их правильно запилить под свою задачу
tldr они не подошли.
пробовал запилить на чистом jq - тоже не осилил, в jq можно писать что-то своего map reduce
но написать на map-reducre конвертацию из ldapdiff в json тоже не осилил.
Lomakin
26.10.2018
09:17:52
Подскажите как правильно передать значения VARS в playbook c ролями
https://telegra.ph/mongodb-install-10-26
- role: mongodb_install
mongo_version:
- 3.4.9
tags:
- installbin
- addsudouser
Методом тыка вот так
Павел П.
26.10.2018
10:24:58
Добрый!
не подскажите, какой best practice получить список хостов где не прошел пинг? Ручками пропарсить вывод этой ad-hoc команды в лог ?
Terminator
26.10.2018
10:26:35
@Director_Muz_TV будет жить. Поприветствуем!
Денис
26.10.2018
10:28:50
в конфиге включаются
а если надо перед плейбуком проверить какие хосты доступны, есть wait_for_connection, например
Павел П.
26.10.2018
10:31:21
Спасибо! Наверно и правда правильнее сразу будет в плейбук писать)
Денис
26.10.2018
10:32:44
с версии 2.7 вроде ансибл научился обрабатывать ошибку, когда хост unreacheble
может тоже пригодится
Павел П.
26.10.2018
10:33:28
спасибо!
Google
om
26.10.2018
10:44:25
Подскажите, а есть ли модуль для обновления хостов, который умеет как apt, так и yum?
Юра
26.10.2018
10:44:59
om
26.10.2018
10:47:37
Victor
26.10.2018
10:48:12
om
26.10.2018
10:49:19
Danis
26.10.2018
12:56:22
Как получить количество item'ов списка?
mertv0e
26.10.2018
12:59:28
.count попробуй
https://docs.ansible.com/ansible/2.7/user_guide/playbooks_variables.html#variable-precedence-where-should-i-put-a-variable
в самом начале
Lomakin
26.10.2018
13:40:23
https://github.com/kamelotnsk/ansible_deploy
Прошу помощи, example_install.yml указываю явно ставить только с тэгом ansible выполняет все таски не обращая внимания на tags
Вроде везде протэгировал
Victor
26.10.2018
13:56:22
Lomakin
26.10.2018
13:57:34
Запускаю https://github.com/kamelotnsk/ansible_deploy/blob/master/playbook/example_install.yml