Outils pour utilisateurs

Outils du site


upgrade_to_v5.0_mac_bec

Prologue (important...)

À l'issue de votre upgrade, vérifiez que vous êtes bien représenté sur la carte mondiale des QoQ-CoTiens. Si ça n'est pas le cas, ou si les informations indiquées (nb. de postes en particulier) sont obsolètes, postez un message (“Commencer une nouvelle discussion”) dans le forum « Poulailler » du projet sur SourceSup, en indiquant votre établissement et le nombre de postes concernés. D'une, vous apparaîtrez sur la carte (et ça, c'est la classe à Dallas ! ;-) et de deux, ça nous permettra de mieux connaître et de communiquer plus directement avec les utilisateurs de la solution (nouvelles features, évolutions, bugs…). Merci :-)

Procédure d'upgrade depuis toute version antérieure vers V5.0 Mac Bec

Divulgâchons immédiatement, il n'y a de procédure directe d'upgrade que depuis la version 4.0 Rocky. Depuis toute autre version, il vous faudra commencer par upgrader vers la 4.0. Tout est (minutieusement) expliqué ici : upgrade_to_v4.0_rocky.

Préambule au sujet du mode multisites

Cette page s'attache à détailler le processus technique d'upgrade depuis v4.0 Rocky. La version 5.0 Mac Bec introduisant la notion (très attendue) de sites, avec la possibilité de visualiser de façon compartimenté différents sites (l'utilisation la plus immédiate correspond à des sous-ensembles géographiques d'un parc machines), la question connexe d'upgrade AVEC passage en mode multisites se doit d'être abordée. Mais elle dépasse le cadre strict de l'upgrade abordé ici, il s'agit davantage d'une méthode faisant appel à la fois aux procédure d'install et d'upgrade. Nous avons donc préféré traiter le problème en dehors de cette page et en faire l'objet de cette nouvelle entrée de la FAQ. Commencez par y jeter un coup d’œil si vous souhaitez aller vers une QoQ-CoT multisites, ça vous donnera une idée globale du chemin – pas trop escarpé, c'est promis :-) – dans lequel il va falloir s'engager.

A. Le plus facile, l'interface web

Upgrade depuis V4.0 Rocky

0. S'assurer de satisfaire tous les prérequis Mac Bec 5.0 en termes MySQL et PHP indiqués dans cette section de la doc de fresh install

1. Pour simplifier ici la lecture, on nommera la base mysql QoQCoT (pas de tirets « - » autorisés dans les noms de bases MySQL…) et l'utilisateur associé QoQCoT_user.

2. Détarer la si prometteuse archive V5.0 Mac Bec, par exemple dans /tmp

3. Copier votre qoq-cot/config.php actuel dans /tmp/qoq-cot/src/

4. Vos données ne risquent rien, bien sûr, lors de cet upgrade… mais sauvez-les quand même… Dumpez donc soigneusement votre base QoQCoT.

5. Modifiez votre base de données pour la rendre v5.0 compatible. Pour vous éviter de trop toucher à ces rouages internes recouverts de graisse forcément salissante, car nous tenons à votre confort, nous avons regroupé et automatisé toutes ces modifs dans le seul script /tmp/qoq-cot/ressources/UPGRADE_FROM_PREVIOUS_VERSIONS/ModifieDBV4toV5.sh.

Mais quelles sont donc ces fameuses actions, me direz-vous, circonspect et méfiant comme doit l'être à raison un informaticien à l'heure du big data et de wikileaks ? Détaillons donc ça ensemble :

  • a) Modification de la structure de la table Connexions
    • Ajout des nouveaux champs IPMachine, NomVM, IPVM nécessaires pour l'ÉNORME nouveauté qu'est la gestion du VDI :-)
    • Réduction de la taille des VARCHAR pour NomMachine et NomOS : utilisation d'espace inutile à même d'interdire la possibilité d'utiliser des clés multichamps.
    • Destruction du champ IdProcess, très vieille scorie depuis longtemp obsolète.
  • b) Modification de la structure de la table Salles
    • Ajout du nouveau champ Site nécessaire à la NON MOINS ÉNORME nouveauté qu'est la gestion du multi-sites !
  • c) Modification de la structure de la table MachinesToSalles
    • Positionnement d'index sur les champs RefSalle et NomMachine. Ceci (méga)booste les performances de création de plusieurs graphes car ces champs sont utilisés pour des jointures SQL dans de nombreuses requêtes de génération des données de graphes.

