Migrer de Sarracenia v2 à sr3
Ce document est destiné à être un court tutoriel pour aider un utilisateur de Sarracenia v2 à convertir sa configuration à sr3. Cela suppose que l’utilisateur est déjà familier avec l’usage de base de v2, et ne couvre pas des sujets plus detaillés, tels que les plugins.
Important
Ce tutoriel suppose que vous avez déjà installé sr3. Si ce n’est pas le cas, utilisez ces instructions pour installer sr3 en premier.
Note
Sarracenia v2 et sr3 peuvent tous les deux être exécutés en même temps sur le même ordinateur.
Pour en savoir plus, voir:
CommentFaire/MiseANiveau - notes concernant les changements majeurs entre v2 et sr3
Contribution/v03 - documentation détaillée à propos de la conception et les changements par rapport à v2
CommentFaire/v2ASr3 - instructions détaillées pour des développeurs qui veulent envoyer leur plugins v2 à sr3
Informations générales
Nouvelle Interface en ligne de commande (ILC)
sr3 a une nouvelle interface en ligne de commande qui est documentée en détails ici.
La syntaxe de la commande sr3
est sr3 action composant/config ...
,
qui remplace les commandes specifique-au-composant de v2
(par exemple sr_subscribe
pour le composant d’abonnement).
Hint
un composant est le nom général pour les mots clé subscribe, sarra, watch, shovel, etc.
Par exemple:
Commande v2 |
Commande équivalente sr3 |
---|---|
|
|
|
|
|
|
|
|
|
|
Nouvelle configuration et emplacement du cache
sr3 change l’emplacement des logs et configurations aussi:
Item |
emplacement v2 |
emplacement sr3 |
---|---|---|
Configs |
|
|
Cache |
|
|
Logs |
|
|
Migrer une configuration v2 vers sr3
sr3 modifie légèrement certains des mots-clés utilisés dans les fichiers de configuration. La documentation complète de toutes les options utilisables dans un fichier de configuration sr3 est disponible ici.
sr3 reconnaît les mots-clés v2, alors un fichier de configuration v2 devrait donc être utilisable dans sr3 sans modification. Par contre, nous recommandons d’utiliser le convertisseur intégré pour <<mettre à niveau>> vos configurations en syntaxe sr3.
Préparation avant la conversion
credentials.conf et default.conf
Si vous avez modifié le fichier credentials.conf de v2
(~/.config/sarra/credentials.conf
) ou default.conf
(~/.config/sarra/default.conf
), vous devez copier ces fichers
dans le répertoire de configuration de sr3.
cp ~/.config/sarra/credentials.conf ~/.config/sr3/credentials.conf
cp ~/.config/sarra/default.conf ~/.config/sarra/default.conf
Important
Si vous convertissez de v2 à sr3,
il est fort probable que la source à laquelle vous êtes abonné
(par exemple, le Datamart du SMC) publie toujours des messages au format v2.
Avant de convertir vos configurations, vous devez ajouter
topicPrefix v02.post` à votre fichier default.conf
de sr3.
Pour ce faire, exécutez :
echo 'topicPrefix v02.post' >> ~/.config/sr3/default.conf
Conversion étape par étape
Voici un exemple étape par étape montrant comment convertir un abonné v2 en sr3 à l’aide du convertisseur, et comment désactiver la configuration v2 une fois l’opération terminée.
# les commentaires dans cette section, indiqués par #, fournissent des explications
# les commandes sont affichées dans les lignes qui avec une invite de commande qui se termine par $,
# par exemple :
# invite de commande commande
# ↓ ↓
# sarra@mon-serveur:~$ ma_commande
# la sortie des commandes est affichée après la ligne avec l'invite de commande et la commande
# sr status --> afficher l'état de vos configurations v2
# Dans l'exemple ci-dessous, cela montre que nous avons
# une configuration *subscribe* en cours d'exécution nommée "dd_amis"
sarra@mon-serveur:~$ sr status
status:
Component State Good? Qty Configurations-i(r/e)-r(Retry)
--------- ----- ----- --- ------------------------------
audit running OK 1
cpost stopped OK 0
cpump stopped OK 0
poll stopped OK 0
post stopped OK 0
report stopped OK 0
sarra stopped OK 0
sender stopped OK 0
shovel stopped OK 0
subscribe running OK 1 dd_amis-i5/0
watch stopped OK 0
winnow stopped OK 0
total running configs: 1 ( processes: 6 missing: 0 stray: 0 )
# sr3 status --> afficher l'état de vos configurations sr3
# Dans l'exemple ci-dessous, nous n'avons aucune configuration sr3
sarra@mon-serveur:~$ sr3 status
status:
Component/Config Processes Rates
State Run Retry Que Lag Last %rej messages Data
----- --- ----- --- --- ---- ---- -------- ----
Total Running Configs: 0/0 ( Processes: 0 missing: 0 stray: 0 )
Memory: uss:0Bytes rss:0Bytes vms:0Bytes
CPU Time: User:0.00s System:0.00s
Pub/Sub Received: 0m/s (0B/s), Sent: 0m/s (0B/s) Queued: 0 Retry: 0, Mean lag: 0.00s
Data Received: 0f/s (0B/s), Sent: 0f/s (0B/s)
######################
# Convertir v2 à sr3 #
######################
# sr3 convert composant/configuration --> Convertir une configuration v2 en sr3
# Nous allons convertir notre abonné v2 nommé « dd_amis » en abonné sr3, également nommé « dd_amis ».
# Ceci convertira toute syntaxe v2 en sr3 et placera le fichier de configuration résultant dans
# ~/.config/sr3/subscribe/dd_amis.conf.
sarra@mon-serveur:~$ sr3 convert subscribe/dd_amis
v2_config: ['subscribe/dd_amis']
2025-08-25 17:21:20,858 2241245 [INFO] sarracenia.sr convert1 wrote conversion from v2 subscribe/dd_amis to sr3
# Maintenant, L'état sr3 indique que nous avons une configuration sr3.
# L'état « new » indique que la configuration n'a jamais été démarrée auparavant.
sarra@mon-serveur:~$ sr3 status
status:
Component/Config Processes Rates
State Run Retry Que Lag Last %rej messages Data
----- --- ----- --- --- ---- ---- -------- ----
subscribe/dd_amis new 0/0 - - - - - - -
Total Running Configs: 0/1 ( Processes: 0 missing: 0 stray: 0 )
Memory: uss:0Bytes rss:0Bytes vms:0Bytes
CPU Time: User:0.00s System:0.00s
Pub/Sub Received: 0m/s (0B/s), Sent: 0m/s (0B/s) Queued: 0 Retry: 0, Mean lag: 0.00s
Data Received: 0f/s (0B/s), Sent: 0f/s (0B/s)
# sr3 start component/config --> démarrer une configuration
# Nous allons démarrer notre nouvel abonné. L'abonné v2 continuera également à fonctionner,
# ce qui peut entraîner la réception de données en double pendant que les deux abonnés sont actifs.
#
# REMARQUE : Le message d'erreur «ERROR» indiquant l'échec de l'écriture de l'abonnement peut être ignoré.
# Ce sera supprimé dans une prochaine version.
sarra@my-server:~$ sr3 start subscribe/dd_amis
2025-08-25 17:28:08,410 2242079 [ERROR] sarracenia.config.subscription write failed: /home/sarra/.cache/sr3/subscribe/dd_amis/subscriptions.json: [Errno 2] No such file or directory: '/home/sarra/.cache/sr3/subscribe/dd_amis/subscriptions.json'
starting:.( 5 ) Done
# Maintenant, l'état sr3 indique que la configuration est en cours d'exécution, mais n'a pas
# transféré de données depuis longtemps (état «idle») :
# (voir la note ci-dessous/le document Guide de ligne de commande pour
# plus d'informations sur les états de sr3)
sarra@mon-serveur:~$ sr3 status
status:
Component/Config Processes Rates
State Run Retry Que Lag Last %rej messages Data
----- --- ----- --- --- ---- ---- -------- ----
subscribe/dd_amis idle 5/5 0 0 0.00s n/a 0.0% 0m/s 0B/s
Total Running Configs: 1/1 ( Processes: 5 missing: 0 stray: 0 )
Memory: uss:210.9MiB rss:288.9MiB vms:428.1MiB
CPU Time: User:2.34s System:0.18s
Pub/Sub Received: 0m/s (0B/s), Sent: 0m/s (0B/s) Queued: 0 Retry: 0, Mean lag: 0.00s
Data Received: 0f/s (0B/s), Sent: 0f/s (0B/s)
#####################################
# Arrêter et désactiver l'abonné v2 #
#####################################
# Maintenant que sr3 a démarré, vous pouvez arrêter, nettoyer et désactiver votre abonné v2 :
# sr_subscribe stop --> arrêter l'abonné v2
sarra@mon-serveur:~$ sr_subscribe stop dd_amis
2025-08-25 17:31:54,247 [INFO] sr_subscribe dd_amis 01 stopped
2025-08-25 17:31:54,247 [INFO] sr_subscribe dd_amis 02 stopped
2025-08-25 17:31:54,247 [INFO] sr_subscribe dd_amis 03 stopped
2025-08-25 17:31:54,247 [INFO] sr_subscribe dd_amis 04 stopped
2025-08-25 17:31:54,247 [INFO] sr_subscribe dd_amis 05 stopped
# sr_subscribe cleanup --> nettoyer les fichiers dans ~/.cache/sarra et supprimer la file d'attente sur le courtier
sarra@mon-serveur:~$ sr_subscribe cleanup dd_amis
2025-08-25 17:32:49,264 [INFO] sr_subscribe dd_amis cleanup
2025-08-25 17:32:49,264 [INFO] AMQP broker(dd.weather.gc.ca) user(anonymous) vhost(/)
2025-08-25 17:32:49,264 [INFO] Using amqp module (AMQP 0-9-1)
2025-08-25 17:32:49,282 [INFO] deleting queue q_anonymous.sr_subscribe.dd_amis.00483673.20371363 (anonymous@dd.weather.gc.ca)
# sr status indique maintenant que l'abonné v2 est arrêté
sarra@mon-serveur:~$ sr status
status:
Component State Good? Qty Configurations-i(r/e)-r(Retry)
--------- ----- ----- --- ------------------------------
audit running OK 1
cpost stopped OK 0
cpump stopped OK 0
poll stopped OK 0
post stopped OK 0
report stopped OK 0
sarra stopped OK 0
sender stopped OK 0
shovel stopped OK 0
subscribe stopped OK 1 dd_amis
watch stopped OK 0
winnow stopped OK 0
total running configs: 0 ( processes: 1 missing: 0 stray: 0 )
# sr_subscribe disable --> Empêcher le lancement futur de la configuration v2
# disable renomme le fichier de configuration de ...conf à ...conf.off
# Par exemple, ~/.config/sarra/subscribe/dd_amis.conf devient ~/.config/sarra/subscribe/dd_amis.conf.off
sarra@mon-serveur:~$ sr_subscribe disable dd_amis
# sr status indique maintenant que l'abonné v2 est supprimé/désactivé
sarra@mon-serveur:~$ sr status
status:
Component State Good? Qty Configurations-i(r/e)-r(Retry)
--------- ----- ----- --- ------------------------------
audit running OK 1
cpost stopped OK 0
cpump stopped OK 0
poll stopped OK 0
post stopped OK 0
report stopped OK 0
sarra stopped OK 0
sender stopped OK 0
shovel stopped OK 0
subscribe stopped OK 0
watch stopped OK 0
winnow stopped OK 0
total running configs: 0 ( processes: 1 missing: 0 stray: 0 )
Vous devriez maintenant avoir un abonné sr3 fonctionnel ! Vous pouvez répéter la procédure ci-dessus autant de fois que nécessaire pour convertir toutes vos configurations v2 en sr3.
L’interface de ligne de commande sr3 accepte également plusieurs combinaisons composant/configuration simultanément et les caractères génériques (wildcards), vous permettant ainsi de convertir toutes vos configurations en une seule commande. Par exemple :
sr3 convert subscribe/my_config1 poll/test_poll
sr3 convert 'subscribe/*'
sr3 convert '*/*'
Note
La commande status de sr3 fournit des informations plus détaillées que la version 2. Pour une explication de chaque état possible, consultez le document Command Line Guide.