📘 Day 57 (2025.09.02.TUE) - OpenStack dev 설치

💻 VM 환경 설정
  • 랜카드 2개: 호스트 전용 어댑터, 어댑터의 브릿지
  • 하드 용량: 50GB
⚠️ 실습 주의사항
  1. IP 주소, 패스워드 등은 실습 환경에 맞게 변경
  2. 에러 발생 시 설정값 확인 (버전별 차이가 있음 → 구글/공식문서 참고)
  3. 시스템 환경에 맞게 설정 변경 후 실행
  4. ./stack.sh 실행 전 반드시 스냅샷 저장
  5. 하드디스크는 50GB 권장 (25GB 시 용량 부족 발생)
📕 DevStack 설치
root@ubuntu:~# useradd -U -G sudo -s /bin/bash -m stack
root@ubuntu:~# echo "stack ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
root@ubuntu:~# passwd stack

stack@ubuntu:~$ git clone https://git.openstack.org/openstack-dev/devstack
stack@ubuntu:~$ cd devstack
stack@ubuntu:~/devstack$ vi local.conf

local.conf 설정:

[[local|localrc]]
HOST_IP=192.168.56.109
SERVICE_HOST=192.168.56.109
MYSQL_HOST=192.168.56.109
RABBIT_HOST=192.168.56.109
GLANCE_HOSTPORT=192.168.56.109:9292
ADMIN_PASSWORD=openstack
DATABASE_PASSWORD=openstack
RABBIT_PASSWORD=openstack
SERVICE_PASSWORD=openstack

# Nova-Network 비활성화
disable_service n-net

# Neutron 활성화
ENABLED_SERVICES+=,q-svc,q-dhcp,q-meta,q-agt,q-l3

## Neutron 네트워크 옵션
Q_USE_SECGROUP=True
FLOATING_RANGE="192.168.0.0/24"
FIXED_RANGE="10.0.0.0/24"
Q_FLOATING_ALLOCATION_POOL=start=192.168.0.100,end=192.168.0.200
PUBLIC_NETWORK_GATEWAY="192.168.0.1"
PUBLIC_INTERFACE=enp0s8

# Open vSwitch 프로바이더 네트워킹 환경설정
Q_USE_PROVIDERNET_FOR_PUBLIC=True
OVS_PHYSICAL_BRIDGE=br-enp0s8
PUBLIC_BRIDGE=br-enp0s8
OVS_BRIDGE_MAPPINGS=public:br-enp0s8
🔄 2차 설치 방법
sudo apt update
sudo apt install -y python3-dev python3-pip python3-venv git \
  libffi-dev gcc libssl-dev \
  libxml2-dev libxslt1-dev zlib1g-dev \
  net-tools nodejs npm

local.conf:

[[local|localrc]]
HOST_IP=192.168.56.132
ADMIN_PASSWORD=pass
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD

# Nova
enable_service n-api n-cond n-cpu n-sch n-novnc

# Neutron (OVN 대신 OVS 예시)
disable_service n-net
enable_service q-svc q-agt q-dhcp q-l3 q-meta neutron

# Horizon
enable_service horizon
🖼️ 설치 실행
stack@ubuntu:~/devstack$ ./stack.sh

주의: 설치 중 네트워크 브릿지가 생기면 xshell 접속이 끊길 수 있음 → 서버 내부에서 직접 실행

🐞 에러 해결

Neutron 활성화 관련:

disable_service q-agt
enable_service ovn-northd
enable_service ovn-controller
enable_service q-ovn-metadata-agent
enable_service neutron
🌐 Neutron 네트워크 구성
stack@ubuntu:~$ ifconfig
stack@ubuntu:~$ sudo ovs-vsctl show
stack@ubuntu:~$ sudo ip netns show

stack@ubuntu:~$ sudo ip netns exec qrouter-xxxx ifconfig
stack@ubuntu:~$ sudo ip netns exec qdhcp-xxxx ifconfig
💻 첫 번째 인스턴스 생성
stack@ubuntu:~$ openstack user list
stack@ubuntu:~$ openstack network list
stack@ubuntu:~$ openstack help network
stack@ubuntu:~$ openstack help network create