
Денис
09.10.2018
09:48:39
ну это наверное нужен свой callback plugin
но я не уверен

Danis
09.10.2018
09:48:57

Денис
09.10.2018
09:49:52
ну или костыль какой-нибудь, вроде ignore_error + register, и следующий таск проверяет состояние переменной

Google

Денис
09.10.2018
09:50:30
у меня похожее работает для ввода виндовых машин в домен
meta: end_play
я вот только не уверен, что meta можно использовать с when, в документации не вижу такого примера

Danis
09.10.2018
09:54:15
Нашел какой-то any_errors_fatal, но вроде не совсем то.

Денис
09.10.2018
09:54:41
все равно же будет ошибка в конце? и код не -0

Danis
09.10.2018
09:55:04

Денис
09.10.2018
09:55:24
можно попробовать вынести meta в отдельный файл, и инклудить по условию
https://pastebin.com/SRx8Y2HN
так вроде работает
до последнего дебага не доходит

Alexander
09.10.2018
10:04:40
Че за фигня, в конфиге сменил remote_user, выполнил то что надо, сменил обратно на рута временно, а ансибл все равно продолжает от того юзера выполнять что раньше был?

Egor
09.10.2018
10:05:50

Alexander
09.10.2018
10:06:18
Точно нет. Даже если запускать плейбук вэс --user root все равно пишется что пытается подключиться с другим юзером

Google

Egor
09.10.2018
10:06:56
Попробуйте все же грепнуть код на юзера. Где-нибудь точно должен быть

Alexander
09.10.2018
10:07:43

Danis
09.10.2018
10:10:15


Alexander
09.10.2018
10:12:38
Попробуйте все же грепнуть код на юзера. Где-нибудь точно должен быть
[root@ansm ansible]# cat provision_users.yml
---
- hosts: all
tasks:
- name: Test
shell: test
[root@ansm ansible]# cat hosts
[all]
example.domain.com
[root@ansm ansible]# cat /etc/ansible/ansible.cfg |grep -i user
remote_user = root
#become_user=root
[root@ansm ansible]# ansible-playbook -i hosts provision_users.yml --user root -vvv
PLAY [all] **********************************************************************************************************************************************************************************************************************************
TASK [Gathering Facts] **********************************************************************************************************************************************************************************************************************
task path: /opt/ansible/provision_users.yml:2
<example.domain.com> ESTABLISH SSH CONNECTION FOR USER: [u'ansible']


Egor
09.10.2018
10:14:41
Можно выполнить с -vv и посмотреть что в output будет - возможно где-то есть факт об этом пользователе.
Это поможет понять откуда он берется

Alexander
09.10.2018
10:14:56

Danis
09.10.2018
10:16:54

Alexander
09.10.2018
10:17:15

Egor
09.10.2018
10:18:00

Stepan T.
09.10.2018
10:18:24
Пора форкать PEP8?

Alexander
09.10.2018
10:18:28

Hackru
09.10.2018
10:18:33
фоткать

Денис
09.10.2018
10:22:23

Artur
09.10.2018
10:26:04
делал кто в awx'e смарт инвентори ?

Danis
09.10.2018
10:31:02
В результате в output нет Failed.

Artur
09.10.2018
10:32:20
попробуй shell

cent
09.10.2018
11:23:21
дак в 11-ом версию 3 api грохнули
А не в курсе, в какой версии еще точно api v3 работает?
Поставил 10.8.4-ce.0 и та же ошибка в ansible.
Можно как-то проверить, что это полноценная 3 версия и проблемы у ansible ?

Google

Алексей
09.10.2018
12:05:54
Я не знаю

cent
09.10.2018
12:23:41
Я не знаю, каким образом я вчера добился другой ошибки.
Но сегодня опять все та же ошибка
check docs or install with: pip install pyapi-gitlab"
Уже перепробовал тучу версий ansible и тучу версий pyapi-gitlab

Artur
09.10.2018
12:24:47
на компе 1 версия питона ?

cent
09.10.2018
12:26:35
на компе 1 версия питона ?
Да. Сейчас нет возможности разные версии питона пробовать.
Но это, наверное, ответ на вопрос, потому что я в докере вчера запускал.

Artur
09.10.2018
12:29:11
Эм. Предыстории не знаю. Сам модуль то стоит?

cent
09.10.2018
12:29:59

Artur
09.10.2018
12:41:58
там есть нужная библиотека ?

cent
09.10.2018
12:42:15

Artur
09.10.2018
12:43:19
ты сейчас в контейнере запускаеш ?

cent
09.10.2018
12:48:17

Artur
09.10.2018
12:50:27
с такой штукой не встречался. без её не вариант ?

