2. Outils myhelp et App Manager pour la maintenance

Présentation du contenu et du fonctionnement des assistants myhelp et App Manager dans le cadre d'une installation ou d'une mise à jour des applicatifs Open-Prod et myfab.

Scripts myhelp

myhelp est un utilitaire permettant de faciliter la prise en main du terminal de commande Linux. Plusieurs commandes, regroupées par catégories, ont été créées par 1Life afin de paramétrer et maintenir l'environnement technique d'Open-Prod.

Scripts myhelp

Présentation

Afin d'en faciliter la maintenance des services d'Open-Prod, Jasper Reports et des modules myfab, 1Life a packagé des commandes exécutables depuis un terminal Linux depuis le serveur Open-Prod. Ces commandes sont résumées sous la commande globale myhelp

image-1663072245594.png

Sur la gauche, vous trouverez la commande à inscrire dans le terminal, et sur la droite l’action qu'elle réalisera. Par exemple, si je veux connaître le statut de l'instance Open-Prod, je saisis openprod-status dans le terminal. Le terminal affichera les informations voulues directement dans la console.

Scripts myhelp

Installation et mise à jour

1. Déploiement des scripts myfab

Les scripts myhelp ont besoin des sources myfab pour être reconnus. Aussi, il convient de s'assurer que les sources ont été déployées sur le serveur.

L'installation et la maintenance se déroulent désormais dans l'App Manager.

2. Installation et Mise à jour

Lancer l'App-Manager avec la commande app-manager. L'utilitaire va lister l'ensemble des composants myfab installés ou disponibles à l'installation. Pour lancer l'installation ou la mise à jour, taper le numéro correspondant, en l'occurrence 0 et valider par Entrer.

image-1664361237256.png

Vous pouvez installer ou mettre à jour d'autres éléments en tapant les numéros correspondants. Tapez "*" pour terminer la sélection puis confirmer pour lancer le traitement. Le mot de passe Open-Prod vous sera alors demandé.

Un nouveau terminal va s'ouvrir pour exécuter le traitement. Suivre attentivement la progression dans cette fenêtre et renseigner les éléments nécessaires demandés par le script. Une fois le traitement terminé, s'il a réussi, le terminal se ferme et un message de confirmation est indiqué dans le terminal initial d'où a été lancé la commande.

En cas d'erreur, le terminal ouvert pour le traitement reste ouvert afin d'afficher la raison de l'erreur. Tant qu'un message de succès ou d'erreur n'est pas affiché, le traitement suit son cours et il ne faut pas l'interrompre. 

image-1664361404719.png

A la fin du traitement, il est nécessaire de fermer le terminal et d'en lancer un nouveau pour bénéficier des modifications.

App Manager

L'App Manager est un utilitaire permettant de gérer la maintenance des différents applicatifs myfab installés ou à installer sur le serveur.

App Manager

Présentation de l'App Manager

1. Préambule

L'App Manager permet de gérer l'installation et la mise à jour des applications myfab et Open-Prod. Initialement, toute cette gestion se faisait au travers de commandes spécifiques décrites par myhelp. De son côté, l'utilitaire myhelp rassemble et met en forme des lignes de commandes utiles pour la maintenance de l'environnement Open-Prod sur le serveur.

Désormais, les commandes liées à l'installation ou la mise à jour d'Open-Prod, des modules myfab ou de Jasper sont packagées dans l'App Manager afin d'optimiser leur enchainement et ainsi réduire le temps nécessaire pour leur exécution. 

Par exemple, pour une mise à jour d'Open-Prod et des modules myfab, c'est l'App Manager qui se charge de réaliser la mise à jour de la base de données (sql-update) une fois toutes les mises à jour terminées. Cela permet d'optimiser le temps nécessaire tout en fiabilisant le processus. En effet, au lieu de réaliser un remise à niveau de la structure de la base de données (via la commande sql-update) à la fin de la mise à jour d'Open-Prod et une seconde à la fin de celle des modules myfab, une seule structuration est réalisée à la fin de toutes les mises à jour.

2. Accès à l'App Manager

L'App Manager est accessible depuis un terminal depuis le serveur hébergeant Open-Prod. Si vous ne savez pas vous connecter à votre serveur, vous pouvez suivre les instructions décrites ici.

