Skip to content

English {#english}

Rollback from v16 to v15 on upgrade failure or compatibility issues. Scope: prego-docker (v15 image), MariaDB 10.11→10.6 if needed, Redis 7-alpine, Ansible frappe_version=version-15. Ref: frappe-v15-to-v16-upgrade-plan Phase 4.4. Full details: see Korean section below.


한국어 {#korean}

Runbook: Frappe v16 → v15 롤백

목적: v16 업그레이드 실패 또는 호환성 이슈 시 v15 스택으로 복귀하는 절차.
Ref: frappe-v15-to-v16-upgrade-plan Phase 4.4.


1. 롤백 범위

컴포넌트v16 → v15 복귀
prego-dockeriamfork/prego-repo v15 태그 이미지 (또는 frappe/bench:latest + bench init v15)
MariaDB10.11 → 10.6 (기존 10.6 인스턴스 유지 시 DB 변경 없음)
Redis7-alpine 유지 (v15 호환)
Ansiblefrappe_version=version-15, mariadb_image=mariadb:10.6

2. 사전 조건

항목확인
v15 이미지iamfork/prego-repo에 v15 태그가 있거나, v15용 apps.json으로 재빌드된 이미지.
DBv16에서 마이그레이션된 사이트는 v15와 스키마 불일치 가능. 신규 v16 사이트만 생성했다면 DB 롤백 불필요. 기존 v15 사이트를 v16으로 올렸다면 bench migrate 역방향은 지원되지 않음 — DB 백업에서 복원 필요.
백업R2·로컬에 v16 전환 이전 덤프 보관.

3. App 이미지 롤백

3.1 인벤토리·변수 변경

# prego_nodes group_vars 또는 host_vars
frappe_bench_image: iamfork/prego-repo:v15-last # v15 태그 또는 digest
frappe_version: version-15

3.2 Ansible 재배포

Terminal window
ansible-playbook -i inventory.yml playbook.yml --limit prego_nodes
  • 기존 bench 데이터(/var/lib/frappe-bench)가 v16 앱을 포함한 상태. v15 이미지로 컨테이너만 교체 시 앱 버전 불일치 발생 가능.
  • 권장: bench 데이터를 v15 시점 백업에서 복원하거나, 깨끗이 제거 후 재설치. ansible-clean-and-reinstall.md 참조.

4. DB 롤백 (MariaDB 10.11 → 10.6)

v16에서 MariaDB 10.11로 마이그레이션했다면:

  1. 10.11 덤프 생성.
  2. 10.6 인스턴스에 덤프 복원. (10.11 → 10.6 하위 호환 일반적이나, 시스템 테이블 차이 시 검증 필요.)
  3. App의 db_host를 10.6 서버로 변경.

5. Ansible 변수 롤백

역할롤백 값
mariadb_servermariadb_image: mariadb:10.6
frappe_benchfrappe_bench_image: frappe/bench:latest 또는 v15 커스텀 이미지, frappe_version: version-15
redis_serverredis_version: "7" 또는 "7-alpine" (v15에서도 호환)

6. 검증

  • bench --site SITE_NAME list-apps — frappe, erpnext, hrms 등 v15 브랜치 확인.
  • 로그인·API·Stripe 웹훅 동작.
  • SELECT VERSION() — MariaDB 10.6.x 확인.
Help