Egor
09.10.2018
12:57:43
Просто обособленный python env

cent
09.10.2018
13:02:25
Уже второй день не могу завести связку ansible + gitlab_user

Terminator
09.10.2018
14:13:50
@AlexBershtein будет жить. Поприветствуем!

Александр
09.10.2018
14:15:52
Привет! Как в /group_vars переменной назначить значение из переменной окружения?

bebebe
09.10.2018
14:16:15
через commit хук

Google

Александр
09.10.2018
14:17:03
Это как;)

bebebe
09.10.2018
14:17:28
если коротко - никак.
либо написать dynamic inventory - и там пропихивать переменную окружения

Александр
09.10.2018
14:19:17
Я в гитлабе запускаю пайплай, есть протектед переменные окружения, которые надо передать в ансибл, но я не хочу этого делать в плейбуке, чтобы не разносить переменные

bebebe
09.10.2018
14:19:52
запускайте ansible так: ansible-playbook ... -e SOMEVAR=${PROTECTED_VAR} ....

Admin
ERROR: S client not available

Александр
09.10.2018
14:22:15
Так тоже можно, но я хотел все переменные вынести в один файл в директорию var_groups

Artur
09.10.2018
14:22:47

Александр
09.10.2018
14:22:55
Да;)

Artur
09.10.2018
14:24:40
заюзай модуль shell ( shell : env ) и registry
там нади свою переменную
https://docs.ansible.com/ansible/2.5/plugins/lookup/env.html

bebebe
09.10.2018
14:26:20

Александр
09.10.2018
14:26:47
Это тоже вариант, но через плейбук. Я хотел бы иметь универсальный плейбук, который не зависит от новых добавленных переменных окружения

bebebe
09.10.2018
14:28:02
Записывать

Vadim
09.10.2018
14:29:07

bebebe
09.10.2018
14:30:41

Александр
09.10.2018
14:31:24
Артур такой вариант выше предложил;)
У меня регулярно меняются переменные окружения и переменные из group_vars, придется править в двух местах

Google

Александр
09.10.2018
14:35:18
В переменных окружения-секреты, в груп_варс параметры конфигов

cent
09.10.2018
16:03:39

Александр
09.10.2018
16:12:27

Alexey
09.10.2018
16:35:40
Народ, а тут есть кто-то, кто юзал модуль xml? Мне нужен помогай. Я не понимаю, толи лыжи не едут и стоит использовать lineinfile, толи это я что-то не так делать

kvaps
09.10.2018
17:17:39

Alexey
09.10.2018
17:45:19
Имеется XML следующего вида:
https://pastebin.com/8xBqD9eR
Натравливаю на него следуюший таск:
xml:
path: "/tmp/test_simple.xml"
xpath: /x:features/x:feature[@name="nexus-core-feature"]
namespaces:
x: http://karaf.apache.org/xmlns/features/v1.4.0
add_children:
- feature: nexus-test-lib
Получаю следующее:
https://pastebin.com/UzAkg8wc
Если запустить ещё раз, то получаю такое:
https://pastebin.com/Kp5NaLw2
Как видишь, значение дублируется. Вот я и думаю, может я XPath неправильно пишу, может я ещё что-то не так делаю...

kvaps
09.10.2018
19:55:42
@FuxGN ну add_chlidren добавляет элемент, что логично, попробуй использовать set_children вместо него
https://stackoverflow.com/questions/1323755/xpath-how-to-select-nodes-which-have-no-attributes

Terminator
09.10.2018
19:58:17
@yusame будет жить. Поприветствуем!

kvaps
09.10.2018
22:15:58
@FuxGN
- hosts: localhost
tasks:
- xml:
path: "/tmp/test_simple.xml"
xpath: /x:features/x:feature/x:feature
namespaces:
x: http://karaf.apache.org/xmlns/features/v1.4.0
content: text
register: features
- xml:
path: "/tmp/test_simple.xml"
xpath: /x:features/x:feature[@name="nexus-core-feature"]
namespaces:
x: http://karaf.apache.org/xmlns/features/v1.4.0
add_children:
- feature: nexus-test-lib
vars:
features_list: "[{% for dict in features.matches %}\"{{ dict.values()[0] }}\",{% endfor %}]"
when: "\"nexus-test-lib\" not in features_list"
кстати, хороший вопрос: можно ли записать
features_list: "[{% for dict in features.matches %}\"{{ dict.values()[0] }}\",{% endfor %}]"c помощью map()
features.matches | map('first') - работает
features.matches | map('last') - не работает

Dmitry
10.10.2018
00:01:02
А есть кто юзает tower? какие фичи больше всего любите?

Stepan T.
10.10.2018
04:51:58

Alexey
10.10.2018
05:47:28