Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Scroll Ignore
scroll-pdftrue
scroll-officetrue
scroll-chmtrue
scroll-docbooktrue
scroll-eclipsehelptrue
scroll-epubtrue
scroll-htmltrue
Panel
titleSommaire

Table of Contentschildren
styleallnonetrue



Présentation

Contexte

Les patchs vous seront fournis par Shinken-Solutions pour corriger des bogues sans avoir besoin de mettre à jour vers une version supérieure. Les patchs sont moins contraignants qu'une mise à jour complète, mais il faudra néanmoins redémarrer les démons impactés dans le patch ( la liste est précisée lors de l'installation ). Prévoyez donc une interruption de service pour l'installation d'un patch.


Afin de voir si des patchs sont déjà installés, il faut utiliser l'option "--show-history" du Shinken-healthcheck :

Code Block
shinken-healthcheck --show-history
Panel

Image Modified

Installation d'un patch

Les patchs sont fournis dans une archive en ".tar.gz". Il convient de les décompresser avec la commande suivante :

Code Block
languagebash
titledécompression de l'archive
$ tar xf shinken-enterprise_2021-01-06_V02.08.01-CumulativePatch-05_FR.tar.gz

Les fichiers contenus dans l'archive sont regroupés dans un dossier du même nom que le patch.

Pour installer le patch, il faut se déplacer dans ce dossier et lancer l'installation avec le script : "install-patch.sh".

Code Block
languagebash
titleInstallation du patch
$ cd shinken-enterprise_2021-01-06_V02.08.01-CumulativePatch-05_FR/
$ ./install-patch.sh
Info

Il est possible d'utiliser l'option "--force" afin de ne pas devoir valider les différentes demandes de confirmation présentes dans le déroulement du patch.

( cela peut être utile lorsque l'on veut intégrer l'installation du patch dans un script )

Informations sur le patch et confirmation de l'installation

La première étape de l'installation consiste à présenter les correctifs et des informations sur le patch : démons impactés, sanatize à lancer... Les informations affichées en gris sont celles présentes dans le fichier readme.txt

Lors de cette étape, il est possible d'annuler l'installation du patch sans affecter la version.

Panel

Image Removed

Info

Dans cette capture d'écran, la liste des correctifs est un court exemple et son contenu sera différent d'un patch à un autre.

Si le patch est déjà installé, alors l'installation s'arrêtera.

Panel

Image Removed

Pour réinstaller le patch, il faudra d'abord lancer le script de "revert" (voir la deuxième partie de cette page).

Sauvegarde des configurations

Avant d'appliquer les changements, le script fait une sauvegarde de la configuration du Synchronizer et du paramétrage de l'interface de Visualisation.

Cette sauvegarde est l'équivalent de la commande suivante :

Code Block
languagebash
themeEmacs
shinken-backup --configuration --user

Toutes les sauvegardes sont placées dans un dossier et un sous dossier situé dans /root/shinken/versions_and_patch_installations. Le nom de ce dossier comporte plusieurs informations :

  • La date et l'heure de la réalisation de la sauvegarde
  • Le nom complet de la version du patch

Celui du sous-dossier se nommera avec : 

  • Les mots : BACKUP_CONFIGURATION_PRE_PATCH
  • Suivi de trois tirets : ---
  • Puis le nom complet de la version du patch
  • Et enfin de trois tirets : ---

Ce nommage spécifique du dossier et du sous-dossier permet d'organiser et de retrouver plus facilement les sauvegardes effectuées au cours des installations des patchs et des versions.  

Panel

Image Removed

Installation des fichiers rpm

Il est possible que certains patchs installent de nouvelles dépendances qui sont livrées via le RPM ( Red hat Package Manager ).

Panel

Image Removed

Application des règles SELinux

Dans certains patchs, des règles SELinux peuvent être mises à jour durant l'installation.

La mise à jour d'une règle SELinux impose de retirer d'abord les règles existantes avant d'installer sa mise à jour.  Il y a donc deux étapes:

  • Retrait des règles SELinux déjà installées par une installation ou un autre patch.
  • Installation de la nouvelle version de la règle SELinux.
Panel

Image Removed

Arrêt des démons

Le script présente les démons concernés par l'installation du patch. Seuls les démons concernés seront arrêtés.

Ils seront redémarrés à la fin du script.

Panel
Image Removed
Warning

Votre installation sera modifiée seulement quand cette étape sera terminée. Si vous ne pouvez pas éteindre un démon à ce moment-là, vous pouvez répondre "No" et votre installation ne sera pas affectée par le patch.

