
Stas
30.05.2018
09:22:47
есть роль, там есть в качестве дефолтов используется переменная словарь
application[install_dir] = "/path"
возникла потребность вызвать эту роль много раз
сделал таску в которую include_role делаю

Google

Stas
30.05.2018
09:23:34
и цикл
сделал список в котором все пути
не совсем понимаю как каждый раз подставлять в application[install_dir] нужный путь

Maksim
30.05.2018
09:24:19
покажи таску

Stas
30.05.2018
09:25:12
она претерпела кучу изменений)))
---
- hosts: all
vars:
install_dirs: ["/test1", "/test2"]
name: Start services
tasks:
- name: "Test"
debug:
msg: "{% for item in install_dirs %}{{ item }}{% endfor %}"
#with_items: "{{ install_dirs }}"
- include_role:
name: app/start
with_items: "{{ apps }}"
пытался в дебаге вывести нужный мне дикт

Maksim
30.05.2018
09:25:53
ну и что не работает ?

Stas
30.05.2018
09:26:37
я даже не понимаю как сделать

Maksim
30.05.2018
09:26:38
- hosts: all
vars:
install_dirs: ["/test1", "/test2"]
name: Start services
tasks:
- name: "Test"
debug:
msg: "{{ item }}"
with_items: "{{ install_dirs }}"

Stas
30.05.2018
09:26:44
пробовал и через {% set %}
это прекрасно
но роль ждет
что ей придет дикт

Google

Stas
30.05.2018
09:26:57
а не стринг

Konstantin
30.05.2018
09:27:14

Stas
30.05.2018
09:27:19
ждет дикт
application: {
install_dir: "path"
}
}
ок, сорян

bebebe
30.05.2018
09:28:16

Maksim
30.05.2018
09:28:21
я задачу не понимаю, ребята может лучше тебя поняли

Stas
30.05.2018
09:29:12
и в тасках внутри роли она вызывается как {{ application.install_dir }}

Maksim
30.05.2018
09:32:43
да йоперный театр, сделать переменную глобальной и всё

Stas
30.05.2018
09:32:53
тоесть
- hosts: all
vars:
application: {
install_dir: "/test1"
}
name: Start services
tasks:
- name: "Test"
debug:
msg: "{{ application }}"
грубо говоря вот на примере одного
но мне нужно чтобы у меня был список путей а application из него генерился
в цикле
бля на питоне изи объясню как сделать, в ансибле хз как это сделать)

Maksim
30.05.2018
09:34:47

Stas
30.05.2018
09:35:00
да это просто уже попытка отчаянья

Maksim
30.05.2018
09:35:19
для чего тебе нужны будут эти переменные ?

Stas
30.05.2018
09:35:34
чтобы передать её в роль
идея такая, есть n плейбуков одинаковых использующих одну роль

Maksim
30.05.2018
09:36:05
ну

Google

Stas
30.05.2018
09:36:06
и разную переменную application
хочу сделать один плейбук, в котором в цикле делать include_role
и генерить нужный application
тоесть как бы вызвать n раз эту роль, для n приложений
не переделывая роль
тоесть как бы сделать массив из aplicationов которые внутри хранят install_dir если абстрактно
есть ли возможность создавать словарь с определенным названием на основе списка

Maksim
30.05.2018
09:39:33
- hosts: all
vars:
application: {
install_dir: "/test1"
}
name: Start services
tasks:
- name: "Test"
include_role:
name: role
vars:
application: "{{item}}"
with_items: "{{application}}"
так ты можешь в роль передавать переменную

Stas
30.05.2018
09:40:10
да, такой вариант был но затык возник с тем
как сделать для двух-трех и тд

Maksim
30.05.2018
09:40:32
ролей ?

Maksim
30.05.2018
09:40:51
или тебе кучу переменных надо передавать ?

Vadim
30.05.2018
09:41:50
loop_control:
loop_var: application
для двух-трех - суй их в один dict и передавай его

