Mise à jour de Canopsis¶
Cette procédure décrit la mise à jour d'une instance mono-nœud de Canopsis.
Lisez l'ensemble de ce document avant de procéder à toute manipulation.
Important
Les environnements n'ayant pas été installés en suivant l'une des méthodes d'installation officielles de Canopsis, notamment les environnements de type Docker Swarm ou en paquets multi-nœuds, ne sont pas pris en charge par cette procédure.
Procédure de mise à jour¶
Vous devez tout d'abord lire chacune des notes de version publiée entre votre version actuelle et celle que vous ciblez. En savoir plus sur les numéros de version de Canopsis.
Par exemple, si vous effectuez une mise à jour de Canopsis 3.38.0 à 3.40.0, vous devez :
- consulter et appliquer toute procédure donnée dans les notes de version de Canopsis 3.39.0,
- puis celles de Canopsis 3.39.1,
- puis celles de Canopsis 3.40.0,
- puis suivre le reste de cette procédure, selon votre méthode d'installation (paquets ou Docker Compose).
Si vous bénéficiez d'un développement spécifique (modules ou add-ons ayant été spécifiquement développés pour votre installation), assurez-vous de suivre toute procédure complémentaire vous ayant été communiquée.
Attention
La mise à jour causera une interruption de service de Canopsis et des composants qui lui sont associés, durant son déroulement.
Vous pouvez notamment utiliser la fonctionnalité de diffusion de messages afin de prévenir vos utilisateurs en amont.
Mise à jour en installation par paquets CentOS 7¶
Les commandes suivantes doivent être réalisées avec l'utilisateur root
.
Appliquez la mise à jour des paquets Canopsis :
yum --disablerepo="*" --enablerepo="canopsis*" update
Vous devez ensuite finaliser la mise à jour avec les commandes suivantes, fonction de votre édition de Canopsis (Community ou Pro) :
su - canopsis -c "canopsinit --canopsis-edition core"
su - canopsis -c "canopsinit --canopsis-edition cat"
Puis, après avoir pris en compte toute éventuelle remarque des notes de version au sujet du fichier canopsis.toml
, appliquez les changements de configuration :
set -o allexport ; source /opt/canopsis/etc/go-engines-vars.conf
/opt/canopsis/bin/canopsis-reconfigure -migrate-postgres=true -postgres-migration-mode=up -postgres-migration-directory=/opt/canopsis/share/migrations/postgres
Puis, redémarrez l'ensemble des moteurs Canopsis :
systemctl daemon-reload
canoctl restart
Ne pas oublier d'appliquer toute éventuelle procédure supplémentaire décrite dans chacune des notes de version qui vous concerne.
Mise à jour en installation par paquets RHEL 8¶
Les commandes suivantes doivent être réalisées avec l'utilisateur root
.
Appliquez la mise à jour des paquets Canopsis :
dnf makecache
dnf --disablerepo="*" --enablerepo="canopsis*" update
Après avoir pris en compte toute éventuelle remarque des notes de version au sujet du fichier canopsis.toml
, appliquez les changements de configuration en fonction de votre édition de Canopsis (Community ou Pro) :
set -o allexport ; source /opt/canopsis/etc/go-engines-vars.conf
/opt/canopsis/bin/canopsis-reconfigure -edition community -migrate-postgres=true
systemctl restart canopsis-engine-go@engine-action canopsis-engine-go@engine-axe canopsis-engine-go@engine-che.service canopsis-engine-go@engine-fifo.service canopsis-engine-go@engine-pbehavior.service canopsis-engine-go@engine-service.service canopsis-service@canopsis-api.service
set -o allexport ; source /opt/canopsis/etc/go-engines-vars.conf
/opt/canopsis/bin/canopsis-reconfigure -edition pro -migrate-postgres=true
systemctl restart canopsis-engine-go@engine-action canopsis-engine-go@engine-axe canopsis-engine-go@engine-che.service canopsis-engine-go@engine-correlation.service canopsis-engine-go@engine-dynamic-infos.service canopsis-engine-go@engine-fifo.service canopsis-engine-go@engine-pbehavior.service canopsis-engine-go@engine-service.service canopsis-service@canopsis-api.service canopsis-engine-go@engine-remediation canopsis-engine-go@engine-webhook
Ne pas oublier d'appliquer toute éventuelle procédure supplémentaire décrite dans chacune des notes de version qui vous concerne.
Mise à jour en environnement Docker Compose¶
Après avoir suivi les notes de version, resynchronisez l'ensemble de vos fichiers Docker Compose avec les fichiers de référence correspondant à la version voulue :
- Canopsis Community : https://git.canopsis.net/canopsis/canopsis-community/-/tree/develop/community/docker-compose
- Canopsis Pro : https://git.canopsis.net/canopsis/canopsis-pro/-/tree/develop/pro/deployment/canopsis/docker (autorisation nécessaire)
Puis, exécutez la commande suivante :
docker-compose up -d
Ne pas oublier d'appliquer toute éventuelle procédure supplémentaire décrite dans chacune des notes de version qui vous concerne, y commpris toute éventuelle remarque des notes de version au sujet du fichier canopsis.toml
.
Après la mise à jour¶
Durant le temps de coupure des services Canopsis, RabbitMQ se sera chargé de mettre en attente vos évènements. Ils seront alors « dépilés » et traités normalement par les moteurs Canopsis, dès leur redémarrage.
Cette accumulation d'évènements en attente peut, néanmoins, provoquer une latence des traitements, ou une augmentation de la consommation des ressources, en raison du rattrapage à effectuer. Cette incidence reste temporaire. Nous vous conseillons de surveiller l'interface d'administration de RabbitMQ juste avant, durant et après la mise à jour, afin de mesurer l'état de « retour à la normale » de votre plateforme lors d'une période de maintenance de l'outil.
En revanche, tout appel fait aux API Canopsis durant cette période de maintenance n'aura pas été temporisé et devra donc être renouvelé s'il a échoué.
Une fois que le service est rétabli, vous pouvez vous connecter à nouveau sur l'interface Canopsis pour valider que tout fonctionne correctement.