Maintenant que nous savons POURQUOI il faut exécuter ce script, voyons COMMENT :

5.1 Exécution du script ModifieDBV4toV5.sh

5.1.1 copier /tmp/qoq-cot/ressources/UPGRADE_FROM_PREVIOUS_VERSIONS/ModifieDBV4toV5.sh sur un serveur Linux disposant du client MySQL ET depuis lequel l'utilisateur root de MySQL ET l'utilisateur QoQCoT_user sont autorisés à se connecter (table user de la base mysql). Par exemple le serveur MySQL, ou le serveur qui tourne l'interface web QoQ-CoT…

5.1.2 copier dans le même répertoire votre fichier config.php (si vous avez suivi les indications, il est dans /tmp/qoq-cot/src/) : le script utilise ce fichier pour récupérer toutes les données utiles à la création de la base.

5.1.3 lancer ./ModifieDBV4toV5.sh dans ce répertoire. À noter :

  • Vous serez interactivement sollicité pour toutes les actions exécutées par le script. À chaque fois, vous aurez le choix d'effectuer ou non l'action.
  • Le script peut être lancé un nombre quelconque de fois, les actions pouvant être rejouées indéfiniment sans dommage aucun pour les données.

Les actions, dans l'ordre d'apparition à l'écran :

5.1.3.1 : modification de la structure de la table Connexions

5.1.3.2 : modification de la structure de la table Salles

5.1.3.3 : modification de la structure de la table MachinesToSalles

5.1.4 C'est terminé. Vous pouvez éventuellement détruire les copies de ModifieDBV4toV5.sh et config.php, ils ont fini leur travail, furtif et crucial à la fois.

7. Copiez votre qoq-cot/.htaccess actuel vers /tmp/qoq-cot/src/.htaccess

8. Renommer votre répertoire qoq-cot actuel en qoq-cot.old

9. déplacez /tmp/qoq-cot/src dans votre emplacement de prod (c.-à-d. le répertoire qui contient qoq-cot.old) et renommez-le en qoq-cot.

10. Ça y est, votre poulette est toujours toute à vous, mais elle est tellement plus sexy…

11. Mais ATTENTION, même si votre cocotte est fonctionnelle et vous génère (plus vite qu'avant) de beaux graphes, ça n'est pas encore terminé… Pour bénéficier de toute la finesse et de la poésie de Mac Bec, vous devez maintenant exploiter la spécificité de la version 5.0 :

And now, ladies and gentlemen, enjoy the legendary QoQ-CoT 5.0 Mac Bec power !! :-)

B. Le plus long, les poussins et le coq

J'upgrade depuis V4.0 Rocky

Vous êtes déjà en mode poussin/coq, le plus dur est fait :-)

Il y a cependant quelques nouveautés (bio) dans les poussins et le coq V5.0.

Côté poussin

