@pro_ansible

Страница 614 из 625
Alexander
17.10.2018
11:59:50
Ну так можно же запихнуть пустой dict?
Ну именно так я и сделал. Пока не оттестирвал ещё, щас доберусь...

Ilya
17.10.2018
12:02:19


Alexander
17.10.2018
12:04:05
env: "{{ container.env | default('{}') }}"

Google
Alexander
17.10.2018
12:04:10
В общем, так

То есть, листы можно красиво типа - VAL1 - VAL2 дикты передаются только так - "VAR1=VAL1,VAR2=VAL2" ?

Victor
17.10.2018
12:08:12
dict: some_other: key: value value_is_None: one_more_list: - item - item

Alexander
17.10.2018
12:10:54
dict: some_other: key: value value_is_None: one_more_list: - item - item
О, пасиба! Так посимпатичней

Vladislav
17.10.2018
12:12:02
Хендлер вызывается в конце плейбука, а можно его как-то раньше дернуть?

Alexander
17.10.2018
12:12:03
Только key=value, всё же

Victor
17.10.2018
12:12:34
Alexander
17.10.2018
12:13:59
вут?
key: value не взлетает. key=value взлетает.

Victor
17.10.2018
12:14:19
Alexander
17.10.2018
12:14:55
Смотря куда
Ну в vars секцию playbook'а я пихаю.

Vladislav
17.10.2018
12:15:09
?

Google
Alexander
17.10.2018
12:15:18
Смотря куда
+ там пробелов вокруг = не должно быть

Victor
17.10.2018
12:18:23
$ cat ./test-dict2.yml #!/usr/bin/env ansible-playbook - hosts: localhost connection: local vars: testdict: a: aa b: None c: tasks: - debug: msg: "{{ testdict }}" $ ./test-dict2.yml ... ok: [localhost] => { "msg": { "a": "aa", "b": "None", "c": null } } ...

Pavel
17.10.2018
12:28:05
Vladislav
17.10.2018
12:28:16
спасибо, но выше рекомендовали так не делать, буду думать

Matvey
17.10.2018
12:28:26
https://www.youtube.com/watch?v=1-lRS05NrLc

Victor
17.10.2018
12:34:08
спасибо, но выше рекомендовали так не делать, буду думать
Ну, имхо, необходимость там такая может возникнуть, но скорее всего если тебе нужно флашить хендлеры, то их нужно либо просто воткнуть, либо бить на несколько плейбуков.

Vladislav
17.10.2018
12:34:49
я думаю проще воткнуть старт сервиса, чтобы провести последующую конфигурацию

Victor
17.10.2018
12:36:00
Ты уверен что нужно запускать сервис *до* того как ты его настроил?

Alexander
17.10.2018
13:23:56
Как получить ip хостов по тегу?

tag_Name_mongoservers мне нужно получить в виде листа?

Причём запускать на них мне ничего не надо.

Timur
17.10.2018
13:51:45
Как получить ip хостов по тегу?
По какому тегу? Откуда именно ip получить?

Alexander
17.10.2018
13:52:04
Из aws по тегу aws из dynamic inventory

Timur
17.10.2018
13:52:21
А, это другой разговор

В ансибле есть модуль ec2_instance_facts

Там всю инфу по хостам сразу собирает

Google
Timur
17.10.2018
13:53:49
И оттуда фильтрами можно все выдернуть

Старый
17.10.2018
14:08:00
кстати всё же странная обнова это 2,7

Victor
17.10.2018
14:12:32
А вообще логично, пакетный менеджер не смог разрешить зависимости и покончил жизнь сепукку

Старый
17.10.2018
14:13:03
он просто говорит - спасибо, пакет установлен

Victor
17.10.2018
14:13:15
>"No package matching 'iostat' found available, installed or updated"

Старый
17.10.2018
14:18:53
?прикольно оказывается пакет удалили из репа неделю как

Anton
17.10.2018
14:41:22
Меня одного напрягает, что файлы ansible.cfg не мёржатся, а просто заменяются? А то хотелось бы как-то объединять настройки проекта с настройками машины.

Mihail
17.10.2018
14:43:11
Приветствую! Прошу помощи разобраться как при импорте роли заставить ansible выполнять task с набором параметров подключения к хосту, определенных в импортируемой роли Задача такова: есть главная роль на деплой и конфиг. В переменных этой роли указано использование ansible_ssh_private_key_file и каким пользователем заходить на хост. В импортируемой роли как раз происходит базовая настройка хоста, включающая в себя настройку sshd и добавление ssh ключей. И подключение в этой роли происходит по имени пользователю и паролю. Ожидаемое поведение: импортируется роль => ansible заходит на хост под user/password => роль завершается,хост настроен на работу по ssh с использованием ключей => головная роль заходит на хост уже по ssh ключу. У меня же получается, что импортируемая роль берет значение ansible_user из своих переменных, но и ansible_ssh_private_key_file используется для подключения Вообще реально сделать такое объединение двух ролей или наследование все равно будет иметь место быть?

