Hat man eine OpenStack Umgebung mit Kolla <= 3.0.2 und Docker < 1.13 ausgerollt und anschliessend Docker auf eine Version >= 1.13 aktualisiert kommt es beim Start von Containern zu dem folgendem Fehler: Error response from daemon: maximum retry count cannot be used with restart policy 'unless-stopped'

Verursacht wird dieser Fehler durch eine Änderung in der Docker API v1.25. Der MaximumRetryCount, von Kolla <= 3.0.2 per Default auf den Wert 10 gesetzt, ist nun nicht mehr gültig und müsste auf 0 gesetzt sein.

In Kolla wurde dieses Problem mittlerweile behoben und in allen aktuellen Versionen wird MaximumRetryCount nicht mehr gesetzt wenn die Restart Policy unless-stopped verwendet wird. Eine gute Übersicht über die einzelnen Restart Policies findet sich im Blog von Codeship.

Probleme treten nun auf wenn man die Docker Engine auf einem Konten einer bestehenden Kolla Umgebung auf eine Version >= 1.13 aktualisiert.

Auf Stackoverflow findet sich dazu der Hinweis eine mögliche Lösung ist die direkte Bearbeitung der hostconfig.json Datei eines Containers, abgelegt im entsprechendem Verzeichnis unter /var/lib/docker/containers, gefolgt von einem Restart des Docker Services.

Mittlerweile wurde das docker update Kommando eingeführt, mit dem sich einige Parameter eines bereits erstellten Containers bearbeiten lassen. Darunter auch die zu nutzende Restart Policy.

Erfreulicherweise wird beim setzen der unless-stopped Restart Policy, für einen Container der diese Restart Policy bereits gesetzt hat, der Wert für MaximumRetryCount auf 0 gesetzt. Anschliessend ist ein Start des Containers wieder möglich.