Die erste Aufgabe, die nach unseren vorbereitenden Maßnahmen aus Teil 1 des Workshops ansteht, ist die Inventarisierung. Dies beschreibt in AWX aber weniger die aus dem Assetmanagement bekannte Sammlung aller Geräte im Netz. Vielmehr geht es um die sinnvolle Gruppierung der Netzwerkgeräte für die Automatisierungsjobs.
Inventories sind bereits aus Ansible bekannt und beinhalten einzelne Hosts oder entsprechend der organisatorischen und technischen Bedürfnisse Gruppen von Hosts. Diese können nach dem Anlegen als Ziel für automatisierte Jobs zum Einsatz kommen. Auch verschachtelte Gruppen sind möglich, wobei die Bezeichnung der untergeordneten Gruppe "Related Group" lautet.
Neben den bekannten statischen Inventories bietet AWX sogenannte Smart Inventories. Diese bilden eine flexible Möglichkeit, um über Bedingungen zu definieren, wie die Gruppierung stattfinden soll. Dies geschieht über Smart-Host-Filter, die auf einer domänenspezifischen Sprache basieren, die wiederum auf der "get_queryset()"-Methode aus dem Django-REST-Framework aufbaut. Ein Beispiel hierfür wäre ein smartes Inventory auf Grundlage eines bestimmten Betriebssystems wie Windows oder Linux beziehungsweise einer spezifischen Version derselben.
Damit nicht alle AWX-Nutzer alle Projekte, Job-Templates, Credentials und Inventories aufrufen können, beispielsweise um Changes an Core-Komponenten auf einen kleinen geschulten Personenkreis einzuschränken, gibt es die Möglichkeit, einzelnen Nutzern und Teams Berechtigungen zuzuteilen. Dies kann zum Beispiel das Recht "Admin" sein, über das Lesen, Ausführen und Editieren möglich ist. Über die "Use"-Berechtigung erhalten Anwender die Möglichkeit, das Inventory zu nutzen. "Ad Hoc" hingegen erlaubt, einzelne Kommandos auf Komponenten im Inventar anzuwenden, ohne aufwendige Playbooks zu
...Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.