Mise à jour automatique de l'agent
Ce que fait la mise à jour automatique
L'agent se met à jour tout seul. La plateforme choisit la version que chaque machine doit exécuter, puis elle envoie un ordre de mise à jour aux agents qui exécutent une autre version. L'agent vérifie la nouvelle version avant de l'installer. Quand la nouvelle version ne démarre pas, la machine remet la version précédente en place, sans intervention.
Vous n'avez aucune commande à lancer. Vous lisez le résultat dans le portail.
Prérequis
- Un agent enrôlé et en ligne, sur Linux x86-64 ou sur Windows x64.
- Un accès HTTPS sortant de la machine vers le serveur BaaStide, port 443. L'agent télécharge la nouvelle version par cette connexion.
- Le rôle
readpour lire la version d'un agent et ses tâches. Voir Rôles et droits. - Aucun rôle pour recevoir la mise à jour : la plateforme la pilote.
Comment se déroule une mise à jour
- La plateforme envoie l'ordre de mise à jour à l'agent. Elle limite le nombre d'ordres par minute, pour toute la plateforme.
- L'agent accepte l'ordre, puis il attend la fin de la tâche en cours. Une sauvegarde ou une restauration n'est jamais coupée par une mise à jour. À partir de ce moment, la machine refuse un nouvel ordre de sauvegarde ou de restauration.
- L'agent télécharge la nouvelle version depuis le serveur BaaStide, en HTTPS. Un téléchargement coupé reprend où il s'est arrêté.
- L'agent vérifie la taille, l'empreinte SHA-256 et la signature de la nouvelle version. Un fichier qui ne correspond pas est supprimé, et la mise à jour échoue.
- L'agent lance la nouvelle version en mode d'essai. Cet essai teste le démarrage, la lecture de la configuration, la connexion au serveur et l'écriture sur le disque.
- Un essai en échec annule la mise à jour. Le fichier est supprimé, et l'ancienne version continue de tourner.
- Un essai réussi lance l'installation. La nouvelle version garde l'ancienne de côté sur la machine, arrête le service, remplace le programme, puis démarre le service.
- Le nouvel agent se reconnecte et annonce sa version. Il reste connecté une minute, puis il confirme la mise à jour.
Entre l'étape 7 et l'étape 8, le service est arrêté quelques secondes. Le portail peut signaler la machine Hors ligne pendant ce temps.
Sous Windows, l'agent écrit aussi sa version dans Applications installées à chaque démarrage.
Retour à la version précédente
La machine revient seule à la version précédente quand la nouvelle version ne marche pas. Le retour couvre trois cas : la nouvelle version s'arrête en erreur, elle se bloque, ou elle tourne sans réussir à se reconnecter.
- La nouvelle version a 10 minutes pour confirmer la mise à jour.
- Sans confirmation, elle s'arrête. Le service la redémarre 10 secondes après.
- La machine compte les démarrages sans confirmation. Après 3 démarrages, elle remet l'ancienne version en place, puis le service démarre sur cette version.
- L'agent signale l'échec à la plateforme à sa connexion suivante.
- La plateforme n'envoie plus cette version à cette machine. Un administrateur de la plateforme doit relancer la mise à jour.
Chaque démarrage a ses 10 minutes. Le retour complet prend donc jusqu'à une trentaine de minutes.
Ce retour ne demande aucune connexion au serveur. Il a lieu même quand le réseau de la machine est coupé.
Lire la version d'un agent
- Ouvrez le portail.
- Ouvrez la page Endpoints.
- Cliquez sur le nom de la machine.
- Lisez le bloc de détails. Le champ Version donne la version annoncée par l'agent à sa dernière connexion.
La colonne Version de la liste des endpoints donne la même valeur.
Lister les agents d'une version
- Ouvrez la page Endpoints.
- Cliquez sur Filtres.
- Saisissez la version dans le champ Version, par exemple
0.8.0. Le filtre demande la version exacte. - Cliquez sur Appliquer.
La liste ne garde que les endpoints de cette version.
Suivre une mise à jour sur une machine
- Ouvrez la fiche de la machine.
- Ouvrez l'onglet Activité.
- Trouvez la ligne Mise à jour de l'agent dans la carte Tâches.
- Lisez son statut.
- Cliquez sur le type de la tâche pour ouvrir sa fiche.
| Statut de la tâche | Ce qu'il veut dire |
|---|---|
| Envoyée | La plateforme a envoyé l'ordre. Elle attend la réponse de l'agent. |
| En cours | L'agent a accepté l'ordre. Il télécharge, il vérifie, puis il installe. |
| Réussie | Le nouvel agent s'est reconnecté et il a confirmé sa version. |
| Annulée | L'ordre n'a pas été remis. L'agent était hors ligne, par exemple. La plateforme réessaie plus tard. |
| Échouée | Le téléchargement, une vérification, l'essai ou la confirmation a échoué. |
La fiche d'une tâche échouée donne le code de la cause et le Message de l'agent. La cause
update_failed dit que la nouvelle version n'a pas été installée : l'agent tourne toujours sur sa
version d'avant. La cause rolled_back dit que la machine est revenue à sa version précédente.
Un échec de mise à jour ouvre l'alerte Mise à jour en échec pour cette machine. L'alerte se ferme d'elle-même après une mise à jour réussie de cette machine par la plateforme.
Limites et précautions
- Ne remplacez jamais le programme de l'agent à la main sans suivre la procédure de Mettre un agent à jour à la main. La mise à jour automatique a besoin des fichiers posés par l'installation.
- Ne modifiez pas l'unité systemd
baastide.servicesous Linux, ni le service BaaStide sous Windows. Une mise à jour remet les réglages d'origine. - Un agent hors ligne ne reçoit pas de mise à jour. Il la reçoit à sa prochaine connexion.
- Un agent qui exécute une tâche ne reçoit pas de mise à jour tout de suite. L'ordre attend la fin de la tâche, ou il est repris plus tard.
- Les versions signées de l'agent existent pour Linux x86-64 et pour Windows x64 seulement. Une machine d'une autre architecture ne reçoit aucune mise à jour.
- Une coupure du serveur BaaStide de plus de 10 minutes pendant une mise à jour fait revenir la machine à sa version précédente. Un administrateur de la plateforme relance la mise à jour après la coupure.
- Une version trop ancienne bloque la sauvegarde et la restauration de la machine. Elle reçoit toujours la mise à jour automatique.
- Sur une instance installée chez vous, le serveur sert les versions d'agent livrées avec sa propre version. Mettez l'instance à jour pour obtenir de nouvelles versions d'agent.
- Quand la mise à jour automatique échoue plusieurs fois sur une machine, mettez son agent à jour à la main. Voir Mettre un agent à jour à la main.
Référence
- CLI de l'agent :
baastide version. - API : Endpoints, champs
agent_version,min_agent_versionetagent_version_statedeGET /endpoints, et filtreversion. - API : Backups, route
GET /endpoints/{id}/jobspour les tâches de la machine, etGET /jobs/{id}pour une tâche.