Montée de version à chaud du Mediation Controller¶
Important
La documentation de montée de version à chaud du Mediation Controller est prévue pour tout Mediation Controller fonctionnant avec Debian 11. Le contrôle de la version de Debian peut se faire avec la commande suivante (à exécuter en SSH ou en accès console) :
1 | |
Information
Pour rappel, le passage en tant que root sur les machines Debian doit s'effectuer avec la commande suivante :
1 | |
Préparation¶
Ouverture des flux¶
Lors de la montée de version du produit, de nombreux paquets doivent être téléchargés auprès des dépôts Debian du fait du passage de la version 11 à 12 de Debian. L'accès TCP 80 doit être ouvert vers security.debian.org et ftp.fr.debian.org.
Pour tester l'ouverture des flux sur la machine, une synchronisation des dépôts Debian peut être lancée, si des messages d'erreur d'accès aux dépôts Debian sont affichées alors le flux réseau n'est pas ouvert, probablement bloqué par le pare-feu d'entreprise. La synchronisation des dépôts est initiable avec la commande suivante :
1 | |
Téléchargement du miroir et outils nécessaires¶
Le miroir cyberelements Cleanroom 4.6 est téléchargeable depuis ce lien (nécessite la création d'un compte client) : Systancia Marketplace
En plus du miroir des outils tiers seront nécessaires pour le processus de montée de version :
- Un client SSH (sur Windows l'outil PuTTY peut être utilisé)
- Un client SCP (sur Windows les outils WinSCP ou FileZilla peuvent être utilisés)
Installation et utilisation de l'outil screen¶
L’outil screen permet d’ouvrir plusieurs terminaux shell dans une même console. Il est impératif d’exploiter cet outil pour réaliser la montée de version cyberelements Cleanroom, afin de lever la dépendance vis-à-vis de la stabilité de la connectivité réseau. En effet, sans exploitation de l’outil screen, l’installation serait stoppée en cas de rupture de la connectivité SSH avec les serveurs Systancia Cleanroom.
En exploitant l’outil screen, à la reconnexion sur la console shell de l’équipement cyberelements Cleanroom, le terminal dans lequel le processus de mise à jour a été exécuté pourra être récupéré.
L’installation du paquet screen est à réaliser avec la ligne de commande suivante :
1 | |
Pour ouvrir un nouveau terminal screen, la commande suivante doit être exécutée :
1 | |
Remplacer <ID> par un nom permettant d'identifier la session.
Exemple
Pour la montée de version de cyberelements l'identifiant cye-upgrade est facilement identifiable. La commande serait donc la suivante :
1 | |
Pour récupérer un terminal ouvert par screen il suffit d'exécuter la commande suivante :
1 | |
Remplacer <ID> par le nom défini à l'ouverture de la session.
Exemple
Le terminal précédement ouvert avec l'identifiant cye-upgrade est récupérable avec la commande suivante :
1 | |
Afin de fermer le terminal une fois l’intervention de montée de version terminée, la commande exit ou le raccourcis clavier Ctrl+D est à saisir dans le terminal.
Un retour à la console est alors opéré. Le message « screen is terminating » confirme la fermeture du terminal.
Extension d'espace disque pour les appliances virtuelles¶
Les appliances virtuelles Systancia Cleanroom 4.4 ou 4.5 ont besoin d'avoir une extension de leur disque de 2 Go qui seront ajoutés à la partition /usr. Cette opération est nécessaire afin d'avoir suffisamment d'espace disque pour la montée de version et de ne pas se retrouver bloqué pendant l'opération.
Lors de la connexion au Mediation Controller, que ce soit en SSH ou en mode console, un message d'accueil vous prévient d'être connecté à une machine Systancia. Une ligne supplémentaire indique la version de l'appliance.
Exemple
Une appliance virtuelle Mediation Controller en version 4.5 donnera le résultat suivant :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
Dans le cas où la machine n'est pas une appliance virtuelle fournie avec la version 4.4 ou 4.5, ce chapitre peut être ignoré pour passer à la montée de version.
Sauvegarde vivement recommandée
Les étapes qui vont suivre vont réaliser des modifications sur le partitionnement disque du Mediation Controller. Si des modifications manuelles avaient été réalisées il est possible que les indications suivantes ne soient pas adaptées entrainant un blocage de la machine.
Avant d'aller plus loin, veuillez réaliser une sauvegarde de la machine ou le cas échéant duppliquer la machine virtuelle. Les snapshots ne pourront pas être utilisés car, notamment avec VMware, ils bloquent la possibilité d'étendre un disque.
Au niveau de l'hyperviseur étendre l'espace disque de la machine virtuelle de 2 Go supplémentaires. En cas de non possibilité d'étendre le disque, vérifier qu'aucun snapshots n'est présent, et sinon, éteindre la machine virtuelle si l'extension à chaud n'est pas supportée.
Une fois l'espace disque étendu au niveau de la machine virtuelle, les commandes suivantes, à exécuter en tant que root, sont nécessaires afin d'étendre la partition /usr :
1 2 3 4 5 6 | |
Montée de version¶
Mise à jour des paquets Debian¶
La montée de version de cyberelements Cleanroom nécessitant la montée de version de Debian, il est recommandé de correctement mettre à jour les paquets Debian 11 avant la bascule vers Debian 12. Pour ceci exécuter les commandes suivantes en tant que root (mise à jour système puis suppression des paquets inutiles) :
1 2 3 | |
Des messages demandant de modifier la configuration de plusieurs fichiers de configuration pourront apparaître, dans ces cas sélectionner le choix pour conserver la configuration actuelle.
Préparation des pilotes Microsoft SQL Server¶
Des actions complémentaires sont nécessaires si les pilotes Microsoft SQL Server sont installés (c'est le cas sur les appliances virtuelles founies par Systancia).
Pour contrôler leurs présences sur le serveur, la commande suivante peut-être exécutée en tant que root :
1 | |
Si aucun retour n'apparaît, alors les pilotes ne sont pas installés et vous pouvez passer à l'étape de préparation du miroir.
Sinon, si les pilotes sont installés, deux paquets devraient être listés : msodbcsql17 et mssql-tools. Poursuivez les indications de cette section.
Exemples
Un serveur sur lequel les pilotes ne sont pas installés aurait le résultat de la commande précédente comme ceci :
1 | |
Tandis qu'un serveur sur lequel les pilotes sont installés aura un résultat équivalent à ceci (la version des paquets pouvant être différente) :
1 2 3 | |
Les commandes suivantes sont nécessaires afin d'installer une version spécifique des paquets pour garantir le succès de la montée de version :
1 | |
Configurer le dépôt Microsoft adapté à Debian 12 pour préparer la montée de version :
1 | |
Préparation du miroir cyberelements Cleanroom 4.6¶
Le miroir récupéré lors de la phase de préparation (fichier avec l'extension tgz) doit être envoyé sur le serveur via SCP. Il est à déposer dans le répertoire /tmp/.
Puis vient ensuite la préparation du miroir en exécutant les commandes suivantes en tant que root (une suppression de fichiers résiduels d'une ancienne montée de version est prévue) :
1 2 3 | |
Configuration d'APT¶
Le gestionnaire de paquet APT est paramétré pour récupérer les paquets Debian 11, il est nécessaire de le reconfigurer pour récupérer les paquets Debian 12. Il est aussi nécessaire de mettre à jour la référence du miroir local de cyberelements Cleanroom. Pour se faire exécuter les commandes suivantes en tant que root :
1 2 | |
En plus de paramétrer les nouveaux dépôts, nous recommandons vivement l'application du paramétrage suivant permettant d'indiquer à APT de ne pas installer les dépendances recommandées qui ne sont pas obligatoirement nécessaire, dans un but de réduction des composants installés. La commande suivante permet d'appliquer ce paramétrage en tant que root :
1 | |
Pour finir il est nécessaire de remettre à jour la liste des paquets des dépôts avec la commande suivante :
1 | |
Déclenchement de la montée de version¶
Accéder en SSH au serveur Mediation Controller et passer root, puis ouvrir un screen tel qu'indiqué plus haut.
Débuter par mettre à jour certains paquets spécifiques afin que la montée de version puisse se réaliser. Un message d'erreur à l'exécution de la première commande est attendu, mais l'erreur sera corrigée avec la seconde commande :
1 2 | |
Lorsqu'on monte de version un Mediation Controller Debian 11 vers Debian 12, le paquet collectd est mis à jour et devient incompatible avec le fichier de configuration généré par cyberelements Cleanroom (/etc/collectd/collectd.conf). Cela peut générer une erreur lors de la mise à jour.
Pour l'éviter, on désactive collectd :
1 2 | |
Suite à cela, la montée de version peut être initiée avec la commande suivante :
1 | |
Lors de la montée de version plusieurs questions seront demandées à propos de la conservation de fichiers de configurations pour les mettre à jour d’après la configuration standard Debian 12 ou de conserver la configuration particulière en place. Voici nos recommandations pour la plupart des fichiers pouvant être rencontrés :
| Fichier de configuration | Action recommandée |
|---|---|
| /etc/issue | A conserver, répondre N |
| /etc/issue.net | A conserver, répondre N |
| /etc/security/limits.conf | A conserver, répondre N |
| /etc/login.defs | A conserver, répondre N |
| /etc/shibboleth/shibboleth2.xml | A conserver, répondre N |
| /etc/shibboleth/shibd.logger | Appliquer les modifications, répondre Y |
| /etc/default/ntpsec | Appliquer les modifications, répondre Y |
| /etc/snmp/snmpd.conf | Appliquer les modifications, répondre Y |
| /etc/logrotate.d/IPdivaServer | Appliquer les modifications, répondre Y |
| /etc/ssh/sshd_config | A conserver, répondre Garder la version actuellement installée |
| /etc/ssh/ssh_config | Appliquer les modifications, répondre Y |
| /etc/apache2/ports.conf | A conserver, répondre N |
| /etc/init.d/apache2 | A conserver, répondre N |
| /etc/modsecurity/modsecurity.conf-recommended | Appliquer les modifications, répondre Y |
| /etc/ipdiva/httpd/commonParameters.conf | Appliquer les modifications, répondre Y |
| /etc/ipdiva/care/djangosettings.ini | Appliquer les modifications, répondre Y |
| /etc/crontab | Appliquer les modifications, répondre Y |
| /etc/openssl.cnf | Appliquer les modifications, répondre Y |
| /etc/audit/rules.d/audit.rules | A conserver, répondre N |
| /etc/pam.d/su | A conserver, répondre N |
| /etc/sysctl.conf | A conserver, répondre N |
Accepter le message de configuration du paquet glibc : 
Accepter le redémarrage automatique des services : 
Une fois la montée de version terminée, exécuter les commandes suivantes réactiver collectd, supprimer les paquets inutiles et redémarrer la machine :
1 2 3 4 | |
Actions spécifiques aux Mediations Controllers Cluster¶
Sur le serveur Mediation Controller SLAVE, exécutez les commandes suivantes pour resynchroniser le secret partagé entre le Mediation Controller MASTER et le SLAVE :
1 2 | |
Montée de version de l'instance de BDD PostgreSQL¶
Sur le serveur Mediation Controller, la mise à jour de l’instance de BDD PostgreSQL 13 vers la version 15 est à réaliser. Pour cela exécuter les prochaines indications avec les droits root.
Vérifier l’état des instances Postgresql avant migration :
1 | |
Exécuter les commandes suivantes afin de mettre à jour l'instance de base de données vers la version 15 de PostgreSQL :
1 2 3 4 | |
Contrôler la bonne montée de version de l'instance de base de données, deux instances doivent apparaître, l'une en version 13 et l'autre en version 15 qui est la seule active. Le contrôle s'effectue avec la commande suivante :
1 | |
Si la montée de version s'est correctement réalisée, alors l'instance de base de données en version 13 peut être supprimée :
1 | |
La suppression des paquets PostgreSQL en version 13 peut être initiée :
1 | |
Migration de la BDD cyberelements Cleanroom¶
La configuration du produit est enregistrée en base de données, celle-ci nécessite une migration pour lui permettre de contenir les configurations des évolutions apportées par la nouvelle version. L'opération s'effectue sur le Mediation Controller en tant que root.
Architecture cluster
Pour une architecture cluster il est nécessaire d'effectuer l'opération uniquement depuis un seul Mediation Controller, peut importe lequel.
Il est en plus nécessaire d'exécuter la commande suivante :
1 | |
La migration des données est déclenchée avec une commande équivalente à celle-ci :
1 | |
Où <org_clr> doit être remplacé par le nom d'organisation à migrer. Noter bien que si le Mediation Controller possède plusieurs organisations (multi-tenants), alors il faudra exécuter autant de fois qu'il y a d'organisations à migrer.
Exemple
Pour une plateforme cyberelements Cleanroom qui possède les organisations systancia et systancia-test, il sera nécessaire d'exécuter les commandes suivantes :
1 2 | |
Suite à la migration des base de données, un redémarrage du service Apache2 est nécessaire :
1 | |
Restauration de configurations¶
Certaines configurations ont été écrasées lors du processus de montée de version qui ont besoin d'être rétablies.
Fichier commonParameters.conf :
Reporter les balises <Location> relatives aux passerelles HTML5 généralement situées en fin de fichier depuis le fichier /etc/ipdiva/httpd/commonParameters.conf.dpkg-old vers /etc/ipdiva/httpd/commonParameters.extra.conf (créer le fichier s'il n'existe pas). Si aucune balise <Location> n’est présente alors les exemples suivants pourront être recopiés.
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | |
Fichier djangosettings.ini :
Reporter à l’identique les informations de la ligne 2 « allowed_hosts » du fichier /etc/ipdiva/care/djangosettings.ini.dpkg-old vers le fichier /etc/ipdiva/care/djangosettings.ini. Ceci peut être automatisé avec la commande suivante en tant que root :
1 | |
Application des restaurations :
Afin d'appliquer les restaurations, un redémarrage du service Apache2 est nécessaire en tant que root :
1 | |
Validation¶
Une fois l’opération de montée de version réalisée, une phase de validation du bon fonctionnement de l’infrastructure cyberelements Cleanroom est requise avant remise en production. En cas d’échec de validation, un retour arrière via la restauration des sauvegardes serveurs cyberelements Cleanroom est à envisager.
Accéder à l’interface administrateur d’une organisation, puis accéder au menu « A propos » dans la barre de contrôle pour contrôler que la version du Mediation Controller soit bien passée en 4.6.
De premiers tests de fonctionnement de la plateforme peuvent être initiés, toutefois nous recommandons d'utiliser une version 4.6 des Edge Gateway pour garantir un fonctionnement optimal des applications cyberelements Cleanroom.