진짜 개발자
본문 바로가기

Cloud 교육

11주-1일차 (devstack 설치)

728x90

1. stack 사용자 생성

useradd -s /bin/bash -d /home/stack -m stack


echo "stack ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers.d/stack


. 사용자 변경 devstack 디렉토리 생성

sudo su - stack


. local.conf 파일 생성후 아래내용 기입


. git에서 다운

git clone -b stable/queens https://github.com/openstack-dev/devstack.git


.devstack 디렉토리로 이동하여 local.conf 파일 생성 후 아래내용 기입

# default
HOST_IP=1.0.0.62
SERVICE_HOST=1.0.0.62

# Compute 을 여러대 설치
#MULTI_HOST=True

# Private subnet
FIXED_RANGE=10.1.0.0/24

# Nova-network service
#enable_service n-net
#FIXED_NETWORK_SIZE=256
#FLOATING_RANGE=192.168.75.192/26
#FLAT_INTERFACE=eth1
#PUBLIC_INTERFACE=eth0

# Neutron External subnet
#NETWORK_GATEWAY=10.0.0.1
FLOATING_RANGE=10.0.0.0/23
PUBLIC_NETWORK_GATEWAY=10.0.0.1
Q_FLOATING_ALLOCATION_POOL=start=10.0.0.15,end=10.0.0.16

# Neutron configuration
Q_PLUGIN=ml2
Q_AGENT=openvswitch
Q_ML2_PLUGIN_MECHANISM_DRIVERS=openvswitch,linuxbridge,l2population
Q_ML2_TENANT_NETWORK_TYPE=gre
Q_AGENT_EXTRA_AGENT_OPTS=(tunnel_type=gre)
Q_AGENT_EXTRA_SRV_OPTS=(local_ip=$HOST_IP)
Q_USE_NAMESPACE=True
Q_USE_SECGROUP=True

# Nova service
enable_service n-api
enable_service n-crt
enable_service n-obj
enable_service n-cpu
enable_service n-cond
enable_service n-sch
enable_service n-novnc
enable_service n-cauth

# Cinder service
enable_service cinder
enable_service c-api
enable_service c-vol
enable_service c-sch
enable_service c-bak

# Tempest service
enable_service tempest

# Neutron service
disable_service n-net
enable_service neutron
enable_service q-svc
enable_service q-agt
enable_service q-dhcp
enable_service q-l3
enable_service q-meta
enable_service q-lbaas

# Controller Node
Q_HOST=$SERVICE_HOST

# vnc
VNCSERVER_LISTEN=0.0.0.0
VNCSERVER_PROXYCLIENT_ADDRESS=$HOST_IP

# logs
DEST=/opt/stack
LOGFILE=$DEST/logs/stack.sh.log
SCREEN_LOGDIR=$DEST/logs/screen

# system password
ADMIN_PASSWORD=It1234
MYSQL_PASSWORD=It1234
RABBIT_PASSWORD=It1234
SERVICE_PASSWORD=It1234
SERVICE_TOKEN=admin

# Cinder configuration
VOLUME_GROUP="cinder-volumes"
VOLUME_NAME_PREFIX="volume-"

# Heat service
enable_service heat
enable_service h-api
enable_service h-api-cfn
enable_service h-api-cw
enable_service h-eng

# Ceilometer service
enable_service ceilometer
enable_service ceilometer-acompute
enable_service ceilometer-acentral
enable_service ceilometer-collector
enable_service ceilometer-api
enable_service ceilometer-alarm-singleton
enable_service ceilometer-alarm-notifier

# Swift service
enable_service s-proxy
enable_service s-object
enable_service s-container
enable_service s-account

# Trove service
enable_service trove
enable_service tr-api
enable_service tr-tmgr
enable_service tr-cond


KEYSTONE_CATALOG_BACKEND=sql
API_RATE_LIMIT=False
SWIFT_HASH=testing
SWIFT_REPLICAS=1

# github branch
GLANCE_BRANCH=stable/queens
HORIZON_BRANCH=stable/queens
KEYSTON_BRANCH=stable/queens
NOVA_BRANCH=stable/queens
NEUTRON_BRANCH=stable/queens
HEAT_BRANCH=stable/queens
CEILOMETER_BRANCH=stable/queens
SWIFT_BRANCH=stable/queens
TROVE_BRANCH=stable/queens
TEMPEST_BRANCH=stable/queens

#scheduler
SCHEDULER=nova.scheduler.filter_scheduler.FilterScheduler

# A clean install every time
#RECLONE=yes