feat(plan): support convertorLabels and convertorAffinity in Plan resource
メンテナーはふだん 1 日以内に返信
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 82/100
調査の方向性
ocp_resources/plan.py から始めて、convertor_node_selector が __init__ で受け取られ、保存され、to_dict() で spec["convertorNodeSelector"] に書き出される仕組みを参考にし、その隣に convertor_labels と convertor_affinity をcamelCaseのspecキーとともに追加してください。docstringの項目と、tests/test_plan.py に各キーが設定時に現れ、None の時に省略されることを確認するケースを追加してください。両方のテストが通り、issue のチェックリストを満たしたら完了です。
索引モデルが issue の本文から書いたものです。
説明
Problem
The forklift Plan CRD supports spec.convertorLabels (map[string]string) and spec.convertorAffinity (standard Kubernetes affinity dict), but the Plan wrapper (ocp_resources/plan.py) does not expose them. Consumers (e.g. mtv-api-tests, issue RedHatQE/mtv-api-tests#813 for MTV-7085 regression coverage) need to set labels and preferred podAffinity on virt-v2v conversion pods.
Current state
convertor_node_selector→spec["convertorNodeSelector"]was added in #2819 — exact pattern to follow.target_affinity→spec["targetAffinity"]already exists as affinity precedent.- No
convertor_labels/convertor_affinityanywhere inocp_resources/plan.py.
Proposed change
Mirror the convertor_node_selector pattern in ocp_resources/plan.py:
__init__params:convertor_labels: dict[str, str] | None = None,convertor_affinity: dict[str, Any] | None = None- Attribute assignment in
__init__ to_dict():if self.convertor_labels is not None: spec["convertorLabels"] = ...and same forconvertorAffinity(next to convertorNodeSelector block, ~line 232)- Docstring entries next to convertor_node_selector's
- Tests in
tests/test_plan.pyasserting spec keys emitted when set and omitted when None
Done
-
convertor_labelsparam maps tospec.convertorLabelsinto_dict() -
convertor_affinityparam maps tospec.convertorAffinityinto_dict() - Docstrings updated
- Tests cover both fields (set and None cases)
-
prek runpasses -
uv run --group tests pytestpasses
- 主要言語
- Python
- スター
- 28
- フォーク
- 85
- 平均マージ
- 1日 27分
- マージ済み PR(30日)
- 28
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
RedHatQE/openshift-python-wrapper のほかの issue
-
Feature request: Include restore error details in VirtualMachineFileRestore phase-wait failuresオープン
難易度 3/5 1〜2日 初心者へのやさしさ 67/100
RedHatQE/openshift-python-wrapper#2847 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Dependency DashboardオープンStale
難易度 4/5 3〜5日 初心者へのやさしさ 15/100
RedHatQE/openshift-python-wrapper#2180 · コメント 125 件 ·
メンテナーはふだん 1 日以内に返信
RedHatQE/openshift-python-wrapper の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
earthtojake/text-to-cad#758 ·
メンテナーはふだん 1 日以内に返信
-
domain:upgrades enhancement needs-triage
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
gke-labs/kube-agents#4634 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
agardnerIT/opamp-server-py#116 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
enhancement good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
elviskahoro/sdk-python-attio#144 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信