Retrait des patchs précédents

Afin de garantir que le patch s'installe sur la bonne version, il désinstalle les patchs précédents, du plus récent au plus ancien. Cela permet d'installer un patch sans avoir à désinstaller le patch précédent.

Cette étape ne modifie pas les fichiers de configuration. Cela implique que :

  • Les fichiers de configuration livrés dans un patch précédent avec l'extension ".patchnew" ne seront pas retirés. N'étant pas lus par la configuration, ils ne posent pas problème.
  • Les fichiers qui auraient été modifiés lors de l'installation par le patch ( ou par vos soins ) conserveront les modifications apportées.
  • Les fichiers ajoutés seront toujours présents.
Panel

Image Removed

Info

Ici la liste des fichiers restaurés est un court exemple et son contenu sera différent d'un patch à un autre.

Si aucun patch précédent n'a été installé, alors cette étape ne changera rien à votre installation.

Panel

Image Removed

Sauvegarde des fichiers qui seront modifiés

Tous les fichiers modifiés par le patch sont sauvegardés afin de pouvoir retirer le patch si besoin.

Cette étape permet, lors de l'installation du prochain patch de revenir à la version d'origine.

Panel

Image Removed

Info

Ici la liste des fichiers sauvegardés est un court exemple et son contenu sera différent d'un patch à un autre.

Copie des fichiers

Le script copie tous les fichiers nécessaires.

Panel

Image Removed

Info

Ici la liste des fichiers sauvegardés est un court exemple et son contenu sera différent d'un patch à un autre.

Si vous aviez modifié des fichiers de configuration présents dans les dossier /etc/shinken et /opt/graphite/conf ( configuration de démon, de module, de pack... ), et que ces fichiers sont livrés dans le patch, ils ne seront pas écrasés.

Le script d'installation dépose le nouveau fichier juste à côté, renommé en ".patchnew". Vous pouvez alors regarder les différences entre ce fichier et votre fichier : ajout de nouveaux paramètres, modification des textes ...

La liste des fichiers ajoutés avec cette extension est présentée à la fin de l'installation du patch.

Les fichiers de configuration présents dans les dossiers suivants sont propres à l'installation de Shinken et seront donc écrasés :

  • /etc/shinken/packs/shinken
  • /etc/shinken/packs/shinken-core
  • /etc/shinken/_default
  • /etc/shinken/external
  • /etc/shinken-user-example
  • /etc/shinken-skeletons

Exécution des "Sanatizes"

Certains patchs nécessitent de passer des "Sanatize" pour modifier la base de données ou des fichiers de configuration.

Panel

Image Removed

Redémarrage des démons Shinken

Les démons sont redémarrés après l'installation du patch.

Vous pouvez choisir de laisser Shinken éteint à cette étape, sans incidence sur la suite de l'installation ( modification manuelle à apporter, période de maintenance... )

Seuls les démons impactés par le patch seront redémarrés.

Panel

Image Removed

Redémarrage des démons externes

Il est possible que l'installation nécessite de redémarrer des services externes ( par exemple httpd ).

Panel

Image Removed

Une fois les démons redémarrés, l'installation est terminée.

Si des fichiers de configuration ont été livrés avec l'extension patchnew, la liste de ces fichiers est présentée à la fin de l'installation. Cette liste peut être retrouvée dans le dossier des logs d'installation présenté dans la partie sauvegarde de cette page.

Désinstallation d'un patch

La désinstallation du patch peut s'effectuer depuis le répertoire du patch à l'aide du script revert-patch.sh.

Code Block
languagebash
titleDésinstallation du patch
$ cd shinken-enterprise_2021-01-06_V02.08.01-CumulativePatch-05_FR/
$ ./revert-patch.sh
Warning
titleIMPORTANT

La désinstallation d'un patch aura pour effet de retrouver la dernière version officielle originale qui a été installée sur le serveur ( celle mise en place via un install.sh ou update.sh ).

Ex. : Sur une version 02.08.01,

  1. Vous installez le patch 01,
  2. Puis le patch 02.

Si vous désinstaller le patch 02, la version est la 02.08.01 et non le patch 01.

Informations sur le patch et confirmation de la désinstallation

La première étape de la désinstallation consiste à présenter les correctifs et des informations sur le patch : démons impactés, sanatize à lancer... Les informations affichées en gris sont celles présentes dans le fichier readme.txt.

