Nutzt man bei Hetzner mehrere Server oder installiert einzelne Server häufig neu, ist es zeitraubend die erforderlichen Aktionen über den Robot, das Webinterface für die Verwaltung, durchzuführen. Erfreulicherweise steht ein Webservice zur Verfügung, somit ist eine Nutzung in Ansible und ähnlichen Tools ohne grossen Aufwand möglich.

Webservice aktivieren

Um den Webservice nutzen zu können, konfiguriert man zunächst im Webinterface den dafür erforderlichen Account unter Einstellungen > Webservice-Einstellungen > Webservice-Login.

Installation mit Installimage

Das Skript Installimage für die Installation der Server unterstützt eine Konfigurationsdatei autosetup. Bei Aktivierung des Rescue Systems lässt sich damit eine angepasste Installation, etwa mit einer anderen Partitionierung, durchführen. Die Konfigurationsdatei ist im Wiki von Hetzner dokumentiert.

Nachfolgend ein Beispiel für eine Konfigurationsdatei für die Installation von Ubuntu 14.04 LTS auf einem Software RAID mit zusätzlichem LVM2.

Nach dem Boot in das Rescue Systems wird diese Datei als /autosetup abgelegt. Anschließend kann durch Aufruf von installimage die Installation des Servers gestartet werden.

Manuelle Nutzung des Webservice

Hier nun ein Beispiel für die Nutzung des Webservice mit curl, die Rückgabe erfolgt in JSON:

Nutzung des Webservice in Ansible

Für die Integration in Ansible wird das Modul uri genutzt. Mit dem nachfolgendem Task wird ein Hardware Reset ausgelöst. Die erforderlichen Credentials sowie die primäre IP Adresse des Servers werden in Variablen hinterlegt.

Ein vollständiges Playbook mit allen erforderlichen Tasks für eine automatisierte Installation mit Ansible findet sich auf unserem GitHub Account.