devstack note 01

来源:互联网 发布:特效字体软件下载 编辑:程序博客网 时间:2024/06/11 03:08
#  VERSION INFO:
## devstack:stable/essex
## nova: 2012-2 folosom https://bugs.launchpad.net/nova/+bug/880964
## others: please check *_BRANCH in the stackrc
###################################################
Here is the devstack/stack.sh STEPS.
STEP 1: keep the dir
STEP 2: import functions
STEP 3: get os version
STEP 4: source stackrc and localrc
STEP 5: set install dest path
STEP 6: check apt| pip files
STEP 7: check devstack is or not running
STEP 8: set user stack sudo priv
STEP 9: set the conf for openstack projects
STEP 10: install packages by apt|pip|git
STEP 11: initialization by python setup develop
STEP 12: set syslog
STEP 13: set rabbit
STEP 14: set mysql
STEP 15: set horizon
STEP 16: set glance
STEP 17: set quantum and melange if selected
STEP 18: set nova
STEP 19: set virtualization conf
STEP 20: set instance storage
STEP 21: clean iptables
STEP 22: set swift
STEP 23: set nova-volume
STEP 24: set nova.conf
STEP 25: launch services
STEP 26: upload an img to glance
STEP 27: show the horizon access url and install warning

components      launch_service  remark
n-*             nova            nova services
g-*             glance          glance services
key*            keystone        keystone services
horizon         horizon         horizon services
swift           swift           swift services
quantum         quantum         quantum services
q-agt           q-agt           if quantum use the Quantum
                                openvswitch plugin need it.             
melange         melange         melange services
m-svc           m-svc           start the melange service need it.
mysql           mysql           mysql services
rabbit          rabbit          rabbit services

Here is detail ideas?
0. set -o xtrace
1. get the useful info: sys_info env_info(default,custom) func_info(common,components)  files_info(defaults).
2. get and set the paths:top_dir top_dest_dir .
3. warn users about not support install env: distro(centos).
4. check the old install, clear them(env,launched_services,screens?).
5. set install user "stack" and add to sudo.
6. conf the installed env: dest_dir components_conf common_conf(log_conf,error_conf)
7. install project dependency packages: apt|pip
8. install project components: git
   here the components: nova keystoneclient novaclient and ENABLE_SERVICE
9. initialization components: project components(python setup.py develop) syslog rabbit mysql screen ENABLED_SERVICE
10. set components: horizon(if enabled) glance(if enabled) quantum(if enabled) melange(if enabled) nova(n-api,n-cpu,n-net) swift(if enabled) n-vol(if enabled) key(if enabled and setting when launched)
11. launch services: glance(g-reg,g-api) key nova(n-api,mysql,n-net{nova-manage network create},n-cpu,n-crt,n-vol,n-net,n-sch,n-novnc,n-xvnc,n-cauth) horizon swift n-obj(when the swift is not enabled)
12. upload the img to glance.
13. print the access info.


issue list:
1. why you will lose all connectivity to the hostip, when the first vm launch?
if you set NET_MAN=FlatDHCPManager, there will be a hiccup while the network is moved from the flat interface to the flat network bridge.

2. how to install quantum?
(1) ENABLE_SERVICES include quantum,q-svc
(2) network manager = QuantumManager
2.1 if you plan to use the Quantum openvswitch plugin
(1) Q_PLUGIN = openvswitch
(2) ENABLE_SERVICES include q-agt
and then with quantum net the NET_MAN var is ignored

3. nova-objectstore | swift?
if no swift, nova use nova-objectstore

4. how to get the install and screen log info ?
(1) devstack install log: set LOGFILE in localrc
(2) screen log: set SCREEN_LOGDIR in localrc
    screen -S stack -p $1 -X logfile ${SCREEN_LOGDIR}/screen-${1}.${CURRENT_LOG_TIME}.log
    screen -S stack -p $1 -X log on

5. why set -o xtrace?
print the cmd being run.

6. how to install require packages?
(1) Just support apt package.
(2) put the packages in diff components files.
(3) use # NOPRIME and # dist:DISTRO limits the install and selection.