@pro_ansible

Страница 583 из 625
Dok
20.09.2018
13:21:05
у меня через lineinfile сделано
Ну да, или так. Просто, обидно так делать, когда есть готовый модуль

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
привет, подскажиет как в ansible взять файл с приватного google drive ?
Взять гуглдрайв клиент под линух Авторизоваться Вытянуть нужный файл. ... Профит!

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
привет, подскажиет как в ansible взять файл с приватного google drive ?
https://github.com/mitcdh/docker-google-drive-ocamlfuse посмотрите в эту сторону запустится докер, в него примаунтиться google-drive, а в хостовую систему будет выставлен volume, из которого можно сделать copy нужного вам файла

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
inventory_hostname, кажется
он пробросится через переменную?

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 %}... Вы об этом?

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