Dans le cas où vous souhaitez effectuer une mise à jour sur un autre environnement serveur que celui d'Open-Prod, il faut exécuter l'App Manager depuis cet environnement. Par exemple, dans le cas où vous avez un environnement dédié au fonctionnement de Jasper et que vous souhaitez mettre à jour les rapports myfab, il faut réaliser cette mise à jour directement sur ce serveur.

Une fois connecté, ouvrir un terminal, et exécuter la commande app-manager pour lancer l'App Manager.

image-1663080601484.png

App Manager

Utilisation

1. Principe de fonctionnement

L'utilisation est guidée au travers des commentaires affichés tout au long de l'exécution du script. Différents menus permettent de sélectionner les modules à installer / mettre à jour. Une fois la sélection faite, le mot de passe Open-Prod sera demandé. Le script se charge ensuite de lancer toutes les commandes nécessaires et affiche le déroulé du processus au fur et à mesure dans les terminaux. Vous pouvez suivre l'exécution de ceux-ci à l'écran. En effet, pour chaque application à installer / mettre à jour, l'App Manager ouvrira un terminal pour en gérer indépendamment l'exécution.

image-1663251759922.png

En résumé, il faut lancer l'utilitaire en exécutant la commande app-manager depuis un terminal, et suivre les questions posées dans le terminal.

2. Choix proposés

Au lancement de l'App Manager, plusieurs choix sont proposés à l'utilisateur. Pour chaque applicatif, il est indiqué entre parenthèses s'il est installé ou non. Voici une description de ce ceux-ci :

image.png

3. Synchronisation d'une base de données

Après l'installation ou la mise à jour d'Open-Prod ou des modules myfab, une restructuration de la base de données est nécessaire. L'App Manager se charge automatiquement de réaliser cette mise à niveau de la base de données en fin de processus. Il est primordial pendant cette étape de ne pas interrompre le script tant que celui-ci n'a pas rendu la main à l'utilisateur.

Attention, suite à la restauration d'une base de données ou lors de la création d'une nouvelle base de données sur cet environnement, il est uniquement nécessaire de synchroniser la nouvelle base de données avec son environnement, sans toutefois avoir besoin de mettre à jour les sources d'Open-Prod ou des modules myfab.

Pour lancer manuellement et uniquement cette restructuration des bases de données, il faut exécuter la commande sql-update depuis un terminal.

Une restructuration de base de données n'est pas sans risque pour l'intégrité des bases. C'est pourquoi il est nécessaire d'effectuer des sauvegardes avant traitement. De plus, il faut veiller à ce que le traitement se soit bien déroulé avant de considérer celui-ci terminé et réussi.

Comme un sql-update peut prendre plusieurs minutes et être lancé sur plusieurs bases de données en même temps, il est fastidieux pour un utilisateur de scruter les messages durant l'intégralité de son traitement, ou même de parcourir les logs après traitement. La commande a donc été améliorée afin de palier à ce souci.

Fonctionnalités disponibles depuis la mise à jour de Juillet 2023 des scripts myfab.

Dorénavant, une fois le traitement terminé, un récapitulatif des différentes erreurs rencontrées s’affichera base par base (dans le cas où plusieurs bases ont été sélectionnées).

image.png

Un fichier de log sera produit et conservé dans le répertoire « /var/log/openprod ». Le nommage du fichier suit la forme suivante : « UP-<nom de base>-<horodatage>.log ».

Le fichier vous permettra une post analyse plus aisée. De plus, le récapitulatif listera les principales erreurs et vous permettra de prendre la décision adéquate en fonction du résultat.

Pour rappel, les messages "CRITICAL" sont ceux à surveiller particulièrement : ces derniers ont la capacité d’interrompre un sql-update et sont généralement révélateurs d’un problème réel.
La deuxième priorité concerne les messages "ERRORS" : bien qu'ils n'interrompent pas un sql-update, ils peuvent néanmoins dissimuler d'autres problèmes potentiels.

Lorsque vous n'obtenez pas de message "CRITICAL", vous pouvez considérer que la mise à niveau est effectuée avec succès : les autres messages que vous pouvez rencontrer ne bloquent pas la poursuite des activités du client. Cependant, il reste fortement recommandé d'examiner attentivement les messages de type "ERRORS".