This is your host IP address: 192.168.0.105
This is your host IPv6 address: ::1
Horizon is now available at http://192.168.0.105/dashboard
Keystone is serving at http://192.168.0.105:5000/
The default users are: admin and demo
The password: 123456
2017-01-21 08:46:05.167 | stack.sh completed in 746 seconds.
喔喔,这是成功了吗,可以登录了。
好了,还是言归正传:
工作环境:vmware 12
操作系统:ubuntu 14.04.5
虚拟机配置 内存: 4G , CPU : 4核 ,开启VTx-d等选项,内存是越大越好,不过俺的主机内存有限。
安装完后:
root@ubuntu:~# free -h
total used free shared buffers cached
Mem: 3.8G 3.7G 151M 3.2M 100M 1.1G
-/+ buffers/cache: 2.5G 1.3G
Swap: 1.0G 744K 1.0G
apt源可以使用国内的默认源,也可以使用其他国内的源,不过博主居然遇到cn.archive.ubuntu.com当机了。。。
因此测试了一下阿里的源,貌似比较稳定,于是:
sed -i "s/cn.archive.ubuntu.com/mirrors.aliyun.com/g" /etc/apt/sources.list
apt-get update
pip的设置(首先创建目录: mkdir ~/.pip && vim ~/.pip/pip.conf):
# use TryStack git mirror
GIT_BASE=http://git.trystack.cn
NOVNC_REPO=http://git.trystack.cn/kanaka/noVNC.git
SPICE_REPO=http://git.trystack.cn/git/spice/spice-html5.git
#OFFLINE=True
RECLONE=True
# Define images to be automatically downloaded during the DevStack built process.
DOWNLOAD_DEFAULT_IMAGES=False
IMAGE_URLS="http://images.trystack.cn/cirros/cirros-0.3.4-x86_64-disk.img"
ADMIN_PASSWORD=123456
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
Traceback (most recent call last):
File "/usr/local/bin/openstack", line 7, in <module>
from openstackclient.shell import main
File "/usr/local/lib/python2.7/dist-packages/openstackclient/shell.py", line 32, in <module>
from openstackclient.common import clientmanager
File "/usr/local/lib/python2.7/dist-packages/openstackclient/common/clientmanager.py", line 293, in <module>
'openstack.cli.base',
File "/usr/local/lib/python2.7/dist-packages/openstackclient/common/clientmanager.py", line 264, in get_plugin_modules
__import__(ep.module_name)
File "/usr/local/lib/python2.7/dist-packages/openstackclient/network/client.py", line 16, in <module>
from openstack import connection
File "/usr/local/lib/python2.7/dist-packages/openstack/connection.py", line 68, in <module>
from openstack import session as _session
File "/usr/local/lib/python2.7/dist-packages/openstack/session.py", line 29, in <module>
DEFAULT_USER_AGENT = "openstacksdk/%s" % openstack.__version__
AttributeError: 'module' object has no attribute '__version__
好吧,发现是/usr/local/lib/python2.7/dist-packages/openstack/session.py里执行失败:
代码行: DEFAULT_USER_AGENT = "openstacksdk/%s" % openstack.__version__
于是如下处理一下:
root@ubuntu:~# python
Python 2.7.6 (default, Oct 26 2016, 20:30:19)
[GCC 4.8.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import openstack
>>> import pbr.version
>>> print(pbr.version.VersionInfo('openstacksdk').version_string())
0.8.1
>>> quit()
root@ubuntu:~#
修改为: DEFAULT_USER_AGENT = "openstacksdk/0.8.1"
cd ~/devstack
./unstack.sh
./clean.sh
./stack.sh
好运的话,会一次安装成功吧。
然而博主是经历了断断续续历时约12个小时失败才安装成功。。。
5、如何重启devstack
devstack重启脚本是rejoin-stack.sh,但是git下来的版本却没有,只好去网上找一个,如下:
#!/usr/bin/env bash
# This script rejoins an existing screen, or re-creates a
# screen session from a previous run of stack.sh.
TOP_DIR=`dirname $0`
# Import common functions in case the localrc (loaded via stackrc)
# uses them.
source $TOP_DIR/functions
source $TOP_DIR/stackrc
# if screenrc exists, run screen
if [[ -e $TOP_DIR/stack-screenrc ]]; then
if screen -ls | egrep -q "[0-9].stack"; then
echo "Attaching to already started screen session.."
exec screen -r stack
fi
exec screen -c $TOP_DIR/stack-screenrc
fi
echo "Couldn't find $TOP_DIR/stack-screenrc file; have you run stack.sh yet?"
exit 1
vim ~/devstack/rejoin-stack.sh将上面的内容复制进去。