安装和使用devstack的笔记
使用virtualbox创建了一个CentOS7的VM,建议配置内存6GB,一个host-only网卡192.168.10.22方便本机访问,一个NAT网卡用来接入Internet。
一
替换/准备pip源
[root@zhangguoqing-devstack ~]#
mkdir -p .pip/
[root@zhangguoqing-devstack ~]# vim
.pip/pip.conf
[global]
timeout =
300
index-url =
http://pypi.v2ex.com/simple
[install]
trusted-host =
pypi.v2ex.com
二
设置devstack
yum -y install git
tmux wget lrzsz
创建stack用户(devstack不允许用root用户)
[root@localhost ~]#
cd devstack
[root@localhost ~]#
./tools/create-stack-user.sh
[root@localhost ~]#
mv devstack /opt/stack
[root@localhost ~]#
chown -R stack:stack
/opt/stack/devstack
[root@localhost ~]#
su stack
[stack@localhost ~]$
cd /opt/stack/devstack
[stack@localhost ~]$
cp samples/local.conf ./
[stack@zhangguoqing-devstack
devstack]$ vim local.conf
[[local|localrc]]
# Manager Network
IP
HOST_IP=192.168.10.22
SERVICE_TOKEN=password
ADMIN_PASSWORD=password
DATABASE_PASSWORD=password
RABBIT_PASSWORD=password
SERVICE_PASSWORD=$ADMIN_PASSWORD
# Enable
mysql/mariadb
enable_service
mysql
# Enable
Neutron
ENABLED_SERVICES+=,q-svc,q-agt,q-dhcp,q-l3,q-meta,neutron
# Enable
senlin
enable_plugin senlin
https://git.openstack.org/openstack/senlin
enable_plugin
senlin-dashboard
https://review.openstack.org/openstack/senlin-dashboard
enable_plugin
python-senlinclient
https://review.openstack.org/openstack/python-senlinclient
执行部署
[stack@zhangguoqing-devstack
devstack]$ ./stack.sh
安装过程中出现的错误:
ImportError: No module named
xmlrpc_client
解决方法:
pip uninstall
six
easy_install six
安装完成后测试:
[stack@localhost ~]$
source devstack/openrc admin admin
[stack@localhost ~]$
keystone endpoint-list
[stack@localhost ~]$
nova service-list
[stack@localhost ~]$
neutron agent-list
[stack@localhost ~]$
senlin cluster-list
使用浏览器访问
[root@localhost ~]#
iptables -I INPUT -p tcp --dport 80 -j
ACCEPT
[root@localhost ~]#
iptables -I INPUT -p tcp --dport 22 -j ACCEPT
访问数据库:
grant all privileges on
*.* to 'root'@'%' identified by 'password' with grant
option;
flush
privileges;
*.*代表所有的数据库中的所有表;root代表用户名;%代表任意的主机名或IP地址;passwrod为root访问密码
[root@localhost ~]#
iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
重启devstack所在的机器后需要启动的服务
[stack@localhost ~]$
sudo systemctl restart mariadb
[stack@localhost ~]$
sudo systemctl restart rabbitmq-server.service
[stack@localhost ~]$
sudo systemctl restart openvswitch
[stack@localhost ~]$
./devstack/rejoin-stack.sh
解决c-vol中ERROR cinder.service [-] Manager for service
cinder-volume localhost.localdomain@lvmdriver-1 is reporting
problems, not sending heartbeat. Service will appear
"down". 的问题
[stack@localhost ~]$
sudo losetup -f
/opt/stack/data/stack-volumes-default-backing-file
[stack@localhost ~]$
sudo losetup -f
/opt/stack/data/stack-volumes-lvmdriver-1-backing-file
重新进入新的screen的方法
[stack@localhost ~]$
screen -d xxx
[stack@localhost ~]$
screen -t xxx
[stack@localhost ~]$
killall screen
[stack@localhost ~]$
devstack/rejoin-stack.sh
Ctrl+a
再按 n
转到下一个运行screen
Ctrl+a
再按 p
转到上一个运行screen
Ctrl+a
再按 d
退出当前screen session
开发过程中如果修改了某个项目的代码,需要重启screen对应的进程,进入后Ctrl+c终止当前进程,然后向上翻看命令,回车重新执行即可。