Improve logs, handling and parsing of Helm install erros
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 45/100
調査の方向性
helm-wrapper/src/main/java/io/github/inseefrlab/helmwrapper/utils/Command.java の27行目から始め、helm install の stderr がどのように処理され、失敗がどのように API logger に到達するかを追跡します。通常の構造化ロギングフローで実際の Helm エラーが捕捉され、System.err に直接リダイレクトされるのではなく、汎用的な例外出力だけが有用な診断情報となる状態ではなくなれば完了です。
索引モデルが issue の本文から書いたものです。
説明
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
- 主要言語
- Java
- スター
- 34
- フォーク
- 34
- 平均マージ
- 9分
- マージ済み PR(30日)
- 4
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
InseeFrLab/onyxia-api のほかの issue
-
難易度 4/5 3〜5日 初心者へのやさしさ 43/100
InseeFrLab/onyxia-api#689 ·
-
Security : run helm installs / upgrades / uninstalls as a service account local to the target namespace対応中かも @olevitt が 11 日前に担当しました。 オープン
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
InseeFrLab/onyxia-api#688 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 74/100
InseeFrLab/onyxia-api#669 ·
-
helmwrapper issue with rootless env : try to create /.cache再び着手できるかも @olevitt が 345 日前に担当しましたが、オープン中のプルリクエストはありません。 オープン
InseeFrLab/onyxia-api#638 · コメント 5 件 · 担当者 1 名 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 38/100
InseeFrLab/onyxia-api#612 · コメント 3 件 ·
InseeFrLab/onyxia-api の issue をすべて見る
似ている issue
-
bug
難易度 1/5 1時間未満 初心者へのやさしさ 82/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
objectionary/lints#1640 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
openhab/openhab-addons#22168 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
wildfly/wildfly-channel#446 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
メンテナーはふだん 1 日以内に返信