

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 疑難排解 AWS PCS 中的 Slurm CLI 篩選條件外掛程式問題
<a name="slurm-cli-filter-plugins-troubleshooting"></a>

使用此故障診斷資訊來解決常見的 CLI 篩選條件外掛程式問題。

**任務提交立即失敗，並出現外掛程式載入錯誤**  
**徵狀：**使用者在提交任務時，會收到有關缺少或失敗 CLI 篩選條件外掛程式的錯誤訊息。  
**可能原因：**  
+ 一或多個節點缺少 CLI 篩選條件外掛程式指令碼
+ 不正確的指令碼檔案名稱 （必須剛好為 `cli_filter.lua`)
+ 部署到錯誤目錄路徑的指令碼
+ 指令碼具有不正確的檔案許可
**解決方法：**  
+ 確認指令碼存在於所有登入和運算節點`/etc/aws/pcs/scheduler/slurm-<version>/cli_filter.lua`上的
+ 檢查指令碼檔案名稱是否完全相同 `cli_filter.lua`
+ 確保指令碼具有可讀取的許可 (644 或類似許可）
+ 在單一登入節點上測試指令碼部署，然後再部署到完整叢集

**叢集建立失敗，並出現 CLI 篩選條件外掛程式驗證錯誤**  
**徵狀：**叢集建立失敗，並出現`CliFilterPlugins`參數無效的錯誤。  
**可能原因：**  
+ 中的參數值格式不正確 `slurmCustomSettings`
+ 參數名稱或值中的 Typo
**解決方法：**  
+ 使用確切的參數名稱： `CliFilterPlugins`
+ 使用確切參數值： `cli_filter/lua`
+ 在`slurmCustomSettings`陣列中驗證 JSON 語法

**CLI 篩選條件外掛程式指令碼會執行，但任務驗證無法如預期般運作**  
**症狀：**任務提交成功，但自訂驗證邏輯不會觸發或產生非預期的結果。  
**可能原因：**  
+ Lua 指令碼語法錯誤
+ 欄位存取模式不正確 （使用任務提交外掛程式語法而非 CLI 篩選條件外掛程式）
+ 驗證條件中的邏輯錯誤
**解決方法：**  
+ 檢閱 Lua 指令碼是否有語法錯誤
+ 驗證欄位存取使用 `options["field_name"]` 格式，而不是 `job_desc.field_name`
+ 新增記錄陳述式以偵錯指令碼執行流程
+ 先使用簡單的驗證案例測試指令碼邏輯

**S3 指令碼部署失敗**  
**徵狀：**執行個體啟動，但未從 S3 下載 CLI 篩選條件外掛程式指令碼。  
**可能原因：**  
+ IAM 執行個體描述檔缺少 S3 讀取許可
+ 未設定 S3 VPC 端點
+ 使用者資料中的 S3 儲存貯體或物件路徑不正確
**解決方法：**  
+ 確認 IAM 執行個體描述檔具有儲存貯體的`s3:GetObject`許可
+ 設定 S3 VPC Gateway 端點以進行直接存取
+ 檢查使用者資料指令碼中的 S3 儲存貯體名稱和物件路徑
+ 檢閱執行個體使用者資料日誌是否有 S3 下載錯誤