Umbau abgeschlossen: Ansible 3.0 ist da

Ansible 3.0 wälzt den Aufbau des Automatisierungswerkzeugs um – allerdings nicht die Technik selbst, sondern die Entwicklung und die Organisation der Updates.

In Pocket speichern vorlesen Druckansicht
Lesezeit: 3 Min.
Von
  • Mark Pröhl
  • Daniel Kobras

Mit Version 3.0 des Automatisierungswerkzeugs hat die Ansible-Community endgültig den Weg frei gemacht für unabhängige Entwicklungszyklen und eine modularere Organisation. Aus Sicht des Codes ist die Versionsnummer selbst die wohl markanteste Neuerung: Ansible 3.0 unterscheidet im Funktionsumfang wenig Grundlegendes von seinen Vorgängern.

Dennoch markiert es das Ende einer größeren Umbauphase, die bereits in den Vorgängerversionen 2.9 und 2.10 vorbereitet und nun abgeschlossen wurde, denn statt wie bisher den Freigabeprozess einzelner Komponenten miteinander zu koppeln, soll die Entwicklung künftig unabhängig voneinander verlaufen. Ansible 2.9 hat dazu die so genannten Collections als Verteilungsmechanismus für Ansible-Komponenten eingeführt, Version 2.10 dann den bisherigen Lieferumfang aufgeteilt in den Kernbestandteil Ansible-Base sowie eine Sammlung zusätzlicher Collections.

Mit dem Release 3.0 wird Ansible nun zur Meta-Distribution, die ihrerseits nur die genauen Versionen der enthaltenen Collections festlegt. Entsprechend folgt die Versionsnummer des Gesamtpakets auch nicht mehr wie bisher Ansible-Base, dessen aktuelle Versionsnummer weiterhin 2.10 ist. Vielmehr orientiert sie sich am Prinzip der semantischen Versionierung. Alle drei Wochen sollen neue Minor-Releases erscheinen, die ausschließlich rückwärtskompatible Anpassungen enthalten. Inkompatible Änderungen sind den Major-Releases vorbehalten, die regulär für alle sechs Monate vorgesehen sind.

Aktuell ist die Entwicklung noch mit höherer Schlagzahl unterwegs. Bereits für Mai ist das nächste große Ansible-Release 4.0 vorgesehen. Diese soll dann auf Version 2.11 der bis dahin von Ansible-Base in Ansible-Core umbenannten Grundfunktionen beruhen. Das aktuelle Ansible 3.0 hingegen begnügt sich noch mit dem bereits im vergangenen Herbst erschienenen Ansible-Base 2.10. Damit ergibt sich folgende Übersicht:

  • Ansible 2.9: Alles in einem, Collections als Technology Preview
  • Ansible 2.10: Aufteilung in Ansible-Base und Collections
  • Ansible-Core 2.11: Umbenennung Ansible-Base in Ansible-Core (noch nicht verfügbar)
  • Ansible 3.0: Community Package, basierend auf Ansible-Base 2.10 + Collections
  • Ansible 4.0: Community Package, bestehend aus Ansible-Core 2.11 + Collections (noch nicht verfügbar)

Neben den fundamentalen organisatorischen Umbauten enthält Ansible 3.0 auch noch einige technische Neuerungen. Beispielsweise kümmert sich ein eigenes Modul um nutzerspezifische ssh-Einstellungen. Wer eine Container-Plattform auf Kubernetes-Basis betreibt, kann nun Helm-Pakete mit den passenden Modulen per Ansible verwalten. Ferner führt ein neues Connection-Plug-in Tasks in Docker-Containern aus und zusätzliche Lookup-Plug-ins erleichtern den Umgang mit komplexen Variablen. Das Changelog zu Ansible 3.0 enthält eine vollständige Liste aller Änderungen.

Siehe dazu auch:

(fo)