module

Beryl::CLI::OvhTaskWait

Attente d'une tâche de redémarrage OVH (hardReboot), commune à beryl rescue et beryl boot-hd.

Délai : 15 min. Les ADV-3 (EPYC 4465P, carte ASRock) mettent 6 à 9 min à finir leur hardReboot (constaté le 23 oct. 2026, onze serveurs lancés ensemble) : avec 5 min, beryl abandonnait alors que le redémarrage aboutissait chez OVH.

Refus « A reboot has already been requested » (HTTP 403) : un redémarrage du serveur est déjà en cours chez OVH (commande relancée trop tôt). pending_reboot retrouve sa tâche, pour l'attendre au lieu d'échouer.

Constants

POLL_INTERVAL = 10.seconds
TIMEOUT = 15.minutes

Instance methods

already_requested?(ex : Exception) : Bool

Le refus d'OVH quand un redémarrage est déjà demandé. Pur.

Source
pending_reboot(client : OvhApi::Client, service_name : String) : OvhApi::Endpoints::Task | Nil

Tâche hardReboot encore en cours sur le serveur (la plus récente), ou nil si OVH n'en montre aucune.

Source
timeout_message(task : OvhApi::Endpoints::Task, timeout : Time::Span) : String

Délai dépassé : le redémarrage n'est pas perdu, il continue chez OVH. Pur.

Source
wait(prefix : String, client : OvhApi::Client, service_name : String, task : OvhApi::Endpoints::Task, timeout : Time::Span = TIMEOUT, poll : Time::Span = POLL_INTERVAL) : String | Nil

Attend que task atteigne un état terminal. Une ligne log_step par état (init, todo, doing…) avec le temps passé dans chacun. nil si la tâche a abouti, sinon le message d'erreur (à lever par l'appelant).

Source