@pro_ansible

Страница 192 из 625
Tigran
10.04.2017
13:54:02
в итоге получается json конфиг

где есть true/false

как можно это обыграть?

Алексей
10.04.2017
13:58:50
у меня похожее

Google
Алексей
10.04.2017
13:59:05
- name: Install and configure mongo hosts: svc-mongod become: yes any_errors_fatal: true vars_files: - "vars/main.yml" roles: - role: mongod become: yes when: "{{ has_svc_mongod | default(False) or consul_env}}" tags: - mongod - external

Tigran
10.04.2017
14:01:20
да, думаю подойдет, спасибо!

Dmitriy
10.04.2017
14:02:56
Подскажите пожалуйста. как можно дергать в ansible файлы по маске? типа "with_items=*.conf" у меня есть куча конфигов nginx, файлы типа test.app.com.conf - когда я добавляю новый конфиг, то мне надо идти обновлять переменные плейбука -добавляя новую с троку с новым кофигом в переменную. как это можно обойти что бы оно само брало все нужные файлы .

Hackru
10.04.2017
14:18:06
у меня похожее есть в плейбуке, не оч элегантно, но работает - name: Copy file to host template: src={{ item }} dest=/etc/nginx/conf.d/ with_fileglob: - ../templates/{{ inventory_hostname }}/*.conf notify: - restart nginx

выпилить отсюда {{ inventory_hostname }} и будет наверное то что тебе нужно

Dmitriy
10.04.2017
14:22:39
Спасибо. попробую

Dmitry
10.04.2017
14:53:48
а ни у кого случайно в последнее время не ломались плейбуки с pip install editable=True чего-нить?

Tigran
10.04.2017
14:55:02
@freeseacher попробовал сделать аналогично, с hello world, пока параллельно не получается

--- - name: Get config hosts: webservers roles: - get_config - name: Start replication process strategy: free hosts: webservers roles: - role: b2 when: b2 is defined - role: s3 when: s3 is defined

тут у меня два плея. Первый достает конфиги (пока не важно как и откуда). Второй параллельно запускает роли если в конфигах указанно true. Я пока что разместил переменные в host_vars

в первой роли я делаю wait_for: timeout:10

оно запускает первую роль, ждет 10 секунд, потом вторую

хотя, я вроде поставил strategy:free

Google
Tigran
10.04.2017
15:39:59
я попробовал убрать wait_for, вместо этого запустить питонячий скрипт с time.sleep(10)

и оно все равно strategy:free не запускает параллельно

как сделать параллельное выполнение ролей и их тасков?

сейчас у меня выглядит так

Плейбук --- - name: Get config hosts: webservers roles: - get_config - name: Start replication process strategy: free hosts: webservers roles: - role: b2 when: b2 is defined - role: s3 when: s3 is defined

Таск первой роли --- - name: S3 command: "python3 -u /home/emotionfolio/projects/test-ansible/s3.py" register: s3 - debug: msg="{{ s3.stdout }}"

в самом скрипте просто print('hello world') и time.sleep(10)

есть идеи, почему оно выполняется не параллельно?

Michael
10.04.2017
16:19:20
strategy: free сделан не для того, чтобы задачи запускались одновременно, а чтобы следующая задача стартовала не дожидаясь остальных хостов

Tigran
10.04.2017
16:28:35
как запустить все задачи (роли) одновременно?

Andrey
10.04.2017
16:28:57
написать плейбук и включить туда все роли (например)

Tigran
10.04.2017
16:30:51
или я неправильно понял?

т.е у меня всегда один хост

у меня есть множество ролей (в примере указаны 2), которые должны параллельно выполнятся

сейчас, запускается первая роль, уходит в sleep(10), только потом запускается вторая роль

как добиться параллельности?

Dmitry
10.04.2017
17:09:10
ловите наркомана

Алексей
10.04.2017
17:09:52
@emotionfolio_tigran strategy: free с какой целью выставляешь ты ?

Дмитрий
10.04.2017
17:24:00
у меня есть множество ролей (в примере указаны 2), которые должны параллельно выполнятся
ansible-playbook play1.yml & ansible-playbook play2.yml& Не подойдёт? ) Логи только, интересно, как писаться будут

Google
Tigran
10.04.2017
17:34:22
@emotionfolio_tigran strategy: free с какой целью выставляешь ты ?
c целью параллельно запустить роли плея

- name: Start replication process strategy: free hosts: webservers roles: - role: b2 when: b2 is defined - role: s3 when: s3 is defined

вот плей

мне нужно, чтобы эти две роли выполнились параллельно

я так понимаю, что вместо strategy:free мне нужен playbook_async, правильно?

Алексей
10.04.2017
17:48:32
в этом мире ничего не бывает паралельно.

ибо достичь оной нельзя.

так что думай над плейбуком еще раз

Tigran
10.04.2017
18:13:46
добавил в таски async и poll

--- - name: B2 command: "python3 -u /home/emotionfolio/projects/test-ansible/b2.py" async: 50 poll: 0 register: b2 - name: B2 Check async_status: jid={{ b2.ansible_job_id }} register: result until: result.finished retries: 30

poll: 0 не запрашивает, запускает и забывает

Tigran
10.04.2017
18:14:38
следующая задача уже проверяет job пока он не будет finished

хотя не, второй таск ждет, пока чек не пройдет

Admin
ERROR: S client not available

Michael
10.04.2017
18:23:52
кажется, тут хотят ансибл как скежулер использовать

Dmitry
10.04.2017
18:25:12
кажется тут норкоман, говорил же - ловите! :)

может ему кто-нибудь расскажет про что-то типа RQ?

Michael
10.04.2017
18:27:52
> First, run a Redis server

ммм

Google
Michael
10.04.2017
18:28:08
хорошая штука

Tigran
10.04.2017
18:30:41
Dmitry
10.04.2017
18:39:38
хорошая штука
да без б, поставь RabbitMQ :D

scheduler делаю за границами ансибла
давай трудным путем пойдем. тебе параллелизм зачем?

Tigran
10.04.2017
18:41:43
да

но при этом, мне нужен Ansible Tower

Anatoly
10.04.2017
18:42:24
давай трудным путем пойдем. тебе параллелизм зачем?
Ему не параллелизм нужен ему таски нужно выполнить параллельно, да ещё наверное и на одном и том же хосте.

Dmitry
10.04.2017
18:42:38
блеать, ты тупой? тебя не спрашивали да или нет. вопрос был задан "зачем?"

зачем ему нужны таски параллельно?

чего он хочет этим добиться

Tigran
10.04.2017
18:43:11
Дима, из какого ты города?)

уж больно плохо ты разговариваешь с незнакомыми

Dmitry
10.04.2017
18:43:38
Дима, из какого ты города?)
ты пятисотый в очереди в лицо стукнуть. по делу будет что?

Tigran
10.04.2017
18:44:01
а блеать у тебя на лбу написано

по делу с тобой ничего не будет

Dmitry
10.04.2017
18:44:48
ок, братиш, короткий ответ будет такой: ты выбрал неподходящий инструмент, это невозможно. а длинный ответ ты обсуждать не захотел. на том и закончим

Anatoly
10.04.2017
18:46:26
А вот троллинга ради какой инструмент подходящий мне вот прям интересно стало

Dmitry
10.04.2017
18:47:05
у Тиграна спрОсите. когда найдет.

телепаты в отпуске, условий задачи от него ведь добиться не удалось

Александр
10.04.2017
18:47:30
у Тиграна спрОсите. когда найдет.
Сам спросишь, тебя же ищет ?

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