
Dok
20.09.2018
13:21:05

Div
20.09.2018
13:45:31
добрый день, коллеги. кто-то сталкивался с задачей, добавить в ini файл несколько линий с одинаковой опцией но разными значениями? модуль ini_file оставляет в живых только последнее значение.
пробовал и через with_items и через loop

Terminator
20.09.2018
13:48:44
@pos4pos будет жить. Поприветствуем!

Google

bebebe
20.09.2018
13:49:44
если вы все же соберетесь это использовать ^^^ то никому не говорите что вы тут это почерпнули


Div
20.09.2018
13:50:50
я несколько иначче делаю
ini_file:
path: "/etc/systemd/system/multi-user.target.wants/docker.service"
section: "{{ ini.section }}"
option: "{{ ini.option }}"
value: "{{ ini.value }}"
no_extra_spaces: yes
loop:
- { section: Service, option: Environment, value: "HTTP_PROXY=http://127.0.0.1:3128/" }
- { section: Service, option: Environment, value: "HTTPS_PROXY=http://127.0.0.1:3128/" }
- { section: Service, option: Environment, value: "FTP_PROXY=http://127.0.0.1:3128/" }
- { section: Service, option: Restart, value: "always" }
loop_control:
loop_var: ini
и в результате имею только две посление линии


bebebe
20.09.2018
13:53:14
я несколько иначче делаю
ini_file:
path: "/etc/systemd/system/multi-user.target.wants/docker.service"
section: "{{ ini.section }}"
option: "{{ ini.option }}"
value: "{{ ini.value }}"
no_extra_spaces: yes
loop:
- { section: Service, option: Environment, value: "HTTP_PROXY=http://127.0.0.1:3128/" }
- { section: Service, option: Environment, value: "HTTPS_PROXY=http://127.0.0.1:3128/" }
- { section: Service, option: Environment, value: "FTP_PROXY=http://127.0.0.1:3128/" }
- { section: Service, option: Restart, value: "always" }
loop_control:
loop_var: ini
вам прямо ваш код надо за вас поменять?
ini_file:
path: "/etc/systemd/system/multi-user.target.wants/docker.service"
section: "{{ ini.section }}"
option: "{{ ini.option }}"
value: "{{ ini.value }}"
no_extra_spaces: yes
loop:
- { section: Service, option: Environment, value: "HTTP_PROXY=http://127.0.0.1:3128/\nEnvironment=HTTPS_PROXY=http://127.0.0.1:3128/\n" }
- { section: Service, option: Environment, value: "FTP_PROXY=http://127.0.0.1:3128/" }
- { section: Service, option: Restart, value: "always" }
loop_control:
loop_var: ini


Div
20.09.2018
13:54:52
дико извиняюсь, я просто сразу не увидел где отличия.
мозк офф...

bebebe
20.09.2018
14:04:10
мозк офф...
Я на всякий случай уточню что есть переменная ALL_PROXY, если у вас не самописный софт посмотрите, может поддерживается

Div
20.09.2018
14:14:04
спасибо. буду искать

Terminator
20.09.2018
14:28:18
@Spakovsky будет жить. Поприветствуем!
@tikitos будет жить. Поприветствуем!

Aleksandr
20.09.2018
19:25:36
z

GithubReleases
21.09.2018
03:13:48
ansible/ansible was tagged: vX.Y.Z
Link: https://github.com/ansible/ansible/releases/tag/vX.Y.Z
Release notes:
New release v2.7.0rc3

Google

Andrei
21.09.2018
09:09:01
привет, подскажиет как в ansible взять файл с приватного google drive ?

Maksim
21.09.2018
09:12:48
Магия. Но никто не писал модуль
Может с авторизацией курл ?

Victor
21.09.2018
09:15:55

Andrei
21.09.2018
09:16:57
судя по всему придется так :)

Viktor
21.09.2018
09:17:01
возможно, через Google Drive API можно

Pavel
21.09.2018
09:28:58
у Google Drive вроде ж WebDAV был, или нет?

66271
21.09.2018
09:29:32

bebebe
21.09.2018
09:31:59

Maksim
21.09.2018
10:20:02
если я не ошибаюсь то копирование реркурсивно только через synchronize

Антон
21.09.2018
13:01:44
можно ли при запуске ансибла указать использовать кастомный ansible.cfg?
нужно на один раз просто)

Fedor
21.09.2018
13:03:16
ANSIBLE_CONFIG (environment variable if set)

Nklya
21.09.2018
14:10:44
он автоматом берет конфиг из локальной папки

Terminator
21.09.2018
15:58:16
@risccisc будет жить. Поприветствуем!

GithubReleases
21.09.2018
16:23:48
ansible/ansible was tagged: v2.7.0rc3
Link: https://github.com/ansible/ansible/releases/tag/v2.7.0rc3
Release notes:
New release v2.7.0rc3

Huan
21.09.2018
18:46:49
привет всем. подскажите плз как в плейбук указать какие items юзать в плейбуке для роли чтоб не писать в каждой таске with_ites: '{{ role_items }}'?
roles:
- { role: role_name, tags: role_tag, with_items: role_items }
cat inventroies/group_vars/some_group/role_variables.yml
---
role_items:
- key1: value1
key2: value2
как-то так можно?

Terminator
21.09.2018
19:30:27
@pushazinchenko будет жить. Поприветствуем!