Lors de cette étape, il est possible d'annuler la désinstallation du patch ( serveur non concerné, redémarrage impossible... ).

Panel

Image Removed

Info

Dans cette capture d'écran, la liste des fixes est un court exemple et son contenu sera différent d'un patch à un autre.

Sauvegarde des configurations

Avant de désinstaller le patch, le script fait une sauvegarde de la configuration du Synchronizer et du paramétrage de l'interface de Visualisation.

Cette sauvegarde est l'équivalent de la commande suivante :

Code Block
languagebash
themeEmacs
shinken-backup --configuration --user

Toutes les sauvegardes sont placées dans un dossier et un sous dossier situé dans /root/shinken/versions_and_patch_installations. Le nom de ce dossier comporte plusieurs informations :

  • La date et l'heure de la réalisation de la sauvegarde
  • Le nom complet de la version du patch

Celui du sous-dossier se nommera avec : 

  • Les mots : BACKUP_CONFIGURATION_PRE_UNPATCH
  • Suivi de trois tirets : ---
  • Puis le nom complet de la version du patch
  • Et enfin de trois tirets : ---

Ce nommage spécifique du dossier et du sous-dossier permet d'organiser et de retrouver plus facilement les sauvegardes effectuées au cours des installations des patchs et des versions.  

Panel

Image Removed

Arrêt des démons

Le script présente les démons concernés par la désinstallation du patch. Seuls les démons concernés seront arrêtés. Ils seront redémarrés à la fin du script.

Panel

Image Removed

Warning

Votre installation sera modifiée seulement quand cette étape sera terminée. Si vous ne pouvez pas éteindre un démon à ce moment-là, vous pouvez répondre "No" et votre installation ne sera pas affectée par le revert.

Restauration des règles SELinux

Si des règles SELinux ont été mises à jour pendant l'installation du patch, celles-ci sont également désinstallées.

Panel

Image Removed

Restauration des fichiers

Les fichiers présents avant l'installation du patch sont restaurés à leurs emplacements.

Panel

Image Removed

Info

Ici la liste des fichiers restaurés est un court exemple et son contenu sera différent d'un patch à un autre.

Redémarrage des démons

Les démons sont redémarrés après la désinstallation du patch.

Vous pouvez choisir de laisser Shinken éteint à cette étape, sans incidence sur la suite de la désinstallation ( modification manuelle à apporter, période de maintenance... ).

Panel

Image Removed

Redémarrage des démons externes

Il est possible que la désinstallation nécessite de redémarrer des services externes ( httpd ).

Panel

Image Removed

À ce stade la désinstallation du patch est terminée.

Concernant les fichiers de configuration:

  • les fichiers ajoutés avec l'extension ".patchnew" ne sont pas retirés. Comme ils ne sont pas pris en compte dans la configuration, cela n'a pas d'incidence.
  • Les fichiers de configuration modifiés à l'installation du patch (fichier non modifié manuellement depuis l'installation) ne sont pas remodifiés. Les paramètres éventuellement ajoutés ne seront plus utilisés par le code, mais cela ne gêne pas le fonctionnement de Shinken.

Résolution des problèmes liés aux patchs

Pour chaque installation/désinstallation, un dossier est créé dans ~/shinken/versions_et_patch_installations/ et nommé comme suit:
Code Block
# Installation
YYYY-MM-DD-HHhMMmSS-install-patch-VXX.XX.XX_PATCH_CUMULATIVE_XX
# Désinstallation
YYYY-MM-DD-HHhMMmSS-revert-patch-VXX.XX.XX_PATCH_CUMULATIVE_XX

Ce dossier contient les dossiers et fichiers suivants :

Dossier de logs d'installation  : patch_installation_logs
  • Affichage du script d'installation : shinken.enterprise.patch.log ( installation seulement )
  • Nettoyage de la configuration : sanatize.log( installation seulement )
  • Affichage des nouveaux fichiers de configuration créé : files_patchnew_created.log ( installation seulement )
  • Affichage du script de désinstallation : shinken.enterprise.unpatch.log ( désinstallation seulement )
  • Dossier de backup de la configuration et données utilisateur avant l'installation : BAKCUP_CONFIGURATION_PRE_PATCH---VXX_XX_XX_PATCH_CUMULATIVE_XX--- ( installation seulement )
  • Dossier de backup de la configuration et données utilisateur avant la désinstallation : BAKCUP_CONFIGURATION_PRE_UNPATCH---VXX_XX_XX_PATCH_CUMULATIVE_XX--- ( désinstallation seulement )