

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Slurm 작업 제출 플러그인 스크립트를 번역하여 AWS PCS에서 CLI 필터 플러그인 사용
<a name="slurm-cli-filter-plugins-translate"></a>

다른 Slurm 환경에서 마이그레이션할 때 기존 작업 제출 플러그인 Lua 스크립트를 CLI 필터 플러그인으로 변환합니다. 변환 프로세스에는 CLI 필터 플러그인 API와 함께 작동하도록 함수 이름 및 필드 액세스 패턴을 업데이트하는 작업이 포함됩니다.

## 사전 조건
<a name="slurm-cli-filter-plugin-translate-prerequisites"></a>

스크립트를 번역하기 전에 다음 작업을 완료합니다.
+ 기존 작업 제출 플러그인 Lua 스크립트 검토
+ 작업 제출과 CLI 필터 플러그인 APIs의 차이점 이해
+ Slurm CLI 필터 플러그인 설명서 액세스

**작업 제출 플러그인 스크립트를 CLI 필터 플러그인으로 변환하려면**

1. 기존 작업 제출 플러그인 스크립트 함수(`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>

번역을 완료한 후:
+ 번역된 스크립트는 동등한 작업 제출 검증을 제공합니다.
+ 사용자는 원래 작업 제출 플러그인과 유사한 오류 메시지와 프롬프트를 볼 수 있습니다.
+ 작업 제출 정책은 AWS PCS로 마이그레이션하는 동안 유지됩니다.

## 문제 해결
<a name="slurm-cli-filter-plugin-translate-troubleshooting"></a>

**스크립트 번역 오류**  
**증상:** Lua 실행 오류와 함께 작업 제출이 실패합니다.  
**가능한 원인:** 변환된 스크립트의 필드 액세스 또는 함수 호출이 잘못되었습니다.  
**해결 방법:** CLI 필터 플러그인 API 설명서를 검토하고 작업 제출과 CLI 필터 인터페이스 간의 필드 매핑을 비교합니다.