Ich verwende Ansible 2.2, kann aber ein Upgrade durchführen, wenn es hilft.
Ich habe das gesehen und war ziemlich aufgeregt, aber es scheint nicht in dieser (oder einer anderen) Version der Ansible-Dokumentation zu sein.
Das Problem, das ich zu lösen versuche, ist, dass ich 1000 Benutzer habe, die ich auf einer Centos-Box verwalten muss.
Es dauert eine Weile, diese Aufgabe seriell auszuführen. Und noch ärgerlicher ist, dass alles als geändert angezeigt wird, da der Befehl "expires" auf dem Benutzermodul das Objekt immer als geändert markiert.
Dies sah ebenfalls vielversprechend aus, aber es dauerte genauso lange, bis jeder Befehl in der with_items-Schleife ausgeführt wurde, und ging nicht schneller (ich habe nie lange genug gewartet, um bis zum Ende zu kommen).
Das Überspringen von Aufgaben ist jetzt schnell (viel schneller als in Ansible 2.0). Wenn ich nicht herausfinden kann, wie dies parallel funktioniert, werde ich zurückgehen und herausfinden, wie sinnlose Aufgaben übersprungen werden können, und wenn überhaupt sonst schlägt fehl, ich schreibe mein eigenes Modul. Aber es scheint, als sollte ich das alles in Ansible schneller machen können.
Dies ist, was ich parallel ausführen möchte, host_authorizations
ist eine Liste von Benutzernamen und anderen Daten.
- 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