📌 OpenStack CLI 클라이언트(python-openstackclient)를 로컬에서 직접 개발하고 디버깅하기 위한 VSCode 환경 구축 방법을 정리합니다.
git clone https://github.com/openstack/python-openstackclient.git
cd python-openstackclient
📄 공식 문서: OpenStack CLI configuration
clouds:
devstack:
auth:
auth_url: http://<ip>/identity
project_name: admin
domain_name: Default
username: admin
password: password
region_name: RegionOne
VSCode에서 OpenStackClient CLI 명령어를 직접 디버깅 모드로 실행하기 위해 launch.json을 설정합니다.
⚙️ 설정 방법
3-1. VSCode → 좌측 Run and Debug → Create a launch.json file
3-2. Python 선택 후 아래처럼 설정
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"args": [
"--os-cloud", "devstack", "image", "list"
],
"console": "integratedTerminal",
"env": {
"OS_PROJECT_NAME": "admin",
"OS_TENANT_NAME": "admin",
"OS_USERNAME": "admin",
"OS_PASSWORD": "password", // 비밀번호 변경 및 주석 삭제
"OS_REGION_NAME": "RegionOne",
"OS_IDENTITY_API_VERSION": "3",
"OS_AUTH_TYPE": "password",
"OS_AUTH_URL": "http://<ip>/identity", // <ip> 변경 및 주석 삭제
"OS_VOLUME_API_VERSION": "3",
"OS_USER_DOMAIN_ID": "default",
"OS_PROJECT_DOMAIN_ID": "default",
"CINDER_VERSION": "3"
}
}
]
}
💡 args에는 실행하려는 CLI 명령어와 옵션을 공백 기준으로 나누어 각각 배열의 요소로 입력해야 합니다.
"args": [
"--os-cloud", "devstack", "image", "list"
]
python -m openstackclient.shell --os-cloud devstack image list
4-1. 프로젝트 루트에서 가상환경 생성
```
python -m venv venv
```
4-2. VSCode → Ctrl + Shift + P → Python: Select Interpreter → 생성한 venv 폴더 내 python 선택
💡 수동으로 실행
# Mac/Linux
source venv/bin/activate
# Windows
venv\Scripts\activate
OpenStackClient를 개발 모드로 설치합니다.
pip install -r requirements.txt
python setup.py develop
🖇️ 참고
| 기능 | python setup.py install | python setup.py develop |
|---|---|---|
| egg-info 위치 | 시스템에 설치된 site-packages 디렉터리에 생성 | 개발 중인 소스 디렉터리 내에 egg-info 생성 |
| egg-info 내용 | 패키지의 메타데이터가 포함된 .egg-info 생성 | 수정된 소스와 연결된 egg-info로 실시간 반영 |
| 소스 코드 수정 반영 | 수정 후 다시 설치 필요 | 소스 코드 수정 후 바로 반영 |
| 패키지 연결 | 시스템에 설치된 패키지로 연결됨 | 패키지의 소스 코드가 계속 참조되므로, 실시간으로 수정 사항 반영 |
6-1. VSCode에서 openstackclient/shell.py 선택
6-2. 상단 Run > Start Debugging (F5) 클릭
6-3. 아래처럼 OpenStack CLI 명령어(openstack image list)와 동일한 결과 확인 가능

⚡ 모든 인증 정보는 clouds.yaml 또는 launch.json의 args에서 --os-cloud devstack으로 처리합니다