Devstack可用于快速安装和部署Openstack环境,对于Openstack开发人员来说,是构建开发环境、debug的利器。下面对Devstack的安装和使用进行简单介绍。
1. 获取devstack
git clone https://github.com/openstack-dev/devstack.git
2. 创建devstack用户
由于devstack不支持使用root用户直接安装,所以需要为devstack创建一个用户。这里可以使用系统中已创建的非root用户,也可以使用devstack提供的create-stack-user.sh自动创建新的用户。
3. 修改目录权限
Chmod -R stack:stack $devstack_path
4. 用户配置
此步用于一些定制化配置,如devstack的默认配置已能满足需求,则可略过。
在devstack目录下创建localrc文件。添加以下配置内容:
HOST_IP=127.0.0.1
disable_service n-net
enable_service q-svc
enable_service q-agt
enable_service q-dhcp
enable_service q-l3
enable_service q-meta
enable_service neutron
enable_service n-novnc
DATABASE_PASSWORD=passw0rd
RABBIT_PASSWORD=passw0rd
SERVICE_TOKEN=passw0rd
SERVICE_PASSWORD=passw0rd
ADMIN_PASSWORD=passw0rd
以上主要配置了ip、相关服务的密码、开启了novnc、neutron,关闭了nova-network。
5. 安装
./stack.sh
1. Source
source openrc <username> <tenant>
2. 查看每个服务的log
screen -ls
ether@ether:~/devstack$ screen -ls
There is a screen on:
17701.stack (12/02/2014 04:03:04 AM) (Detached)
1 Socket in /var/run/screen/S-ether.
Screen -r 17701
使用Ctrl + A, shift + ‘查看所有的window,每一个服务在一个window中,切换window查看对应的log
相关screen命令:
移到下一个window:CRTL + A + n
移到前一个window:CRTL + A + p
直接跳到 0 ~9 的某window,比如上图中的第7个:CRTL + A + 7
直接跳到第10个以后的window,比如第17个:CRTL + A + ',输入 17
在screen window中滚动屏幕:开始滚动模式 CTRL + [,然后可以使用上下左右键滚屏,按 CTRL + ] 退出滚动模式
3. 重启服务
切换到服务对应的window中,Ctrl + C中断服务,arrow up键调出历史命令,重启服务。
4. Debug
在对应的代码中添加pdb调试语句,使用-d参数重启服务。