목차

OpenStack 개발환경 설정

🗓️

최소 개발환경 설정

  • mac, pyenv, cursor ai 환경

Python 가상환경

pyenv 설치

brew install pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init --path)"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc
source ~/.zshrc
pyenv install 3.11
mkdir openstack-dev
cd openstack-dev
pyenv local 3.11
python -m venv OCA-OpenStack
source OCA-OpenStack/bin/activate

이 과정이 끝나면 해당 터미널 세션 내에서는 OCA-OpenStack 의 파이썬 가상환경이 유지된다.

OpenStack 최소 개발환경

OCA-OpenStack 있는 디렉토리 내에서 진행

git clone https://opendev.org/openstack/python-openstackclient
git clone https://opendev.org/openstack/osc-lib
git clone https://opendev.org/openstack/openstacksdk
pip install -r python-openstackclient/requirements.txt
pip install -r python-openstackclient/test-requirements.txt

개발에 필요한 최소 환경 setup.py 실행

cd python-openstackclient
python setup.py develop

cd ../openstacksdk
python setup.py develop

cd ../osc-lib
python setup.py develop

cd ..

Cursor 설정

OCA-OpenStack 있는 디렉토리 내에서 진행

cursor .
  • Cmd + Shift + P > Python: Select Interpreter 인터프리터 설정 필수 (OCA-OpenStack 내 파이썬)

디버거 설정

  • OpenStack 이 설치된 환경이 필요하다.
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python Debugger: Python File",
            "type": "debugpy",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal",
            "args": ["project", "list",],
            "env": {
                "OS_PROJECT_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://OPENSTACK_VIP:KEYSTONE_PORT",
                "OS_USER_DOMAIN_NAME": "default",
                "OS_PROJECT_DOMAIN_NAME": "default",
                "OS_VOLUME_API_VERSION": "3",
            }
        }
    ]
}

디버거 기본 테스트

  • python-openstackclient/openstackclient/shell.py 열기
  • F5 키 실행

터미널이 시작되며 아래 실행결과가 나온다

cd .../openstack-dev ; /usr/bin/env .../openstack-dev/OCA-OpenStack/bin/python .cursor/extensions/ms-python.debugpy-2025.8.0-darwin-arm64/bundled/libs/debugpy/adapter/../../debugpy/launcher 59970 -- .../openstack-dev/python-openstackclient/openstackclient/shell.py project list
+----------------------------------+-----------------+
| ID                               | Name            |
+----------------------------------+-----------------+
| 192c04b2879c4e123441c9d2c3d8f563 | service         |
| 2849242423b64c4685f8f37b4b2f9205 | admin           |
+----------------------------------+-----------------+

🏷️