Nouveauté V5.0 Mac Bec

  • il y a dans la conf. du poussin V4.0, soit le fichier poussin.yml, un nouveau paramètre : « vdi ». Il prend en argument un nom de technologie VDI. Pour l'instant, le seul codé est « vmware »1).
    • Donc si vous saisissez dans poussin.yml :
      • vdi : vmware
    • cela signifie que la machine sur laquelle tourne ce poussin est une machine virtuelle vmware.
  • La prise en compte du VDI est une des avancées (super) majeures de la V5.0 Mac Bec. En effet, le poussin informé du fait qu'il s'agit d'une VM va remonter AUSSI le nom et l'IP du terminal sur lequel tourne la VM. ET DONC, roulements de tambours, vous aurez la possibilité d'examiner les taux d'utilisation… des salles de terminaux VDI !!! Taux que nous avions perdu dans QoQ-CoT version <5 dès que les salles étaient passées en VDI. Donc oui, c'est une nouveauté d'une importance capitale ! CHAMPAGNE !!
  • ATTENTION : les poussins v4.0 Rocky ne sont pas compatibles avec le coq 5.0 Mac Bec ! En effet, en 5.0 Mac Bec, le coq attend du poussin un autre format d'information (on ajoute entre autres les infos IP). Donc comment faire pour migrer un gros parc ?!! La bonne option est de faire tourner 2 coqs, votre ancien 4.0 et le nouveau 5.0, mais sur des ports différents (ça se règle dans la conf du coq et celles des poussins : on prend un nouveau port pour le coq et les poussins 5.0) et de régler (toujours dans la conf) les 2 coqs pour qu'ils envoient vers la même DB, la 5.0 évidemment. Ça, ça marchera, rien ne change pour les poussins 4.0, toutes les connexions seront remontées vers votre nouvelle installation et vous pourrez migrer vos (innombrables) poussins au fil de l'eau… MAIS, pour toutes les machines tournant le poussin v4.0 :
    • vous continuerez à ne pas avoir d'infos, dans vos connexions, sur l'IP du terminal. Seuls les poussins >= 5.0 Mac Bec remontent cette info dans la base : votre table Connexions upgradée intègre ce champ et il apparaîtra donc, mais vide, pour des connexions remontées sur une base et une interface web 5.0 Mac Bec par des poussins 4.0 Rocky.
Côté coq

Avec le version 5.0 Mac Bec, nouvelle fonctionnalité : UN FICHIER DE LOG !! Toutes les erreurs (paquets malformés, connexions à la DB qui échouent…) y sont consignées. Le nom du fichier de log est défini dans le fichier coq.d, tout ceci est précisé dans le fichier README.TXT qui vient dans le répertoire du coq dans l'archive.

Le coq est livré également en version compilée coq64, pour éviter d'avoir à installer les modules PERL. Mais, nous avons constaté, sans vraie explication technique à vous fournir, que ces versions compilées ne s'exécutaient pas sous certains environnements… Si vous êtes dans le cas d'un tel contexte récalcitrant (ou que vous faites tourner le coq sur une machine de 2001 d'architecture 32 bits), utilisez à la place le fichier SOURCES/coq.pl qui lui, fonctionnera… sous réserve de disposer des modules PERL suivants : strict, warnings, IO::SocketEncode, DBI, YAML::Tiny, Data::Dumper, MIME::Base64 et integer. La plupart devraient être installés de base, sauf probablement YAML::Tiny.

Épilogue (important...)

À l'issue de votre upgrade, vérifiez que vous êtes bien représenté sur la carte mondiale des QoQ-CoTiens. Si ça n'est pas le cas, ou si les informations indiquées (nb. de postes en particulier) sont obsolètes, postez un message (“Commencer une nouvelle discussion”) dans le forum « Poulailler » du projet sur SourceSup, en indiquant votre établissement et le nombre de postes concernés. D'une, vous apparaîtrez sur la carte (et ça, c'est la classe à Dallas ! ;-) et de deux, ça nous permettra de mieux connaître et de communiquer plus directement avec les utilisateurs de la solution (nouvelles features, évolutions, bugs…). Merci :-

1)
Mais si vous reposez sur une autre techno et que vous voulez qu'elle soit traitée, il suffira de modifier UNE SEULE FONCTION dans le code des poussins : vdiInfo. Repérez le if ( eq “vmware”) et ajouter un else avec le nom de votre techno VDI, disons VDI4all par exemple, que vous souhaitez. Il faudra instancier dans votre if les variables lastModify,host,ip qui sont renvoyées par la fonction. Vous devrez ensuite déclarer dans les poussin.yml : vdi : VDI4all
upgrade_to_v5.0_mac_bec.txt · Dernière modification: 2021/03/31 17:48 par gerard.milhaud@univ-amu.fr