Nikolai
22.09.2018
18:25:59
Приветствую
есть прмерно такая структура
my_ansible
├── inventory
├── hosts.ini
└── roles
├── role1
├── role2
└── role3
└── main.yml
└── task1.yml
└── task2.yml
└── task3.yml
В инвентари хосты разбиты на группы
В roles3 необходимо выполнить таски на конкретных хостах (не группах)
Делаю импорт в main.yml
- import_tasks: task1.yml
В task1.yml указываю конретный хост в группе
- hosts: group_name[0]
tasks:
- name: Run command
....
В результате получаю ошибку синаксиса
ERROR! no action detected in task. This often indicates a misspelled module name, or incorrect module path.
- hosts: group_name[0]
^ here
Как указать чтобы таски выполнились на конкретном хосте из соотвествующей группы?

bebebe
22.09.2018
18:30:31
помойму, вы где-то напортачили с "ансибл ситнаксисом"
коснтрукция - hosts: group_name[0] должна работать

Google

Nikolai
22.09.2018
18:34:48
если убираю
- hosts: group_name[0]
tasks:
из task1.yml и оставляю только сами таски - оно выполняется, но на всех хостах

bebebe
22.09.2018
18:38:47
эээ, вы конструкцию
- hosts: group_name[0]
tasks:
положили в файл task1.yaml?

Nikolai
22.09.2018
18:39:39
да
скорее всего не правильно, но не пойму где это указать тогда

bebebe
22.09.2018
18:40:06
а каким образом вы тогда плейбуку запускаете?
если у вас плейбкуа называется task1.yaml, то все должно быть хорошо
но видимо, вы пытаетесь вложить в плейбуку плейбуку через include_tasks - это не правильно

Nikolai
22.09.2018
18:41:19
да, плейбук запускается из другого файл, в котором указаны роли
playbook.yml
- hosts: all
become: yes
become_user: root
become_method: sudo
roles:
- role1
- role2
- role3
да вы правы, но как тогда сделать

bebebe
22.09.2018
18:41:57
https://docs.ansible.com/ansible/latest/user_guide/playbooks.html
почитайте, если появятся вопросы - спросите

Nikolai
22.09.2018
18:49:55
все, разобрался

bebebe
22.09.2018
18:52:03
\o/

Terminator
23.09.2018
11:32:07
@ovchinnikovmy будет жить. Поприветствуем!

Terminator
23.09.2018
12:04:51
@ivan_ponomarev будет жить. Поприветствуем!

Sergey
24.09.2018
07:08:27
Ребят подскажите где в доке почитать
как прокинуть хостнейм из инвентори файла в j2 конфиг для деплоя ансиблом?
Пример:
{
hostname="{{ proxysql_server1 }}"
port=6032
weight=0
comment="proxysql1"
}
где адрес будет браться из переданной переменной
Как указать передачу из инвентори?

Robert
24.09.2018
07:10:13
inventory_hostname, кажется

Maksim
24.09.2018
07:10:21
ага

Admin
ERROR: S client not available

Maksim
24.09.2018
07:10:23
вроде так
в общем много там чего

Sergey
24.09.2018
07:10:50

Google

Maksim
24.09.2018
07:10:53
ansible -m setup выплюнет тебе потянку

Robert
24.09.2018
07:11:11

Sergey
24.09.2018
07:11:57
{
hostname="{{ ansible_hostname=db1 }}"
port=6032
weight=0
comment="proxysql1"
}
так?

Maksim
24.09.2018
07:12:09
зачем ?
```
{
hostname="{{ ansible_hostname }}"
port=6032
weight=0
comment="proxysql1"
}
```
так

Robert
24.09.2018
07:12:48
{
hostname="{{ inventory_hostname}}"
port=6032
weight=0
comment="proxysql1"
}

Sergey
24.09.2018
07:13:23
я не совсем понимаю а где присвоение на каком инвентори хосте выполнить

Maksim
24.09.2018
07:13:35
надо смотреть, если ты делаешь для all, то надо указывать конкретный хост

Sergey
24.09.2018
07:17:03
роль следующая:
у меня есть 4 среды
мне нужно раскидать на 4 среды(группы хостов) софт, применяю переменные, соответсвующие среде
вопрос, могу ли я не указывать адреса в vars, а вместо них использовать хостнеймы?
ansible-playbook -i inventory/proxysql proxysql.yml -e "hostgroup=perf env=perf"
т.е выкати на хостгруппу перф
соблюдая переменные var/perf.yml
вопрос заключался именно в прокидывании хостнеймов указанных в хостгруппе без добавления их в vars

Maksim
24.09.2018
07:20:05
зачем тебе их в варс ?

Sergey
24.09.2018
07:20:37
потому что я не могу их по другому прокинуть в конфиг
суть не поменяется, если конфиг будет одинаковый в пределах одной хостгруппы
но у меня 1 шаблон конфига, куда прокидываются именно варсы соответсвующие среде в которую они деплоятся
если бы у меня было 4 конфига без переменных, вопроса бы не было;)

Robert
24.09.2018
07:23:16
Мне кажется тебе нужно сделать environments а в них group_vars
В каждом environments свой inventory

Google

Robert
24.09.2018
07:24:25
Все хосты из этих environments будут брать переменные из своего group_vars

Sergey
24.09.2018
07:25:26
спасибо за наводку я пробну

Aion
24.09.2018
07:26:22
{% for host in groups.mygroup %}... Вы об этом?