참고
그룹과 프로젝트는 동의어입니다. {PROJECT-ID}는 프로젝트 ID와 동일합니다. 기존 그룹의 경우, 그룹/프로젝트 ID가 동일하게 유지됩니다. 이 페이지에서는 설명에 대해 얘기할 때 더욱 친숙한 용어 그룹을 사용합니다. 엔드포인트는 문서에 명시된 대로 유지됩니다.
이 엔드포인트를 사용하여 복제본 세트 의 현재 프라이머리 물러나도록 요청 새 투표 트리거합니다. Ops Manager 대상 호스트의 자동화 에이전트 다음 체크인 시 실행 배경 작업 대기열에 추가합니다.
에이전트 작업 실행할 때 대상 프로세스 쓰기 가능한 프라이 프라이머리 아닌 경우 작업 은 실패하지 않고 no-op으로 완료됩니다. 프라이머리 머리가 강등된 후에는 stepDownSecs에서 지정한 기간 동안 재투표할 수 없습니다.
기본 URL: https://{OPSMANAGER-HOST}:{PORT}/api/public/v1.0
Resource
POST /groups/{GROUP-ID}/replicaSets/{RS-ID}/process/{HOST-PORT}:stepDown
필수 역할
이 요청 수행하는 API 키에는 Project Automation Admin 역할 있어야 합니다.
요청 경로 매개변수
이름 | 유형 | 필요성 | 설명 |
|---|---|---|---|
그룹 ID | 문자열 | 필수 사항 | 프로젝트를 식별하는 고유한 24자리 16진수 문자열입니다. |
RS- ID | 문자열 | 필수 사항 | 대상 프로세스 포함된 복제본 세트 의 이름입니다. |
HOST-PORT | 문자열 | 필수 사항 | 대상 프로세스 |
요청 쿼리 매개변수
다음 쿼리 매개변수는 선택 사항입니다.
요청 본문 매개변수
요청 본문은 다음과 같은 선택적 튜너블을 허용합니다. 빈 본문을 전송하는 경우 {}을 사용합니다.
이름 | 유형 | 설명 | 기본값 |
|---|---|---|---|
stepDownSecs | integer | 물러난 프라이머리 프라이머리 재선에 부적합한 상태로 남아 있는 시간(초)입니다. |
|
secondaryCatchUpPeriodSecs | integer | 프라이머리 머리가 물러나기 전에 뒤쳐진 세컨더리 따라잡을 때까지 기다리는 시간(초)입니다. | none |
expiresAfterSeconds | integer | 작업 만료되기 전에 자동화 에이전트 선택하기 위해 요청 대기열에 남아 있는 시간(초)입니다. |
|
응답
Ops Manager 재선 작업 엔드포인트 1개 가져오기를 가리키는 Location 헤더와 응답 본문의 재선 작업 문서 포함된 202 Accepted을 반환합니다.
이름 | 유형 | 설명 |
|---|---|---|
id | 문자열 | 재투표 작업 식별하는 고유한 24-16진수 문자열입니다. |
groupId | 문자열 | 프로젝트를 식별하는 고유한 24자리 16진수 문자열. |
조치 | 문자열 | 이 작업 수행하는 작업입니다. |
복제본 세트 이름 | 문자열 | 대상 복제본 세트 의 이름입니다. |
호스트 이름 | 문자열 | 대상 프로세스 의 호스트 이름입니다. |
포트 | integer | 대상 프로세스 의 포트입니다. |
상태 | 문자열 | 작업 의 상태입니다. 다음 값 중 하나를 반환합니다: |
noOp | 부울 | 작업이 no-op으로 완료되었는지 여부를 나타내는 플래그입니다. 에이전트 작업 실행할 때 대상 프로세스 이미 세컨더리 인 경우 |
메시지 | 문자열 | 사람이 읽을 수 있는 작업 에 대한 세부 정보입니다. 에이전트 결과를 보고하면 Ops Manager 이 필드 채웁니다. |
생성됨 | 문자열 | Ops Manager 작업 생성한 시점의 ISO 8601 UTC 형식의 타임스탬프입니다. |
lastUpdated | 문자열 | Ops Manager 작업 마지막으로 업데이트한 ISO 8601 UTC 형식의 타임스탬프입니다. |
expires | 문자열 | 자동화 에이전트 더 이상 이 작업 선택하지 않는 ISO 8601 UTC 형식의 타임스탬프입니다. |
요청 예시
1 curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ 2 --header "Accept: application/json" \ 3 --header "Content-Type: application/json" \ 4 --include \ 5 --request POST "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{GROUP-ID}/replicaSets/{RS-ID}/process/{HOST-PORT}:stepDown?pretty=true" \ 6 --data '{ 7 "stepDownSecs": 60, 8 "secondaryCatchUpPeriodSecs": 10 9 }'
응답 예시
응답 헤더
202 Accepted Vary: Accept-Encoding Content-Type: application/json Location: https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{GROUP-ID}/replicaSets/{RS-ID}/reElectionJobs/{REELECTION-JOB-ID} Strict-Transport-Security: max-age=300 Date: {dateInUnixFormat} Connection: keep-alive Content-Length: {requestLengthInBytes} X-MongoDB-Service-Version: gitHash={gitHash}; versionString={ApplicationVersion}
응답 본문
1 { 2 "id": "665a1234567890abcdef1234", 3 "groupId": "5c8100bcf2a30b12ff88258f", 4 "action": "STEP_DOWN", 5 "replicaSetName": "rs0", 6 "hostname": "node1.example.com", 7 "port": 27017, 8 "status": "QUEUED", 9 "noOp": false, 10 "message": null, 11 "created": "2026-08-11T05:37:59Z", 12 "lastUpdated": "2026-08-11T05:37:59Z", 13 "expires": "2026-08-11T05:42:59Z" 14 }
응답 코드
HTTP Status | 오류 코드 | 설명 |
|---|---|---|
202 | -- | 요청이 수락되었습니다. 재투표 작업 문서 반환합니다. |
400 | INVALID_PARAMETER | 튜너블이 범위 벗어났거나 요청 본문에 |
400 | AUTOMATION_AGENT_VERSION_NOT_SUPPORTED | 대상 호스트의 자동화 에이전트 |
401 | USER_UNAUTHORIZED | API 키에 |
401 | USER_CANNOT_ACCESS_ORG | 호출자는 프로젝트 조직 외부에 있습니다. |
404 | AUTOMATION_CONFIG_NOT_FOUND | 프로젝트 에 게시된 자동화 구성이 없습니다. |
404 | CLUSTER_NOT_FOUND |
|
404 | PROCESS_NOT_IN_CLUSTER |
|
409 | REELECTION_AGENT_NOT_RESPONDING | 대상 호스트의 자동화 에이전트 최근에 Ops Manager 핑을 하지 않았습니다. |
409 | REELECTION_ALREADY_IN_PROGRESS | 이 복제본 세트 에 대해 재투표 작업 이미 대기열에 있거나 실행 입니다. |