@pro_ansible

Страница 602 из 625
Денис
09.10.2018
09:48:39
ну это наверное нужен свой callback plugin

но я не уверен

Денис
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

Денис
09.10.2018
09:55:24
можно попробовать вынести meta в отдельный файл, и инклудить по условию

https://pastebin.com/SRx8Y2HN

так вроде работает

до последнего дебага не доходит

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

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

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

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 будет - возможно где-то есть факт об этом пользователе.

Это поможет понять откуда он берется

Danis
09.10.2018
10:16:54
до последнего дебага не доходит
Meta с when работает без проблем как нужно. Сделал так: - meta: end_play when: "'non-zero return code' in output.msg"

Alexander
09.10.2018
10:17:15
Можно выполнить с -vv и посмотреть что в output будет - возможно где-то есть факт об этом пользователе.
Блиииин) это жесть, понял))) У меня эта роль специальна написана чтобыд обавлять пользвателей, она ьерет список админов и список разрабов из глобал варс, создает их, подкладывает ключи и тд. Сегодня я туда жобавил задачу по созданию ансибл юзера, специально для удаленного управления не через рута. И переменную ессно назвал ansible_user...??

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
Meta с when работает без проблем как нужно. Сделал так: - meta: end_play when: "'non-zero return code' in output.msg"
не знаю что за таск перед этим выполняется, но не лучше ли привязать к "output is failed"?

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

Danis
09.10.2018
10:31:02
не знаю что за таск перед этим выполняется, но не лучше ли привязать к "output is failed"?
В моем случае нет (в этом и была ошибка), потому что предыдущий таск выполняет command и register: output

В результате в 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
Эм. Предыстории не знаю. Сам модуль то стоит?
Да, и при чем пробовал разные версии. Скорее всего и правда разная версия самого питона

Эм. Предыстории не знаю. Сам модуль то стоит?
На втором питоне тоже не прокатило

cent
09.10.2018
12:42:15
pip list
pyapi-gitlab 7.8.5

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
Нет. Сейчас в venv
Там все так же просто как и без нее, особо разницы не будет.

Просто обособленный python env

cent
09.10.2018
13:02:25
Просто обособленный python env
В идеале - да. Но по факту не пойму в чем разница?

Уже второй день не могу завести связку 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

Александр
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
Записывать

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, толи это я что-то не так делать

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
https://prnt.sc/l3x2pk
Спасибо ещё раз, кстати.

Alexey
10.10.2018
05:47:28
А есть кто юзает tower? какие фичи больше всего любите?
Спасибо, идею понял. Через пару часиков чекну

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