MODIFY_SYSTEM
Fonction de script : Traite les actions de ServiceManager, les modifications de queues, contrôle les étapes pour un scénario de ZDU (mise à niveau sans interruption de service) et pour la CAU (mise à niveau centralisée des agents).
Cet élément de script peut être utilisé pour traiter quatre types de tâches différents :
- Exécuter les actions d'un ServiceManager qui est connecté au système AE.
- Modifier les valeurs ou statuts d'objets queue (démarré / arrêté).
- Changer la direction du traitement pendant un scénario de mise à niveau sans interruption de service ou finaliser la phase de mise à niveau sans interruption de service.
- Exécuter les actions pour traiter une CAU (mise à niveau centralisée des agents).
L'action de la fonction de script à exécuter dépend des paramètres indiqués. A ce sujet, reportez-vous aux descriptions de syntaxe ci-dessous.
Vous ne pouvez démarrer les processus serveur et les agents en utilisant cet élément de script que si un ServiceManager correctement configuré et connecté au système AE est disponible. Référez-vous également aux paramètres de la page Attributs des objets Agent ou Serveur (Page Attributs).
Syntaxe
MODIFY_SYSTEM (Action, Queue, Value)
Syntaxe |
Description / format |
---|---|
Action |
Définit les modifications qui doivent être apportées aux objets queue Valeurs autorisées :
|
Queue |
Nom de l'objet queue à modifier. |
Value |
Valeur pour le paramètre ou le statut à modifier (Action). Les valeurs autorisées dépendent de l'action sélectionnée : MODE : GO ou STOP |
Si le statut des objets queue (démarré / arrêté) est modifié à l'aide de l'élément de script (action : MODE), le nouveau statut s'applique jusqu'à la prochaine modification. Toute modification de la priorité ou du nombre maximal de slots de queue reste valide tant que les valeurs ne sont pas modifiées par une exception ou manuellement par un utilisateur (voir Prendre en compte l'ERT dans les objets queue.
Le nombre maximum de tâches exécutées en parallèle n'est pas limité si le nombre maximum de slots des objets queue est modifié à UNLIMITED.
Exemple
L'exemple suivant illustre la définition du statut de l'objet queue QUEUE.JOBS sur GO.
:SET &RET# = MODIFY_SYSTEM("MODE", "QUEUE.JOBS", "GO")
:IF &RET# = "0"
: PRINT "Processing the Queue object QUEUE.JOBS has successfully been activated."
:ELSE
: PRINT "QUEUE.JOBS: Error when changing the status to GO."
:ENDIF
Liste des codes de retour possibles en cas de modification des objets Queue :
Codes retour |
---|
0 : l'action définie pour cette fonction de script a été traitée avec succès. |
Syntaxe
MODIFY_SYSTEM (Action, Name [,Server mode])
Syntaxe |
Description / format |
---|---|
Action |
Définit l'action qui doit être exécutée pour les agents, les processus serveur ou le système AE. Valeurs autorisées : STARTUP : démarre un agent ou un processus serveur. |
Name |
Nom de l'agent ou du processus serveur qui doit être démarré, arrêté ou dont le mode doit être modifié. |
Server mode |
Mode pour lequel le WP indiqué doit être modifié. Ce paramètre n'est nécessaire que pour modifier le mode d'un WP (action CHANGE_MODE). Valeurs autorisées : |
L'élément de script MODIFY_SYSTEM permet aussi de démarrer ou d'arrêter des processus serveur ou des agents, ou de modifier le mode des processus de travail du serveur.
L'action STARTUP ne peut être utilisée que si un ServiceManager est disponible et que l'agent ou le processus serveur à démarrer a été correctement configuré. Référez-vous également aux paramètres de la page Attributs des objets Agent ou Serveur (Page Attributs).
Pour arrêter le système AE avec "SHUTDOWN", la valeur AE doit être utilisée pour le paramètre Name (voir : :SHUTDOWN).
Le paramètre Mode serveur doit être indiqué lorsque le mode d'un processus de travail serveur doit être modifié (action : CHANGE_MODE). Le paramètre Mode serveur ne doit pas être utilisé en combinaison avec les actions STARTUP, TERMINATE, DISCONNECT et SHUTDOWN.
Exemple
Arrêt de l'agent WIN01 :
Liste des codes de retour possibles en cas de modification de ServiceManager :
Codes retour |
---|
11677 : le ServiceManager n'a pas pu être appelé : Aucun CP ne démarre. |
Mise à niveau sans interruption de service
Syntaxe
MODIFY_SYSTEM (Action, Value)
Syntaxe |
Description / format |
---|---|
Action |
Valeur autorisée ZERO_DOWNTIME_UPGRADE : contrôle de la mise à niveau sans interruption de service. |
Value |
Ce paramètre sera utilisé pour acheminer les messages à traiter par les nouveaux ou anciens WP / CP. Valeurs autorisées : BEGIN : définit UC_SYSTEM_SETTINGS / ZERO_DOWNTIME_UPGRADE à "Y" END : définit UC_SYSTEM_SETTINGS / ZERO_DOWNTIME_UPGRADE à "N", seulement possible avant de commencer le processus de mise à niveau UPGRADE : mode de mise à niveau. ROLLBACK : mode de rollback. FINALIZE : finalise la phase de mise à niveau sans interruption de service en définissant la file d'attente des messages active comme base et en réinitialisant UC_SYSTEM_SETTINGS / ZERO_DOWNTIME_UPGRADE à "N" |
Utiliser pour effectuer une mise à niveau sans interruption de service seulement, lorsque UC_SYSTEM_SETTINGS / ZERO_DOWNTIME_UPGRADE vaut Y
La mise à niveau de la base de données doit d'abord être correctement traitée. Au moins un CP et un WP de la nouvelle version doivent être en état de fonctionnement.
Pour plus de détails, reportez-vous au document "Mise à niveau sans interruption de service - Procédure de mise à niveau".
Exemple
Cet exemple affiche les paramètres nécessaires pour démarrer le rollback:
:SET &RET# = MODIFY_SYSTEM("ZERO_DOWNTIME_UPGRADE", "ROLLBACK")
Liste des codes de retour possibles pour la mise à niveau sans interruption de service :
Codes retour |
---|
0 : l'action définie pour cette fonction de script a été traitée avec succès. |
Mise à niveau centralisée de l'agent
Vous devez effectuer l'importation des packages de mise à niveau pour la CAU dans le client système 0000.
La CAU peut être exécutée à partir de n'importe quel client de votre système, si les agents que vous souhaitez mettre à niveau et le ou les utilisateurs en ont les autorisations correspondantes.
Syntaxe
MODIFY_SYSTEM (Action, Sub function, Agent(s), Version[,FORCED][,Custom text])
Syntaxe |
Description / format |
---|---|
Action |
Valeur autorisée : AGENT_UPGRADE : mise à niveau centralisée de l'agent |
Sub-function |
Valeurs autorisées : DEPLOY : déploie un agent spécifié par le paramètre Version. SKIP_WAITING : ignore un déploiement enregistré pour les agents actuellement inactifs ou occupés. |
Agent(s) |
Référence à une séquence de données ou un filtre sur un nom d'agent auquel l'action doit s'appliquer. Format : littéral de script ou variable de script |
Version |
Version sémantique intégrale vers laquelle l'agent doit être mis à niveau, nom d'objet Stockage ou littéral 'LATEST'. Exemple : "12.0.0+BUILD.2112"
Format : littéral de script ou variable de script N'utilisez ce paramètre que combiné à la valeur DEPLOY du paramètre Sous-fonction. |
FORCED |
Valeur fixe : FORCED (optionnel) Ce paramètre implique que le système ne vérifie pas si un agent a une connexion ServiceManager active (à n'utiliser qu'avec DEPLOY). |
Custom text |
Texte libre (optionnel) Longueur max. = 20 Caractères autorisés : Les mêmes que pour les noms de workflows dans la Onglet Général. Si ce paramètre est défini, le texte est utilisé en tant que préfixe de nom pour l'enregistrement des statistiques de niveau supérieur à la place de CAU (uniquement utilisé avec DEPLOY). |
Pour obtenir un guide détaillé de la manière de procéder à une CAU, se référer au document CAU - Procédure de mise à niveau
L'utilisateur exécutant ces scripts doit posséder le privilège Exécution mise à niveau du système.
Exemples
Exemple de script déployant de nouveaux agents :
:SET&HND#=PREP_PROCESS_AGENTGROUP("AGENTGROUP_WINDOWS")
:SET&RUNID#=MODIFY_SYSTEM (AGENT_UPGRADE, DEPLOY, &HND#, "LATEST", FORCED, "MYHOTFIXUPGRADE" )
!OR
!:SET &RUNID# = MODIFY_SYSTEM (AGENT_UPGRADE, DEPLOY, &HND#, "12.0.0+BUILD.2112", FORCED, "MYHOTFIXUPGRADE" )
:IF&RUNID#= 0
:SET&MSGNR#=SYS_LAST_ERR_NR()
:SET&MSGINSERT#=SYS_LAST_ERR_INS()
:SET&MSG# = GET_MSG_TXT(&MSGNR#, &MSGINSERT#)
:SEND_MSG&$USER#, &$DEPARTMENT#, &MSG#
:ENDIF
Exemple de script pour ignorer la mise à niveau des agents en attente :
:SET &SKIPCOUNT# = MODIFY_SYSTEM (AGENT_UPGRADE, SKIP_WAITING, "AGENTNAMEORFILTER")
:SET&MSGNR# = SYS_LAST_ERR_NR()
:IF&MSGNR# > 0
:SET&MSGINSERT#=SYS_LAST_ERR_INS()
:SET&MSG#=GET_MSG_TXT(&MSGNR#, &MSGINSERT#)
:SEND_MSG&$USER#, &$DEPARTMENT#, &MSG#
:ENDIF
Liste des codes de retour possibles pour la mise à niveau centralisée de l'agent :
En présence du code retour 0, utilisez SYS_LAST_ERR_NR() et SYS_LAST_ERR_INS() pour vérifier d'éventuelles erreurs.
Codes retour |
---|
Codes retour possibles pour l'action AGENT_UPGRADE DEPLOY 0 : Lancement mise à niveau impossible. Vérifiez la ou les raisons, en utilisant SYS_LAST_ERR_NR() et SYS_LAST_ERR_INS(). |
Valeur de retour pour l'action AGENT_UPGRADE SKIP_WAITING >= 0 : AGENT_UPGRADE : Nombre de mises à niveau ignorées avec succès. |
Voir aussi :