Depuis la 7.0.2, nous proposons un nouvel outil pour valider l’intégrité d’un déploiement avant application de la montée de version.
Cet outil a pour objectif d’anticiper avant mise jour tout écueil risquant d’engendrer un échec lors de la mise à jour.
Pour exploiter l’outil, veuillez le télécharger sur notre serveur FTP (bpm-migration-report.jar
) et le déposer sur le serveur concerné.
Prérequis pour la migration de BPM
- Lancer l’outil
check
Commandes possibles
Commande check
Vérifie les BPM et les instances pour la migration vers la version 7.0.2 et génère un rapport.
Option :
- –install-yaml (obligatoire) : Chemin d’accès au répertoire YAML d’installation
Pour l’exploiter, vous pouvez exécuter l’outil via la commande suivante :
java -jar bpm-migration-report.jar check --install-yaml /opt/blueway/BW_INSTALLER/config-linux/install.yaml
Le rapport est auto-portant et vous indique les anomalies rencontrées et les rectifications nécessaires. Ci-dessous un exemple de rapport :
####################################################################################################
BPM MIGRATION REPORT
This report was generated from the bpm_migration_report tool.
Version : 1.0.4
Command line : check --blueway-root /opt/blueway
Generation date : 2024-07-17T14:12:33.105958075Z
####### BPM DEFINITION CHECK #######################################################################
Found 1 bpm(s) that aren't installed :
- project_missing_bpm_definition 1
Either re-install these bpm(s) or add them to the exclusion list in the install.yaml file.
Found 1 bpm(s) with role errors :
- project_roles 1
Create and install the following roles or service:
- role_a
The following role(s) are defined both as a service and role:
- role_or_service
Delete either the role(s) or the service in keycloak.
Found 5 valid bpm definition(s) :
- project_user_errors 1
- project_integrity_errors 1
- project_all_good 1
- project_all_good 2
- bpm_no_error 1
####### BPM INSTANCE CHECK #########################################################################
Found 12 bpms instance errors
------- USER ERRORS --------------------------------------------------------------------------------
Found 3 missing user(s):
- toto
- lulu
- bruce
Add the users above to keycloak to resolve the issues.
Found 1 user(s) that exists in more than one realm:
- marcus
Remove the duplicate user(s) above from keycloak to resolve this issue.
------- INSTANCE ERRORS ----------------------------------------------------------------------------
=== project_user_errors 1
Found 2 instance(s) with errors out of 27 total instance(s)
- BPM_171949935710711 USER_ERRORS The instance references 2 missing user(s) [toto, lulu] and 1 conflicting user(s) [marcus]
- BPM_17195831575925 USER_ERRORS The instance references 1 missing user(s) [bruce]
=== project_integrity_errors 1
Found 5 instance(s) with errors out of 42 total instance(s)
- BPM_17197843613347 MISSING_PREVIOUS_TASK Task [8707457281749584] doesn't have a previous task but isn't in a starting activity.
- BPM_17195831653667 PREVIOUS_TASK_IS_TODO Task [8707457282767037] has a previous task that isn't in the history
- BPM_17197841613344 :
- NO_STARTING_TASK The instance doesn't have a starting tasks without previous task
- NOT_MATCHING_DEFINITION Task [8707457282759584] doesn't match any of the activities of the bpm definition.
- BPM_17195841613301 MULTIPLE_STARTING_TASK The instance has multiple starting tasks [8707457282767049, 8707457282267040] (without previous tasks)
- BPM_17195831618406 :
- INVALID_TRANSITION Transition between tasks [8707457282767038, 8707457282767039] isn't possible with the current bpm definition.
- PREVIOUS_TASK_DOESNT_EXIST The previous task of [8707457282767044] doesn't exist.
------- VALID BPMS ---------------------------------------------------------------------------------
Found 3 valid bpm(s) without any error :
- project_all_good 1 : no error found on the 10 instance(s)
- project_all_good 2 : no error found on the 3 instance(s)
- bpm_no_error 1 : no error found on the 153 instance(s)
Commande export_errors
Vérifie les erreurs de migration des instances et exporte les données des instances en erreur (pour faciliter le diagnostic).
Options :
- –install-yaml (obligatoire) : Chemin d’accès au répertoire YAML d’installation
- –bpm_filter : Filtrer sur des BPM spécifiques en définissant la liste de BPM séparés par des virgules au format
`{nom_bpm}.{version}`
. (Exemple :-bpm-filter project_bpm_1.1,project_bpm_xxx
correspondra au BPMproject_bpm_1
version1
et à toutes les versions debpm project_bpm_xxx
.) - –export_dir : Répertoire pour l’exportation des données
Pour l’exploiter, vous pouvez exécuter l’outil via la commande suivante :
java -jar bpm-migration-report.jar export_errors --install-yaml /opt/blueway/BW_INSTALLER/config-linux/install.yaml
Commande clean
Permet de supprimer les instances en erreur (cette commande ne supprimera pas les taches valides). Cette commande vérifie les erreurs de migration d’instances et supprime les tâches correspondantes de la base de données.
Options:
- –install-yaml (obligatoire) : Chemin d’accès au répertoire YAML d’installation
- –bpm_filter : Filtrer sur des BPM spécifiques en définissant la liste de BPM séparés par des virgules au format
`{nom_bpm}.{version}`
. (Exemple :-bpm-filter project_bpm_1.1,project_bpm_xxx
correspondra au BPMproject_bpm_1
version1
et à toutes les versions debpm project_bpm_xxx
.)
Pour l’exploiter, vous pouvez exécuter l’outil via la commande suivante :
java -jar bpm-migration-report.jar clean --install-yaml /opt/blueway/BW_INSTALLER/config-linux/install.yaml
Comment gérer les différents cas d’erreurs ?
- En cas de problème de définition
- BPM non installé => Réinstaller le BPM concerné ou l’ajouter à la liste des BPM ignorés
- Service ou role
- non installé => Réinstaller le service ou le rôle concerné
- role et service avec le même nom => Supprimer l’un des deux
- En cas de problème d’instance BPM
- Utilisateur
- utilisateur manquant => Réinstaller l’utilisateur concerné à partir du Designer
- utilisateur présent dans plusieurs domaines => Supprimer l’utilisateur des domaines pour ne le conserver que dans un seul domaine
- Intégrité => Pas de solution, passer l’outil en clean
- Utilisateur
Dans tous les cas, il est possible de résoudre les problèmes en ajoutant le BPM concerné à la liste des BPM ignorés. Les tâches et instances associées ne seront alors pas migrées.
De plus, les problèmes d’instances BPM peuvent être résolus en exécutant la commande clean, qui supprimera toutes les tâches et instances problématiques (problèmes liés aux utilisateurs et à l’intégrité).