Neue Ansible Modules für die SBB

Automatisch, einfach, Ansible: Puzzle ITC entwickelte für die SBB spezifische Ansible-Module und integrierte diese in die bereits vorhandene Umgebung. Entstanden ist eine automatisierte Bereitstellung eines vorkonfiguriertes Betriebssystem.

 

Verschiedene Cloud Provider bringen es mit sich, dass unternehmensspezifische Konfigurationen bei jedem Default Image eingepflegt werden müssen. Dies bedeutet einen grossen, manuellen Aufwand für die Entwickler*innen. Aus diesem Grund wandte sich die SBB mit dem Bedürfnis nach einem einheitlichen Server Image für alle Plattformen an Puzzle ITC. Ziel des Projekts war es, dass das Image mit allen eingesetzten Cloud Anbietern (Amazon Web Services AWS und Private Cloud Instanz von T-Systems) kompatibel ist.

Cloud Engineering

Auf AWS wird oft mit Tags gearbeitet, um eine Instanz zu erkennen. Da auf AWS und in der Private Cloud möglichst ähnliche Bedingungen geschaffen werden sollten, wurden die Tags auch auf OpenStack verwendet. Um das zu erreichen, wurden die OpenStack Ansible Module neu geschrieben oder überarbeitet.

Nebst einem Modul für das Taggen von Servern entstand auch eines für das Taggen von Volumes. Diese stellen sicher, dass Tags auch auf den Instanzen in der Private Cloud automatisiert gesetzt werden. Die Backup Strategie der SBB setzt auf Volume Snapshots.

«Dank der Flexibilität von Ansible konnten wir alle Anforderungen der SBB an das UnifiedOS erfüllen. Mit Ansible Tower konnten wir gleichzeitig eine grafische Schnittstelle schaffen, um einfach und unkompliziert Ressourcen anzufordern.»

Dominik Meisser, System Engineer Puzzle ITC

 

Um das Löschen von Volumes mit aktiven Snapshots zu ermöglichen, implementierte Puzzle diese Funktionalität in das existierende Volume Modul für OpenStack. Für die von der SBB eingesetzte Appliance für DNS, DHCP & IP Address Management stand bereits ein Open Soure Ansible-Modul zur Verfügung. Dessen Funktionsumfang wurde von den Puzzle-Engineers erweitert, um die Integration in die Kundenumgebung zu ermöglichen. Dank der Publikation des Moduls auf GitHub kann nun sogar die ganze Ansible-Community von den Verbesserungen profitieren.

Die verschiedenen Ansible Modulentwicklungen, die Erstellung des Images sowie die Integration in Ansible Tower ermöglichen bei der SBB nun die Bereitstellung eines Servers mit Unified OS per Mausklick.

Januar – Juni 2019
Ansible, Ansible Tower, Python, Packer, OpenStack
Ansible, Python, Ansible Module

Die Schweizerische Bundesbahnen AG wurde 1902 gegründet und ist die staatliche Eisenbahngesellschaft. Mit 33’500 Mitarbeitenden ist die SBB AG eine der grössten Arbeitgeberinnen der Schweiz. Zu ihren Service-Public-Leistungen gehören der Personenverkehr und die Schieneninfrastruktur.