@pro_ansible

Страница 272 из 625
Алексей
15.09.2017
13:11:16
DRY переоценен, да. слышал такое.

Kirill
16.09.2017
10:54:02
Народ, подскажите, куда правильнее поставить файл переменных - сейчас вот такая структура, и переменные не находятся. хотелось бы их держать в отдельном файле



sic transit
16.09.2017
11:00:01
http://docs.ansible.com/ansible/latest/playbooks_best_practices.html

Google
Kirill
16.09.2017
11:14:53
ага... почему я спросил это - потому как ansible-galaxy создал такую структуру и хотя в vars/main.yml были переменные - при запуске ansible переменные не находились

Sergey
16.09.2017
11:23:32
ansible-galaxy создаёт структуру, которая должна лежать в roles (пруф - https://galaxy.ansible.com/intro)

а не находятся они потому, что у тебя структура проекта не совпадает с принятой в ансибле

как вариант - можешь тут почитать: https://habrahabr.ru/post/304732/

sic transit
16.09.2017
11:25:47
как вариант - можешь тут почитать: https://habrahabr.ru/post/304732/
Без вариантов http://docs.ansible.com/ansible/latest/playbooks_best_practices.html

Kirill
16.09.2017
11:26:09
для проверки перенес папку vars в roles\webserver\ - однако все равно глушняк пока сижу, читаю...

Sergey
16.09.2017
11:27:36
Без вариантов http://docs.ansible.com/ansible/latest/playbooks_best_practices.html
согласен, первоисточник всегда лучше, там просто импортными буквами по белому ? уровень английского у всех свой

Kirill
16.09.2017
11:28:15
ладно, спасибо обоим, невнимательность как всегда, погубит

Nazar
17.09.2017
17:15:22
Коллеги, вечер в хату!

Подскажите пожалуйста, как правильнее пробежаться по элементам вот такой структуры. upstream: - name: app1 ports: - 8000 - 8001 - 8002 - 8003 - 8004 - name: app2 ports: - 9000 - 9001 - 9002 - 9003 - 9004

Мне нужно сгенерировать названия файлов взяв upstream.name и ключ ports На выходе ожидаю получить app1-8000 … app1-8004

Google
Nazar
17.09.2017
17:41:05
проблема в том, что я не пойму как мне проитерироваться по ключу ports каждого app

Alexander
17.09.2017
17:48:54
name: "{{ item[0] }}-{{ item[1] }}" with_nested: - "{{ upstream.name }}" - "{{ upstream.ports}}"

Nazar
17.09.2017
17:50:08
увы но нет. не работает такой вариант

Пробовал

- name: Debug debug: mgs="{{ item[0] }}-{{ item[1] }}" with_nested: - "{{ upstream.name }}" - "{{ upstream.ports}}»

Alexander
17.09.2017
17:51:15
Хм

Nazar
17.09.2017
17:51:17
TASK [deploy : Debug] ********************************************************** fatal: [10.0.0.1]: FAILED! => {"failed": true, "msg": "'list object' has no attribute 'name'"} to retry, use: --limit Deleted User /develop/deploy/deploy.retry

Pavel
17.09.2017
17:55:26
у меня типа такого работает: name: "{{ item.0 }}-{{ item.1 }}" with_subelements: - "{{ upstream.name }}" - "{{ upstream.ports}}"

Nazar
17.09.2017
17:56:36
а какая версия ansible ?

Alexander
17.09.2017
17:56:37
Какой вывод для msg=" {{ upstream }} " без цикла?

Как буд-то переменная не определена

Pavel
17.09.2017
17:57:41
Nazar
17.09.2017
17:58:23
TASK [deploy : Debug] ********************************************************** ok: [10.0.0.1] => { "msg": [ { "name": "app1", "ports": [ 8000, 8001, 8002, 8003, 8004 ] }, { "name": "app2", "ports": [ 9000, 9001, 9002, 9003, 9004 ] } ] }

Alex
17.09.2017
18:01:02
Как буд-то переменная не определена
что как-бы логично, upstream.name нет, а upstream[0].name есть

?simplemice
17.09.2017
18:02:08
подскажите какой плагин вы подключили что бы так дерево рисовал?

?simplemice
17.09.2017
18:03:22
tree
в zshrc ?

Алексей
17.09.2017
18:04:14
Коллеги, вечер в хату!
пожалуйста, не надо так.

Nazar
17.09.2017
18:04:14
это консольный пакет

Kirill
17.09.2017
18:04:19
Google
?simplemice
17.09.2017
18:04:28
аааа тьху, спасибо

Kirill
17.09.2017
18:04:57
А раскраска - потому как там стоит zsh

Коллеги, вечер в хату!
И правда, не надо так, для этого ру_сисадмин есть

?simplemice
17.09.2017
18:06:47
А раскраска - потому как там стоит zsh
да спасибо, поставил пакет все красиво )

