Skip to content

Expliciter dépendance de calculatrice sur monitoring #58

@marcantoinedupre

Description

@marcantoinedupre

Pendant une procédure de mise à jour sur une instance GN de prod ayant les deux modules monitoring et calculatrice l'erreur suivante est levée et apparaît dans la sortie de migration.sh :

Installation du module monitorings …
No module named 'gn_module_monitoring'
Traceback (most recent call last):
  File "/home/geonatureadmin/geonature/backend/geonature/app.py", line 261, in create_app
    module_blueprint = module_dist.entry_points["blueprint"].load()
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/geonatureadmin/geonature/backend/venv/lib/python3.11/site-packages/importlib_metadata/__init__.py", line 221, in load
    module = import_module(self.module)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1149, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/home/geonatureadmin/calculatrice_monitoring/backend/calculatrice_monitoring/blueprint.py", line 7, in <module>
    from gn_module_monitoring.monitoring.models import TMonitoringModules
ModuleNotFoundError: No module named 'gn_module_monitoring'
Unable to load module CALCULATRICE, skipping…

Explication :

  • le module calculatrice vient d'être réinstallé car dans l'ordre alphabétique il vient avant gn-module-monitoring dans la boucle sur les modules externes de l'ancienne installation
  • au moment d'installer gn-module-monitoring l'exécution de la commande install-gn-module crée une app flask qui rencontre l'erreur ci-dessus au moment de charger le blueprint du module calculatrice car celui-ci dépend de monitoring qui n'est pas encore installé.
  • l'erreur est attrapée et ignorée, le module calculatrice est mis en DISABLED pour l'exécution de la commande.
  • l'installation continue normalement.

Piste :

  • neutraliser l'erreur et afficher un warning explicitant que calculatrice dépend de monitoring ?

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions