← 이슈 기록 목록

Pause 버튼을 눌러도 아무 일도 일어나지 않았다

KubernetesTypeScriptVelero

01이슈 및 현상

백업 스케줄을 Pause해도 목록의 상태 아이콘은 계속 Enabled였고, Status 필터에서 Disabled를 선택해도 아무것도 걸러지지 않았습니다.

02원인 파악

UI가 중지 여부를 item.spec.paused로 읽었지만, Velero·CronJob 계열 리소스의 실제 필드는 suspend입니다. 존재하지 않는 필드를 옵셔널 체이닝으로 읽으니 에러 없이 항상 undefined(falsy)가 되어 언제나 'Enabled'로 판정됐습니다. 필터도 스펙의 중지 여부가 아닌 실행 결과(status.phase)로 비교하고 있었습니다.

03해결 방안

필드명을 paused에서 suspend로 정정하고, 필터 판정 기준도 status.phase에서 spec.suspend로 옮겼습니다. VM·Kubernetes 양쪽 스케줄 화면에 동일하게 적용했습니다.

04결과 및 성과

Pause 기능과 상태 필터가 정상 동작하게 됐습니다. '동작은 하는데 결과가 항상 같은' 실패 유형을 만나면 필드명부터 확인하는 기준을 세웠고, 옵셔널 체이닝이 오타·스펙 오독을 은폐할 수 있다는 걸 사례로 남겼습니다.