Nazar
17.09.2017
18:06:52
вроде правило не нарушал. Ну ок, раз такие ранимые.

?simplemice
17.09.2017
18:07:43
zsh тоже стоит, а до пакета не додумался

Алексей
17.09.2017
18:07:44
вроде правило не нарушал. Ну ок, раз такие ранимые.
спасибо. стулья и хата поздадолбала.

Nazar
17.09.2017
18:15:45
что как-бы логично, upstream.name нет, а upstream[0].name есть
в таком случае мы получим доступ только к первому элементу

Alex
17.09.2017
18:16:01
естественно

я бы переделал структуру на что-то типа - {name: app1, port: 8002}

так значительно легче итерировать

Nazar
17.09.2017
18:58:35
Всем спасибо!

Ильдар
17.09.2017
20:12:17
Репликацию mysql кто-нибудь поднимает ансиблом? Или только демоны готовите, а дальше руками?

Nazar
17.09.2017
21:10:41
Друзья, а можно ли что-то похожее сделать? - name: Debug debug: msg="{{ item[1] }}" with_dict: - "{{ upstream }}" - "{{ item.value.ports }}"

Sergey
17.09.2017
22:37:10
Друзья, а можно ли что-то похожее сделать? - name: Debug debug: msg="{{ item[1] }}" with_dict: - "{{ upstream }}" - "{{ item.value.ports }}"
если я правильно помню, то with_dict обходит один конкретный словарь

Alexey
17.09.2017
22:40:27
@freeseacher Леш, а за что itjunky забанили?

Коллеги, а кто-нибудь сидит в чате pro_ansible? Похоже меня там забанили не ясно за что...

Google
Алексей
17.09.2017
23:05:13
Это к @Unkledolan

Uncel
17.09.2017
23:06:28
Разбанил, не помню что там было, лог только за 48 часов. Мб ошибся кто-то

Bsod
18.09.2017
04:08:29
Сбоку посижу. Вдруг чего интересного будет.

Kirill
18.09.2017
04:09:27
Сбоку посижу. Вдруг чего интересного будет.
зачем? во славу сатане конечно же! ))

sic transit
18.09.2017
04:25:56
Alex
18.09.2017
05:19:44
Подскажите пожалуйста, как у Ansbile можно сделать отрицание фильтра например, вывести всё что не Ip Аля: not "{{ item | ipaddr }}" ?

Konstantin
18.09.2017
07:36:45
народ, привильно понимаю что { role: xxx, tags: [ yyy, ccc ] } это не рабочий вариант или при каких -то условиях должно работать?

тнн Itjunky
18.09.2017
07:53:19
Привет коллеги ;)

Алексей
18.09.2017
07:53:30
непривет

тнн Itjunky
18.09.2017
07:54:34
Есть ошибочка fatal: [debian-test]: FAILED! => {"changed": false, "failed": true, "msg": "src (or content) and dest are required"} И yml такого вида - name: upload configs copy: src: "{{ role_path }}/files/iostat_userparams.conf" dst: "/etc/zabbix/zabbix_agentd.conf.d/iostat_userparams.conf" Не могу сообразить как правильно написать

