

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Slurm Job Submit プラグインスクリプトを変換して PCS で CLI Filter Plugin AWS を使用する
<a name="slurm-cli-filter-plugins-translate"></a>

他の Slurm 環境から移行するときに、既存の Job Submit Plugin Lua スクリプトを CLI Filter Plugin に変換します。翻訳プロセスでは、関数名とフィールドアクセスパターンを更新して CLI Filter Plugin API と連携します。

## 前提条件
<a name="slurm-cli-filter-plugin-translate-prerequisites"></a>

スクリプトを翻訳する前に、以下のタスクを完了してください。
+ 既存の Job Submit Plugin Lua スクリプトを確認する
+ ジョブ送信 API と CLI フィルタープラグイン APIsの違いを理解する
+ Slurm CLI Filter Plugin ドキュメントにアクセスする

**Job Submit Plugin スクリプトを CLI Filter Plugin に変換するには**

1. 既存の Job Submit Plugin スクリプト関数 (`slurm_job_submit`、) を確認します`slurm_job_modify`。

1. 同等の CLI フィルタープラグイン関数を特定します。
   + `slurm_job_submit` が `slurm_cli_pre_submit` になります
   + をデフォルトのパラメータ設定`slurm_cli_setup_defaults`に追加
   + 送信後のアクション`slurm_cli_post_submit`に を追加する

1. ジョブ検証ロジックを`job_desc`フィールドから`options`配列アクセスに変換します。
   + `job_desc.account` が `options["account"]` になります
   + `job_desc.partition` が `options["partition"]` になります
   + `job_desc.features` が `options["constraint"]` になります

1. ログ記録呼び出しを から `slurm.log_user()`に更新します`slurm.log_error()`。

1. 開発クラスターで翻訳されたスクリプトをテストします。

1. 標準の CLI フィルタープラグインのデプロイプロセスに従って、本番稼働用クラスターにデプロイします。

## 予想される結果
<a name="slurm-cli-filter-plugin-translate-results"></a>

翻訳が完了したら、次の操作を行います。
+ 翻訳されたスクリプトは同等のジョブ送信検証を提供します
+ ユーザーには、元のジョブ送信プラグインと同様のエラーメッセージとプロンプトが表示されます。
+ ジョブ送信ポリシーは PCS AWS への移行中に維持されます

## トラブルシューティング
<a name="slurm-cli-filter-plugin-translate-troubleshooting"></a>

**スクリプト翻訳エラー**  
**症状:** ジョブの送信は Lua 実行エラーで失敗します。  
**考えられる原因:** 翻訳されたスクリプトのフィールドアクセスまたは関数呼び出しが正しくない。  
**解決策:** CLI Filter Plugin API ドキュメントを確認し、ジョブ送信インターフェイスと CLI Filter インターフェイス間のフィールドマッピングを比較します。