Stas
30.05.2018
09:56:26
два три это образно
там штук 20
в один dict не вариант, роль переделывать нельзя(

Vasyl
30.05.2018
09:57:39
господа, а помогите отфильтровать json.
Есть такой выхлоп от api https://hastebin.com/niciyujeya.pl
и такой вот кусок плейбука
- name: get login api test
uri:
url: https://127.0.0.1/*/login
validate_certs: no
method: POST
body_format: json
body: {"username":"admin","password":"admin"}
return_content: yes
status_code: 201
headers:
Content-Type: application/json
register: response
tags: api
Надо отфильтровать token и запомнить его как переменную

Sergey
30.05.2018
10:38:53
вот да, @tnt4brain ^^^^
по ссылке, которую я кидал, как раз написано, почему это не гуд ? тем более - в глобальный конфиг

Google

bebebe
30.05.2018
10:39:50

Maksim
30.05.2018
12:32:58
@freeseacher ну расскажи хоть ты про пакер, а то хащики молчат

Алексей
30.05.2018
12:33:54

Eugene
30.05.2018
12:39:06
всем привет, может у кого то есть книга запускаем ansible ?

Алексей
30.05.2018
12:39:34
тут в канале лежит
более одного раза

Eugene
30.05.2018
12:42:09
only english видел да - а ну русском есть ?)

Алексей
30.05.2018
12:42:41
сомневаюсь

Admin
ERROR: S client not available

Maksim
30.05.2018
12:44:52
А вообще офф документация рулит

Алексей
30.05.2018
12:45:21
в канале еще лежат видео уроки.
и всякое такое.
есть мнение что люди которые делают это — делают это зря.

bebebe
30.05.2018
13:08:22

Eugene
30.05.2018
13:08:49
а так можно ?)

bebebe
30.05.2018
13:09:27

Navern
30.05.2018
13:12:59

bebebe
30.05.2018
13:14:02
в стонике да
https://twitter.com/StonicProject/status/807188539100319745
оно? :)

Алексей
30.05.2018
13:14:28
Хмм. Нам не удаётся найти этот сайт.
Мы не можем подключиться к серверу blog.stonic.io.

Google

Navern
30.05.2018
13:14:49
оно? :)
нуу...да=) я думал все про стоник знают

bebebe
30.05.2018
13:15:07

Vadim
30.05.2018
13:15:44

Алексей
30.05.2018
13:16:05
скорлупа!
конец скорлупы

bebebe
30.05.2018
13:16:37

Vadim
30.05.2018
13:16:44
переменные устанавливать через прописать

Алексей
30.05.2018
13:16:59

Vadim
30.05.2018
13:17:10
это повезло что switch-case нет, они, как известно, означают "переключатель-чемодан"

Maksim
30.05.2018
13:17:17
это точно чат 1С ?

Wom
30.05.2018
13:17:25

Алексей
30.05.2018
13:17:59
ансибл вверх и бежит!

Wom
30.05.2018
13:18:39

Mike
30.05.2018
16:18:58
ребят, как можно отловить PID плейбука который выполняется в данный момент?
пробую типа
- name: Check ansible PID
shell: echo "$PPID"
register: playbook_pid
ставлю паузу - плейбук запущен, pid вернул а в процессах такого нет, ansible-playbook висит с другим pid

Max
30.05.2018
16:23:35
Привет. Есть у кого опыт работы с модулем mail? attach не аттачится(( Без аттача работает. с ним ругается что файла нет. Да, момент такой - делаю delegate_to: {{ ansible_fqdn }}

Kirya
30.05.2018
16:27:07

Max
30.05.2018
16:31:51
рукалицо=) работает
attach:
description:
- A space-separated list of pathnames of files to attach to the message.
Attached files will have their content-type set to C(application/octet-stream).

Andrey
30.05.2018
17:26:07
https://github.com/TelegramMessenger/MTProxy
Телеграм выложил исходники MTProxy. Налетай!