@pro_ansible

Страница 550 из 625
Viacheslav
16.08.2018
11:07:21
Alexander
16.08.2018
11:07:42
это я
Это не ты, это сообщение. Вопрос - что оно значит?

Viacheslav
16.08.2018
11:08:26
всем привет, коллеги и сразу к делу Запускаю я значит molecule create а она мне failed: [localhost] (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false} fatal: [localhost]: FAILED! => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false} ваши варианты?

Constantin
16.08.2018
11:10:24
Так, а если убрать no_log?

Google
Viacheslav
16.08.2018
11:13:31
Это не ты, это сообщение. Вопрос - что оно значит?
там проверка на бота, походу изначально, при вступлении есть 2 кнопки, типа "принять" или "не принять", просто с кастомным текстом

Alexander
16.08.2018
11:14:11
Типа бот не может кнопку нажать? Или не ожидает этого?

Viacheslav
16.08.2018
11:14:15
Так, а если убрать no_log?
это замечательно, а где это сделать нужно?) простите, я в ансибле вообще не силён)

Alexander
16.08.2018
11:14:16
Понятненько

Viacheslav
16.08.2018
11:15:07
бот ждёт эпплая иначе реджектит вступление в группу( ну это моя девелоперская версия) и по факту эпплая уже делает объявление в канал с таким текстом

Nklya
16.08.2018
11:18:59
У молекулы есть дебаг

Akamit
16.08.2018
11:44:27
привет. только у меня не работает опция no_extra_spaces в ini_file?

Sasha
16.08.2018
11:45:51
With_together?
Уже ответили

Можно ли как-то в ansible tower в survey дать выбор установить пакеты с помощю python2 или python3 и соответвенно стартовать плейбук на разных питонах?

Имеется ввиду pip пакеты для python



Roman
16.08.2018
15:19:56
табы, нет?

Google
Roman
16.08.2018
15:20:10
а можно текстом в личку?

Sasha
16.08.2018
15:21:11
https://pastebin.com/FTadmZVd

Roman
16.08.2018
15:26:19
самая первая строчка

это что?

Sasha
16.08.2018
15:26:49
Имя role

Roman
16.08.2018
15:27:29
странно, у меня не такая иерархия



к примеру

roles/

и в ней диры что есть название роли

Sasha
16.08.2018
15:28:04
Ну, у меня так же

Файл называется main.yml

Roman
16.08.2018
15:28:45
так он по умолчанию вызовется, тебе не нужно внутри ямла писать имя роли

Sasha
16.08.2018
15:28:52
В roles/install-pip-package/tasks

Roman
16.08.2018
15:29:21
просто вызывай роль install-pip-packages

а первую строчку в main.yml убери

и tasks тоже убрать нужно



вот пример main.yml

пример вызова роли

Google
Roman
16.08.2018
15:30:55


Sasha
16.08.2018
15:31:05
Убрал, тоже самое

The offending line appears to be: - tasks: ^ here

alex
16.08.2018
15:32:09
обычно в редакторах есть способ включать показывать непечатные символы

Roman
16.08.2018
15:32:22
опция tasks не нужна

Paul
16.08.2018
15:33:14
коллеги, кто-нибудь может подсказать/напомнить, как выставить факт при выполнении действия?

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

Sasha
16.08.2018
15:36:11
опция tasks не нужна
Все, получилось, спасибо!

Paul
16.08.2018
15:40:31
set_fact. Переменная

Roman
16.08.2018
15:42:10
Не подскажу, не юзал. Нужно разбираться

Paul
16.08.2018
15:49:12
register: устанавливает факт так же как и set_fact
если я правильно понимаю, register запоминает вывод модуля, в котором она применялась. Как я могу положить туда значение, нужное мне? Есть такая возможность?

Sasha
16.08.2018
15:51:54
коллеги, кто-нибудь может подсказать/напомнить, как выставить факт при выполнении действия?
register: variable А потом где уже хочешь set_fact: variable = “{{ variable.stdout_lines }}”

Если правильно понял

Paul
16.08.2018
15:52:57
у меня несколько разных действий и один хендлер, который должен отработать в самом конце. Самый простой способ сделать это – повесить регистрацию переменной внутрь каждого действия а в конце роли поставить нужный мне хендлер и проверять установленную переменную. Если она определена – выполняем

Sasha
16.08.2018
15:53:58
Ну, тогда просто регистрируешь, и потом when: variable is defined

Paul
16.08.2018
15:54:07
если можно это сделать более простым и неизвращенным способом...

Google
Paul
16.08.2018
15:54:13
а, вариант, спасибо

я больше с шефом работаю, там есть специальная подсказка для хэндлера

Nklya
16.08.2018
15:54:49
Что-то пахнет костылями такое решение

Paul
16.08.2018
15:57:48
Что-то пахнет костылями такое решение
с удовольствием послушаю варианты лучше. Задача именно такая: - есть несколько разных действий - если одно из нескольких выполнилось - должно выполнится еще одно действие - это действие должно выполнится последним в роли. И выполнится только один раз

Nklya
16.08.2018
15:58:44
ну и это обычный хендлер

Admin
ERROR: S client not available

Paul
16.08.2018
16:01:04
нет, у меня же несколько событий. А хэндлер должен сработать: - только один раз - обязательно в самом конце ранлиста

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

Nklya
16.08.2018
16:01:42
нет