Алексей
18.09.2017
07:55:45
dest

не dst

Grigory
18.09.2017
07:57:53
народ, привильно понимаю что { role: xxx, tags: [ yyy, ccc ] } это не рабочий вариант или при каких -то условиях должно работать?
это добавит теги к тем что описано внутри роли, т.е эта роль будет выполняться при указании одного из этих тегов в командлайне

тнн Itjunky
18.09.2017
07:58:22
dest
Блин, а в ошибке про src речь.... Странно, но спасибо.

Алексей
18.09.2017
07:58:43
and

тнн Itjunky
18.09.2017
07:58:54
Да, щас вчитался внимательнее в ошибку

Konstantin
18.09.2017
08:03:45
это добавит теги к тем что описано внутри роли, т.е эта роль будет выполняться при указании одного из этих тегов в командлайне
хм, странное поведение конечно, куда логичней было бы выполнить роль с тегами и все (`ansible-playbook xxx.yml`). надо будет проверить

Grigory
18.09.2017
08:05:57
хм, странное поведение конечно, куда логичней было бы выполнить роль с тегами и все (`ansible-playbook xxx.yml`). надо будет проверить
наверное считается что если тебе надо выполнить только половину роли по тегу то ты плохо разбил функционал по ролям

Konstantin
18.09.2017
08:07:36
есть роль где есть установка сервиса и конфигурация. но где то надо только установить. и помнить что роль нужно запустить с какими то ключами — проблема.

Google
Konstantin
18.09.2017
08:09:12
бить роль на установка и конфигурация уж совсем чет не то

тнн Itjunky
18.09.2017
08:09:43
бить роль на установка и конфигурация уж совсем чет не то
Ну хз, на том же хабре именно так предлагают делать

Dmitry
18.09.2017
08:10:23
Всегда так делаю (установка/конфигурация) - тащемта это разные задачи.

Между ними может и неделя пройти :)))

Konstantin
18.09.2017
08:11:25
внутри роли разбито все по файлам. эт понятно. но бить vertica.ins`/`vertica.conf на роли чет как то не то вроде. как вариант можно скрипты использовать…

Dmitry
18.09.2017
08:12:29
Не с той стороны к задаче подходим :) вот и "не то"

Konstantin
18.09.2017
08:15:34
придеться бить на роли… скрипты это еще один слой про который надо будет помнить..

тнн Itjunky
18.09.2017
08:52:57
Странно, я удалил файл, который ранее создал через copy: Но при повторном запуске таска, файл снова не копируется на целевую систему =(

Dmitry
18.09.2017
09:04:50
Коллеги, привет! Есть вопрос по переменным : хочу в самом начале плейбука единоразово задать переменную. Переменная - вывод из shell-а. В group_vars/all/vars.yml - забиваю следующее: —- hosts: all tasks: - name: create_token shell: ls register: ls_var global_token: "{{ls_var.stdout}}" добавляю дебаг таск для определенной роли - вызываю и получаю ошибку неопределенной переменной ls_var При этом, если заменить в описании переменной ls_var.stdout на обычный текст - переменная global_token вполне нормально определяется и выводится при дебаге

Алексей
18.09.2017
09:05:48
в варсах вроде не идет выполнение тасков

Dmitry
18.09.2017
09:08:19
в варсах вроде не идет выполнение тасков
ага, тоесть таким методом я не задам переменную (имеется в виду - вывод шела в перменную в vars) ладно, буду ковырять дальше, спасибо!

Dmitry
18.09.2017
09:10:37
Подозреваю, что придется инклюдить в site.yml еще один плейбук, который будет задавать вот эти переменные

Konstantin
18.09.2017
09:12:03
удобства для теги используй
теги понятно, но просто там суть другая. писать еще раз не хочется )

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