Victor
17.10.2018
14:49:34
Приветствую! Прошу помощи разобраться как при импорте роли заставить ansible выполнять task с набором параметров подключения к хосту, определенных в импортируемой роли Задача такова: есть главная роль на деплой и конфиг. В переменных этой роли указано использование ansible_ssh_private_key_file и каким пользователем заходить на хост. В импортируемой роли как раз происходит базовая настройка хоста, включающая в себя настройку sshd и добавление ssh ключей. И подключение в этой роли происходит по имени пользователю и паролю. Ожидаемое поведение: импортируется роль => ansible заходит на хост под user/password => роль завершается,хост настроен на работу по ssh с использованием ключей => головная роль заходит на хост уже по ssh ключу. У меня же получается, что импортируемая роль берет значение ansible_user из своих переменных, но и ansible_ssh_private_key_file используется для подключения Вообще реально сделать такое объединение двух ролей или наследование все равно будет иметь место быть?
Указать в роли ansible_ssh_pass? Олсо https://docs.ansible.com/ansible/latest/user_guide/intro_inventory.html#list-of-behavioral-inventory-parameters

Alexander
17.10.2018
14:53:26
И оттуда фильтрами можно все выдернуть
Спасибо! А как мне только ip достать?

Alexander
17.10.2018
14:55:03
Там просто большой json, и он индивидуальной для каждого хоста даёт инфу

Mihail
17.10.2018
14:55:16
я бы не спрашивал, если бы не пробовал сначала задать этот параметр ? imported_role/vars/main.yml: ansible_user: someuser ansible_ssh_pass: somepass main_role/vars/main.yml: ansible_ssh_private_key_file: /path_to_file ansible_user: other_user В итоге, когда происходит попытка вызова импортируемой роли строка соединения выглядит так: SSH: EXEC sshpass -d10 ssh -vvv -C -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o 'IdentityFile="/path_to_file"' -o User=someuser Мне не нужен IdentityFile в данной роли

Victor
17.10.2018
14:56:43
Ну может тогда не использовать зависимости ролей, а вызвать их из одного плейбука?

Timur
17.10.2018
14:56:47
Спасибо! А как мне только ip достать?
Смотришь нужное тебе поле и достаешь

Что-то типа: - name: GET instances list ec2_instance_facts: filters: "tag:Name": '{{ inst }}' register: ec2_sets

Admin
ERROR: S client not available

Mihail
17.10.2018
15:02:12
ansible_ssh_common_args: " -o PubkeyAuthentication=no" должно помочь отцу русской демократии
а где данный параметр прописать? В переменные к какой-то роли?

Google
Pavel
17.10.2018
15:02:56
а где данный параметр прописать? В переменные к какой-то роли?
ansible_user: someuser ansible_ssh_pass: somepass ansible_ssh_common_args: " -o PubkeyAuthentication=no" то есть там где авторизация по паролю, а не по ключу

Mihail
17.10.2018
15:03:15
понял Спасибо! Пошел тестировать

Timur
17.10.2018
15:03:38
Что-то типа: - name: GET instances list ec2_instance_facts: filters: "tag:Name": '{{ inst }}' register: ec2_sets
Точнее: - name: GET instances list ec2_instance_facts: filters: "tag:Name": '{{ inst }}' register: ec2_sets - debug: msg: 'Public ip: {{ item.public_ip_address}}' with_items: '{{ ec2_sets.instances }}'

Alexander
17.10.2018
15:30:16
Что-то типа: - name: GET instances list ec2_instance_facts: filters: "tag:Name": '{{ inst }}' register: ec2_sets
А можно ли как-нибудь просто посмотреть, что у меня inventory собирает? Там же есть уже вся эта инфа.

Alexander
17.10.2018
16:06:46
Я уже

- name: inventory vars debug: msg: "{{ hostvars[item].ec2_dns_name }}" with_items: "{{ groups['tag_Name_mytag'] }}"

Теперь мне бы сплющить это в строку

Aleksey
17.10.2018
16:08:18
/help@ansible_ru_bot

Timur
17.10.2018
16:08:25
/help@ansible_ru_bot

Aleksey
17.10.2018
16:08:48
А, ну низзя значит низзя

Timur
17.10.2018
16:08:51
Теперь мне бы сплющить это в строку
Что именно сплющить в строку?

Dovnar
17.10.2018
16:09:10
Alexander
17.10.2018
16:09:25
Что именно сплющить в строку?
Вот эти DNS имена, которые я получаю, я их хочу в connection_string вставить.

Timur
17.10.2018
16:11:19
Какой connection_string? Чтобы что?

Alexander
17.10.2018
16:16:02
Это неважно, важно, что мне нужен этот список строкой в переменную вставить.

Alexander
17.10.2018
16:21:18
Да, спасибо, я посмотреть не успел ещё.

Terminator
17.10.2018
16:35:09
@alikulov будет жить. Поприветствуем!

Google
Terminator
17.10.2018
17:22:05
@stef_kkk будет жить. Поприветствуем!

@sulllmary будет жить. Поприветствуем!

Kirill
17.10.2018
20:28:56
для того чтоб заработал delegate_to: localhost надо что-то особенное сделать в инвенторях?

Constantin
17.10.2018
21:26:18
для того чтоб заработал delegate_to: localhost надо что-то особенное сделать в инвенторях?
нет, главное, чтобы если у вас для всех тасков стоит в начале плэйбука become: yes, для этого он был выключен, если он вам явно не нужен

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