Я использую Ansible 2.2, но могу обновить, если это поможет.
Я видел это и был довольно взволнован, но этого, похоже, нет в этой (или любой другой) версии документации Ansible.
Проблема, которую я пытаюсь решить, состоит в том, что у меня есть 1000 пользователей, которыми я должен управлять на коробке Centos.
Это занимает много времени, чтобы запустить эту задачу поочередно. И что еще более раздражает, все выглядит как измененное, потому что команда «expires» в пользовательском модуле всегда помечает вещь как измененную.
это также выглядело многообещающе, но для выполнения каждой команды в цикле with_items требовалось одинаковое количество времени, и оно не шло быстрее (я никогда не удосужился ждать достаточно долго, чтобы дойти до конца).
Пропуск задач теперь выполняется быстро (намного быстрее, чем в Ansible 2.0), если я не могу понять, как заставить эту работу работать параллельно, думаю, я вернусь и выясню, как пропустить бессмысленные задачи, и если все иначе не получится, я напишу свой собственный модуль. Но похоже, что я должен быть в состоянии сделать все это быстрее в Ansible.
Это то, что я хочу запустить параллельно, host_authorizations
это список имен пользователей и других данных.
- name: Create/modify OS user accounts
user: name={{ item.username }} group=sshusers shell=/bin/bash home="/home/selinux-modules/{{ item.username }}" state=present expires={{item.expiredate|default(omit)}}
with_items: "{{ host_authorizations }}"
tags: full_maintenance