Bug #86943
api_export_import: erreur de l'installation de l'application lorsque les categories n'ont pas de position définie
Début:
14 février 2024
Echéance:
% réalisé:
0%
Temps estimé:
Patch proposed:
Non
Planning:
Non
Description
Constaté lors de l'import d'une application sur l'instance de Grenoble:
févr. 13 18:25:08 vm1srv-grctest.la-metro.org uwsgi/combo[1855247]: {address space usage: 376573952 bytes/359MB} {rss usage: 141561856 bytes/135MB} [pid: 1855247|app: 0|req: 12710/88206] 0.0.0.0 () {56 vars in 1220 bytes} [Tue Feb 13 18:25:08 2024] GET /__services.js => generated 2927 bytes in 86 msecs (HTTP/1.0 200) 4 headers in 115 bytes (1 switches on core 0) févr. 13 18:25:08 vm1srv-grctest.la-metro.org uwsgi/wcs[1833694]: [spooler /var/lib/wcs/spooler/e9f50e6d60b015cda9d625cb55472f15 pid: 1833694] done with task uwsgi_spoolfile_on_vm1srv-grctest.la-metro.org_1856732_7_511838337_1707845106_39085 after 2 seconds févr. 13 18:25:08 vm1srv-grctest.la-metro.org uwsgi/wcs[1833694]: [spooler /var/lib/wcs/spooler/e9f50e6d60b015cda9d625cb55472f15 pid: 1833694] maximum number of tasks reached (20) recycling ... févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: [2024-02-13 18:25:09] exception caught févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: Exception: févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: type = '<class 'TypeError'>', value = ''<' not supported between instances of 'NoneType' and 'int'' févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: Stack trace (most recent call first): févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: File "/usr/lib/python3/dist-packages/wcs/api_export_import.py", line 544, in <dictcomp> févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: 542 k: v févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: 543 for k, v in not_imported_positions.items() févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: > 544 if application_position is None or v < application_position févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: 545 } févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: 546 # all objects placed after application objects févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: locals: févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: .0 = <dict_itemiterator object at 0x7f424c9ba070> févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: application_position = 1 févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: k = 'zfe-derogations' févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: v = None févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: File "/usr/lib/python3/dist-packages/wcs/api_export_import.py", line 541, in install févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: 539 application_position = min(existing_positions.values()) févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: 540 # all objects placed before application objects févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: > 541 before_positions = { févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: 542 k: v févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: 543 for k, v in not_imported_positions.items() févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: locals: févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: application_position = 1 févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: comment = 'Mise à jour de l’application (%s)' févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: element = {'type': 'cards-categories', 'slug': 'peps', 'name': 'Peps', 'auto-dependency': True} févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: element_content = b'<carddef_category id="9">\n <name>Peps</name>\n <url_name>peps</url_name>\n <position>1</position>\n <management_roles>\n <role role-id="333431eedcfd49c499ca207239409e6c" role-slug="debug-fonctionnel-eo">Debug Fonctionnel EO</role>\n </management_roles>\n</carddef_category>' févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: element_klass = <class 'wcs.categories.CardDefCategory'> févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: elements = [{'type': 'cards-categories', 'slug': 'peps', 'name': 'Peps', 'auto-dependency': True}] févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: existing_object = <CardDefCategory 'Peps' id:18> févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: existing_positions = {'peps': 1} févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: finalize = False févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: imported_positions = {'peps': 1} févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: initial_positions = {'zfe-derogations': None, 'accueil-grenoble-parametres': 3, 'dechets-broyeurs': None, 'poc-signalement': None, 'signalements': 2, 'kb-imports': 4, 'environnement-ecole': None, 'poc-peps-eo': None, 'organisation-generale': None, 'gru': None, 'kb-base-de-connaissance': 1, 'socle-de-base-billettique': 15, 'dechets-encombrants': None, 'peps': 1, 'gestion-de-l-eau': None, 'socle-de-base-billettique-exemples': 16} févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: new_object = <CardDefCategory 'Peps' id:18> févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: not_imported_positions = {'zfe-derogations': None, 'accueil-grenoble-parametres': 3, 'dechets-broyeurs': None, 'poc-signalement': None, 'signalements': 2, 'kb-imports': 4, 'environnement-ecole': None, 'poc-peps-eo': None, 'organisation-generale': None, 'gru': None, 'kb-base-de-connaissance': 1, 'socle-de-base-billettique': 15, 'dechets-encombrants': None, 'gestion-de-l-eau': None, 'socle-de-base-billettique-exemples': 16} févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: objects_by_slug = {'zfe-derogations': <CardDefCategory 'ZFE-Derogations' id:9>, 'accueil-grenoble-parametres': <CardDefCategory 'Kb - Paramètres' id:11>, 'dechets-broyeurs': <CardDefCategory 'Dechets - Broyeurs' id:5>, 'poc-signalement': <CardDefCategory 'POC-SIgnalement' id:7>, 'signalements': <CardDefCategory 'Signalements' id:13>, 'kb-imports': <CardDefCategory 'Kb - Imports' id:10>, 'environnement-ecole': <CardDefCategory 'Environnement Ecole' id:4>, 'poc-peps-eo': <CardDefCategory 'Poc Peps EO' id:17>, 'organisation-generale': <CardDefCategory 'Organisation - Générale' id:1>, 'gru': <CardDefCategory 'GRU' id:2>, 'kb-base-de-connaissance': <CardDefCategory 'Kb - Base de connaissance' id:12>, 'socle-de-base-billettique': <CardDefCategory 'Socle de Base Billettique' id:16>, 'dechets-encombrants': <CardDefCategory 'Déchets - encombrants' id:6>, 'peps': <CardDefCategory 'Peps' id:18>, 'gestion-de-l-eau': <CardDefCategory "GE - Gestion de l'eau" id:14>, 'socle-de-base-billettique-exemples': <CardDefCategory 'Socle de Base Billettique - Exemples' id:15>} févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: self = <BundleImportJob id:ee887a43-06e3-4fce-a71f-50c17a6f5551> févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: File "/usr/lib/python3/dist-packages/wcs/api_export_import.py", line 421, in execute févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: 419 # real installation pass févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: 420 for _type in object_types: févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: > 421 self.install([x for x in manifest.get('elements') if x.get('type') == _type]) févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: 422 févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: 423 # again, to remove [pre-install] in dependencies labels févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: locals: févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: _type = 'cards-categories' févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: manifest = {'application': "Peps - Relevé d'anomalies", 'slug': 'peps-releve-danomalies', 'description': '', 'documentation_url': '', 'license': '', 'authors': '', 'icon': None, 'visible': True, 'version_number': 'V.0.35', 'version_notes': '* Modèle de fiches "positions"\r\n* 2 procédures différentes pour les questions peps vers ra', 'elements': [{'type': 'forms', 'slug': 'peps_signalement', 'name': "Peps - Relevé d'anomalies", 'auto-dependency': False}, {'type': 'forms-categories', 'slug': 'peps-saisie-releves-d-anomalie', 'name': "Peps - Saisie Relevés d'anomalie", 'auto-dependency': True}, {'type': 'workflows', 'slug': 'test-transfert-demandes', 'name': "Peps - Demande - Relevé d'anomalies - transfert demandes peps", 'auto-dependency': True}, {'type': 'cards', 'slug': 'peps_type', 'name': 'Peps - Ref - Type', 'auto-dependency': True}, {'type': 'cards', 'slug': 'peps_communes', 'name': 'Peps - Ref - Communes', 'auto-dependency': True}, {'type': 'cards', 'slug': 'peps_secteurs', 'name': 'Peps - Ref - Secteurs', 'auto-dependency': True}, {'type': 'roles', 'slug': 'debug-fonctionnel-eo', 'name': 'Debug Fonctionnel EO', 'auto-dependency': True}, {'type': 'roles', 'slug': 'acces-api-fiche', 'name': 'Accès API Fiche', 'auto-dependency': True}, {'type': 'workflows-categories', 'slug': 'peps', 'name': 'Peps', 'auto-dependency': True}, {'type': 'data-sources', 'slug': 'peps_origine_instance', 'name': "Peps - instance d'origine", 'auto-dependency': True}, {'type': 'cards', 'slug': 'peps_positions', 'name': 'Peps - Utils - Positions', 'auto-dependency': True}, {'type': 'cards-categories', 'slug': 'peps', 'name': 'Peps', 'auto-dependency': True}, {'type': 'workflows', 'slug': 'peps_type', 'name': 'Peps - Fiche - Gestion des types', 'auto-dependency': True}, {'type': 'cards', 'slug': 'peps_codes', 'name': 'Peps - Utils - Codes', 'auto-dependency': True}, {'type': 'cards', 'slug': 'peps_services', 'name': 'Peps - Ref - Services', 'auto-dependency': True}, {'type': 'roles', 'slug': 'peps-administrateur-technique', 'name': 'Peps - Administrateur technique', 'auto-dependency': True}, {'type': 'workflows', 'slug': 'peps-fiche-gestion-communes', 'name': 'Peps - Fiche - Gestion communes', 'auto-dependency': True}, {'type': 'workflows', 'slug': 'peps-fiche-gestion-referentiel-avec-slug', 'name': 'Peps - Fiche - Gestion référentiel avec slug', 'auto-dependency': True}, {'type': 'data-sources', 'slug': 'peps_types_secteur', 'name': 'Peps - Types de secteur', 'auto-dependency': True}, {'type': 'data-sources-categories', 'slug': 'poc-peps-eo', 'name': 'Peps', 'auto-dependency': True}, {'type': 'forms', 'slug': 'peps_dde_signalement', 'name': 'Peps - Signalement', 'auto-dependency': True}, {'type': 'data-sources', 'slug': 'peps_type_service_sectorise', 'name': 'Peps - Type de service secteur', 'auto-dependency': True}, {'type': 'data-sources', 'slug': 'les_roles_peps_gestionnaire', 'name': 'Peps - Les rôles Gestionnaire', 'auto-dependency': True}, {'type': 'forms-categories', 'slug': 'peps-signalements', 'name': 'Peps - Signalements', 'auto-dependency': True}, {'type': 'workflows', 'slug': 'demande-peps', 'name': 'Peps - Demandes - Signalements', 'auto-dependency': True}, {'type': 'data-sources', 'slug': 'peps_modalites_creation', 'name': 'Peps - Modalites de création', 'auto-dependency': True}, {'type': 'cards', 'slug': 'peps_interventions', 'name': 'Peps - Interventions', 'auto-dependency': True}, {'type': 'roles', 'slug': 'agent', 'name': 'Agent', 'auto-dependency': True}, {'type': 'data-sources', 'slug': 'peps_type_demande_intervention', 'name': "Peps - Type de demande d'intervention", 'auto-dependency': True}, {'type': 'workflows', 'slug': 'peps-fiche-gestion-des-di', 'name': 'Peps - Fiche - Gestion des DI', 'auto-dependency': True}], 'parameters': [{'label': 'Url Portail agent mutualisé', 'name': 'mutual_portal_agent_url', 'default_value': 'https://agents-test.iziici.fr/'}]} févr. 13 18:25:09 vm1srv-grctest.la-metro.org uwsgi/wcs[1861835]: object_types = ['blocks-categories', 'cards-categories', 'data-sources-categories', 'forms-categories', 'mail-templates-categories', 'comment-templates-categories', 'workflows-categories', 'blocks', 'cards', 'data-sources', 'forms', 'mail-templates', 'comment-templates', 'workflows', 'wscalls']
car les categories des fiches n'ont pas toutes une position de définie.
Révisions associées
Historique
Mis à jour par Lauréline Guérin il y a 3 mois
- Statut changé de Nouveau à En cours
- Assigné à mis à Lauréline Guérin
Mis à jour par Robot Gitea il y a 3 mois
Lauréline Guérin (lguerin) a ouvert une pull request sur Gitea concernant cette demande :
- URL : https://git.entrouvert.org/entrouvert/wcs/pulls/1138
- Titre : WIP: api: fix export/import when category has no position (#86943)
- Modifications : https://git.entrouvert.org/entrouvert/wcs/pulls/1138/files
Mis à jour par Robot Gitea il y a 3 mois
- Statut changé de Solution proposée à Solution validée
Serghei Mihai (smihai) a approuvé une pull request sur Gitea concernant cette demande :
Mis à jour par Robot Gitea il y a 3 mois
- Statut changé de Solution validée à Résolu (à déployer)
Lauréline Guérin (lguerin) a mergé une pull request sur Gitea concernant cette demande :
- URL : https://git.entrouvert.org/entrouvert/wcs/pulls/1138
- Titre : api: fix export/import when category has no position (#86943)
- Modifications : https://git.entrouvert.org/entrouvert/wcs/pulls/1138/files
Mis à jour par Transition automatique il y a 3 mois
- Statut changé de Résolu (à déployer) à Solution déployée
api: fix export/import when category has no position (#86943)