Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(commands): add command ID in variant generation job results #1989

Merged

Conversation

laurent-laporte-pro
Copy link
Contributor

@laurent-laporte-pro laurent-laporte-pro commented Mar 26, 2024

L'objectif de cette PR est de modifier le processus de génération des variants afin d'inclure l'identifiant des commandes dans les résultats du Job.

Actuellement, lorsqu'un snapshot d'une variante d'étude est généré, une tâche de génération asynchrone est utilisée. À la fin de cette génération, le résultat de la tâche est analysé pour obtenir un message utilisateur, le statut de la tâche (réussite ou échec), ainsi qu'un détail au format JSON, indiquant la liste des commandes appliquées lors de la génération du variant.

Voici un exemple de génération de variant qui a nécessité d'appliquer plusieurs commandes :

{
  "success": true,
  "details": [
    ["update_config", true, "ok"],
    ["create_area", true, "Area 'North' created"],
    ["update_config", true, "ok"],
    ["update_file", true, "ok"],
    ["update_file", true, "ok"],
    ["create_cluster", true, "Thermal cluster 'Cl1' added to area 'west'."]
  ]
}

Le détail est une liste de triplet (name, status, msg) qui renseigne sur le nom et le statut de chaque commande mais ne donne aucune information concernant l'ID de la commande appliquée. Connaître l'identifiant de chaque commande appliquée permettrait de faciliter le diagnostique et la correction des variants en cas d'erreur : la dernière commande en erreur pourrait être supprimée plus facilement.

La proposition consiste à remplacer ce format actuel par un objet JSON plus structuré, contenant les attributs suivants :

  • id: identifiant de la commande (UUID),
  • name: nom de la commande,
  • status: statut de la commande (true ou false),
  • msg: message de la génération de la commande ou message d'erreur (si le statut est false).

Exemple de résultat attendu :

{
  "success": true,
  "details": [
    {
      "id": "bae4edc4-ebe8-4108-9a58-ffcb9bf1451a",
      "name": "update_config",
      "status": true,
      "msg": "ok"
    },
    {
      "id": "17b4bef7-306d-41ef-9a5f-1028f9b28bbd",
      "name": "create_area",
      "status": true,
      "msg": "Area 'North' created"
    },
    {
      "id": "b8d688ca-c08f-45cd-b7e9-32411d63b826",
      "name": "update_config",
      "status": true,
      "msg": "ok"
    },
    {
      "id": "4f4114fa-8c15-4ed1-9a88-54c507eb56bf",
      "name": "update_file",
      "status": true,
      "msg": "ok"
    },
    {
      "id": "ac584997-4580-46e9-b4f5-dd42cfe823cd",
      "name": "update_file",
      "status": true,
      "msg": "ok"
    },
    {
      "id": "77077651-d71f-4d82-b394-afa9ae45c238",
      "name": "create_cluster",
      "status": true,
      "msg": "Thermal cluster 'Cl1' added to area 'west'."
    }
  ]
}

ATTENTION : Il est important de noter que le support de l'ancien format de détails (name, status, msg) sera maintenu pour les variantes déjà générées, afin de garantir la compatibilité avec les données existantes. Aucune migration de données ne sera effectuée dans cette PR.

@laurent-laporte-pro laurent-laporte-pro added this to the v2.18 milestone Mar 26, 2024
@laurent-laporte-pro laurent-laporte-pro self-assigned this Mar 26, 2024
@laurent-laporte-pro laurent-laporte-pro force-pushed the feature/add-cmd-id-in-variant-geanaration-outputs branch from c0b35f7 to 3ce27f6 Compare March 26, 2024 17:23
@laurent-laporte-pro laurent-laporte-pro changed the title feat(commands): add command ID in variant geanaration outputs feat(commands): add command ID in variant generation outputs Mar 26, 2024
@laurent-laporte-pro laurent-laporte-pro force-pushed the feature/add-cmd-id-in-variant-geanaration-outputs branch 2 times, most recently from c9009f0 to 1428727 Compare March 30, 2024 06:50
@laurent-laporte-pro laurent-laporte-pro marked this pull request as ready for review March 30, 2024 06:50
@laurent-laporte-pro laurent-laporte-pro changed the title feat(commands): add command ID in variant generation outputs feat(commands): add command ID in variant generation logs Mar 30, 2024
@laurent-laporte-pro laurent-laporte-pro force-pushed the feature/add-cmd-id-in-variant-geanaration-outputs branch from 1428727 to 122a525 Compare March 30, 2024 09:57
@laurent-laporte-pro laurent-laporte-pro changed the title feat(commands): add command ID in variant generation logs feat(commands): add command ID in variant generation job results Mar 30, 2024
@MartinBelthle
Copy link
Contributor

MartinBelthle commented Apr 2, 2024

WARNING ⚠️ : We should make sure it doesn't affect the script team

@laurent-laporte-pro
Copy link
Contributor Author

WARNING ⚠️ : We should make sure it doesn't affect the script team

Actually, this is a change requested by the Script R team.

@MartinBelthle
Copy link
Contributor

WARNING ⚠️ : We should make sure it doesn't affect the script team

Actually, this is a change requested by the Script R team.

Oh okay nice then 😄

@laurent-laporte-pro laurent-laporte-pro force-pushed the feature/add-cmd-id-in-variant-geanaration-outputs branch from 0b355be to 4a9c0e2 Compare April 8, 2024 17:50
@laurent-laporte-pro laurent-laporte-pro force-pushed the feature/add-cmd-id-in-variant-geanaration-outputs branch from da8a640 to d8b55ef Compare April 8, 2024 18:06
@laurent-laporte-pro laurent-laporte-pro merged commit bf6813e into dev Apr 9, 2024
6 of 7 checks passed
@laurent-laporte-pro laurent-laporte-pro deleted the feature/add-cmd-id-in-variant-geanaration-outputs branch April 9, 2024 07:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants