CLOUD

OpenStack Horizon 로그인 실패 메시지 수정 및 적용 방법

92Hoonhee 2025. 3. 4. 14:47

OpenStack Horizon 로그인 실패 메시지 수정 및 적용 방법

OpenStack Kolla-Ansible 환경에서 Horizon 로그인 실패 메시지를 변경하는 방법을 정리합니다. 로그인 실패 시 "올바르지 않은 자격 증명" 메시지를 원하는 문구로 수정할 수 있습니다.


1. Horizon 번역 파일(django.po) 수정

1-1. Horizon 컨테이너 내부 접속

# Horizon 컨테이너에 접속합니다.
docker exec -it horizon bash

1-2. 번역 파일(django.po) 위치 확인

Horizon의 번역 파일은 Python 환경에 따라 다를 수 있습니다. 아래 경로로 이동합니다.

cd /var/lib/kolla/venv/lib/python3.12/site-packages/openstack_auth/locale/ko_KR/LC_MESSAGES/

⚠️ 주의: Python 버전이 다를 경우 python3.12 부분을 맞춰 수정해야 합니다.

1-3. django.po 파일 수정

vi django.po

아래 내용을 찾아 수정합니다.

msgid "Invalid credentials."
msgstr "로그인 정보가 올바르지 않습니다. 다시 입력해주세요."

💡 원하는 메시지로 변경한 후 저장(ESC → :wq → Enter)합니다.


2. 번역 파일(django.mo) 적용

.po 파일을 수정한 후에는 .mo 파일을 다시 생성해야 변경 사항이 반영됩니다.

msgfmt -o django.mo django.po

3. Django 캐시 제거

변경 사항이 반영되지 않는 경우, 기존 .pyc 캐시 파일을 삭제해야 합니다.

find /var/lib/kolla/venv/lib/python3.12/site-packages/openstack_auth/ -name "*.pyc" -delete
find /var/lib/kolla/venv/lib/python3.12/site-packages/django -name "*.pyc" -delete

4. Horizon 컨테이너 재시작

docker restart horizon

이제 로그인 실패 시 메시지가 변경되었는지 확인하세요.


5. Horizon 코드 직접 수정 (대체 방법)

위 방법으로 적용되지 않을 경우, Django 코드에서 직접 메시지를 변경할 수도 있습니다.

vi /var/lib/kolla/venv/lib/python3.12/site-packages/openstack_auth/views.py

아래 코드를 찾아 수정합니다.

messages.error(request, _( "Invalid credentials." ))

아래와 같이 변경합니다.

messages.error(request, _( "로그인 정보가 올바르지 않습니다. 다시 입력해주세요." ))

5-1. Horizon 컨테이너 재시작

docker restart horizon

이제 수정한 메시지가 정상적으로 반영되었는지 확인하세요.


💡 최종 요약

✔ django.po에서 "Invalid credentials." 메시지를 원하는 문구로 변경
✔ msgfmt -o django.mo django.po 명령어 실행하여 .mo 파일 생성
✔ Django 캐시(.pyc 파일) 삭제
✔ Horizon 컨테이너 재시작 (docker restart horizon)
✔ 적용되지 않을 경우 views.py 직접 수정