Improve logs, handling and parsing of Helm install erros

Ouverte
#533 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

@olevitt y travaille déjà.

Depuis le 12/12/2024.

  • #534 par @olevitt — ouverte

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
45/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
helm, java
Domaine
api, backend, devops

Piste de recherche

Commencez par helm-wrapper/src/main/java/io/github/inseefrlab/helmwrapper/utils/Command.java à la ligne 27 et suivez la manière dont stderr de helm install est géré et dont les échecs atteignent le API logger. C’est terminé lorsque la véritable erreur Helm est capturée dans le flux normal de logging structuré au lieu d’être redirigée directement vers System.err, et que la sortie d’exception générique n’est plus le seul diagnostic utile.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Currently, if the helm install fails for some reason (e.g syntax errors on generated manifests) then Onyxia-API logs a "generic" error with the Java stacktrace that contains almost no real info :
[onyxia-api-8b8497478-wdm5l] {"@timestamp":"2024-12-12T13:41:13.583714227Z","@version":"1","message":"Servlet.service() for servlet [dispatcherServlet] in context with path [\/api] threw exception","logger_name":"org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[\/api].[dispatcherServlet]","thread_name":"http-nio-8080-exec-3","level":"ERROR","level_value":40000,"stack_trace":"com.fasterxml.jackson.databind.exc.MismatchedInputException: No content to map due to end-of-input\n at [Source: REDACTED (StreamReadFeature.INCLUDE_SOURCE_IN_LOCATIONdisabled); line: 1]\n\tat com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:59)\n\tat com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:5008)\n\tat ... [TRIMMED FOR CLARITY]"}
and in a separate message the real helm error as emitted by the helm process :
[onyxia-api-8b8497478-wdm5l] Error: YAML parse error on argo-workflows/templates/networkpolicy-ingress.yaml: error converting YAML to JSON: yaml: line 10: did not find expected '-' indicator
This one is much more relevant and is currently redirected directly to System.err (see https://github.com/InseeFrLab/onyxia-api/blob/715cda25520e83a6e79308c0cefe837e1b1d8698/helm-wrapper/src/main/java/io/github/inseefrlab/helmwrapper/utils/Command.java#L27)
which is not properly integrated with the rest of logging system (e.g it does not use json structuring)

We should catch the real error instead of redirecting it to System.err

Langage dominant
Java
Étoiles
34
Forks
34
Merge moyen
1 j 5 h
PR mergées (30 j)
15

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de InseeFrLab/onyxia-api

Toutes les issues de InseeFrLab/onyxia-api

Issues similaires

Plus d'issues Java

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.