Fetching logs fail if pod has more than one container
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 35/100
調査の方向性
まず、pod のログをリクエストする API エンドポイントを追跡し、issue にある Kubernetes リクエストと stack trace を入口として使います。サービス名とコンテナ名がどのように渡されるかを確認し、その後、複数コンテナの pod が 500 レスポンスを返すのではなくログを返すことを検証します。GUI でのコンテナ選択については、追加の調査が必要です。
索引モデルが issue の本文から書いたものです。
説明
Expected behaviour: When you in frontend select a pod (to view logs), the logs for the main container should be displayed.
Actual behaviour: Onyxia api crash since container name is not specified, and return a 500 response. This means that the GUI just display a spinner and no logs arrive to the user.
The stack trace below are an example of the stack trace that is produced
Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception [
Request processing failed: io.fabric8.kubernetes.client.KubernetesClientException:
Failure executing: GET at: https://10.16.0.1:443/api/v1/namespaces/user-ssb/pods/vscode-python-gcsfuse-346384-0/log?pretty=false.
Message: a container name must be specified for pod vscode-python-gcsfuse-346384-0,
choose one of: [istio-init istio-proxy gke-gcsfuse-sidecar vscode-python-gcsfuse oauth2-proxy].
Received status: Status(apiVersion=v1, code=400, details=null, kind=Status,
message=a container name must be specified for pod vscode-python-gcsfuse-346384-0,
choose one of: [istio-init istio-proxy gke-gcsfuse-sidecar vscode-python-gcsfuse oauth2-proxy], metadata=ListMeta(_continue=null, remainingItemCount=null, resourceVersion=null, selfLink=null,
additionalProperties={}), reason=BadRequest, status=Failure, additionalProperties={}).] with root cause
Suggested fix:
- Quick fix: show the logs of the container with the same name as the serivce (
vscode-python-gcsfuse). - Ability to select container in GUI. Even though this might be a bit to complex for some users, if sidecars are injected that the user has no knowladge of (e.g. istio, gcsfuse, oauth2-proxy)
- 主要言語
- 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
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
Dans-Plugins/Medieval-Roleplay-Engine#396 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 6 日以内に返信
-
type: dependency-upgrade
難易度 1/5 1時間未満 初心者へのやさしさ 70/100
spring-projects/spring-session#4156 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
quarkiverse/quarkus-langchain4j#3127 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
HotswapProjects/HotswapAgent#688 ·