хендлер в ансибле выполняется в конце рана, если ему пришел нотифай, один раз

GithubReleases
16.08.2018
22:03:38
ansible/ansible was tagged: v2.5.8 Link: https://github.com/ansible/ansible/releases/tag/v2.5.8 Release notes: New release v2.5.8

ansible/ansible was tagged: v2.6.3 Link: https://github.com/ansible/ansible/releases/tag/v2.6.3 Release notes: New release v2.6.3

Денис
17.08.2018
05:47:33
Подскажите, не могу понять почему так получается: есть перемененные, объявленные в инвентори файле для группы: ansible_user=user@DOMAIN.RU ansible_password=*** ansible_connection=winrm ansible_winrm_transport=kerberos ansible_winrm_scheme=http ansible_port=5985 есть роль, которая по идее должна переопределять эти параметры (в файлах переменных только пароль для пользователя vagrant): - hosts: it-grad gather_facts: yes vars_files: - ./vars/vault.yml - ./vars/vars.yml roles: - role: config_winrm vars: ansible_user: vagrant ansible_password: "{{ default_password }}" ansible_winrm_transport: basic when: not ansible_windows_domain_member в итоге таск падает на моменте сбора фактов с ошибкой, что пользователь vagrant не найден в керберосе, и по логам он лезет собирать факты из-под пользователя vagrant (что логично, это локальный пользователь). Я думал он должен использовать переменную, из hosts, а менять на vagrant только для этой конкретной роли, и продолжать использовать исходную переменную из hosts. В чем косяк? я не так понимаю передачу параметров в роль? он перезаписывает переменную раньше, чем начинает выполнять сбор фактов?

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

Nklya
17.08.2018
06:25:51
Почитай в документации про приоритеты переменных. То странное, что ты хочешь сделать с ролью не будет работать

Sergey
17.08.2018
06:33:50
Подскажите, не могу понять почему так получается: есть перемененные, объявленные в инвентори файле для группы: ansible_user=user@DOMAIN.RU ansible_password=*** ansible_connection=winrm ansible_winrm_transport=kerberos ansible_winrm_scheme=http ansible_port=5985 есть роль, которая по идее должна переопределять эти параметры (в файлах переменных только пароль для пользователя vagrant): - hosts: it-grad gather_facts: yes vars_files: - ./vars/vault.yml - ./vars/vars.yml roles: - role: config_winrm vars: ansible_user: vagrant ansible_password: "{{ default_password }}" ansible_winrm_transport: basic when: not ansible_windows_domain_member в итоге таск падает на моменте сбора фактов с ошибкой, что пользователь vagrant не найден в керберосе, и по логам он лезет собирать факты из-под пользователя vagrant (что логично, это локальный пользователь). Я думал он должен использовать переменную, из hosts, а менять на vagrant только для этой конкретной роли, и продолжать использовать исходную переменную из hosts. В чем косяк? я не так понимаю передачу параметров в роль? он перезаписывает переменную раньше, чем начинает выполнять сбор фактов?
Проверка-то простая - закомментировать этот блок переменных. Тут всё и вылезет.

А вообще - да, это странное, поэтому не надо так.

Денис
17.08.2018
06:34:36
ну я и спрашиваю, как лучше делать в такой ситуации?

разные плеи делать для разных ролей, с разными remote_user?

Google
Sergey
17.08.2018
06:35:36
Скорее всего - да. И раз уж логически оно относится к одной куче - в один плейбук объединить.

Денис
17.08.2018
06:35:59
попробую, спасибо

Maksim
17.08.2018
06:47:23
а что за молекула ?

Nklya
17.08.2018
06:59:30
http://bfy.tw/JS7A

Roman
17.08.2018
07:09:17
Доброго времени суток! Подскаиже пожалуйста, возможно ли в host_vars именование элементов словаря по шаблону? Т.е. что-то вроде: main: do: {{(inventory_hostname|regex_search('([1-9][\\d]*)')|int)+200}}: var1: value var2: 123 {{(inventory_hostname|regex_search('([1-9][\\d]*)')|int)+300}}: var1: value var2: 123

Roman
17.08.2018
07:32:45
чтоб для каждого хоста не приходилось писать подобное: main: do: 201: var1: value var2: 123 301: var1: value var2: 123

а просто указать в group_vars.

Nklya
17.08.2018
07:38:38
Если у каждого хоста одинаковые переменные, то и поставь их в груп варс

Roman
17.08.2018
08:15:48
Вываливается ошибка: ERROR! Syntax Error while loading YAML. did not find expected alphabetic or numeric character

The offending line appears to be: {{((inventory_hostname|regex_search('([1-9][\\d]*)')|int)+200)}}: ^ here

тыкает в скобку после звездочки

cent
17.08.2018
08:18:12
Привет. Как можно сделать двойную итерацию? Тоесть есть 2 айтема, {{ users }} и {{ groups }} Мне надо каждого юзера прогнать через все группы в shell команде
Что-то мне кажется сам замысел слишком запутанный) Зачем нужно прогонять юзверя через все группы?

Sasha
17.08.2018
08:18:37
Потому что надо удалить целую команду людей из 20 групп)

В ручную делать что ли?)

cent
17.08.2018
08:20:11
Потому что надо удалить целую команду людей из 20 групп)
Кто-то ручками лазит на сервак, кроме ansible ?

Sasha
17.08.2018
08:20:23
Нет

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