您的位置:首页 > 运维架构

搭建DevStack中遇到的问题及解决办法

2016-12-23 17:09 218 查看

说明

由于是第一次搭建DevStack环境,在安装过程中遇到了很多问题,这里尽可能全的把自己当时遇到的问题都记录下来,给大家提供一个参考。

这里给出的都是折腾了自己好久的问题,因为每次重新执行
./stack.sh
的过程都是漫长的,失败了就要重来,导致从最开始搭建,到第一次成功,耗费了好几天时间。

搭建时使用的是:Ubuntu 14.04 + DevStack(Mitaka)+ OpenStack(Mitaka)版本。

为了方便说明,这里统一将Ubuntu虚拟机称为宿主机。

问题

超时

问题1

问题描述:

已经配置了pip的源,将它已经改成国内的地址了,为什么在安装过程中,进行到某些步骤,还是因超时失败,查看日志发现,安装时部分步骤并没有到我指定的国内镜像上去下载包。

解决思路:

首先查看宿主机的
/root/.pip/pip.conf
文件,其配置是否正确;接下来查看stack用户的目录(通常默认是/opt/stack)下,是否有相应的
./pip
目录和里面的
pip.conf
文件,如果没有,请按照
/root
目录下对应的目录及文件进行配置。如果有,则请查看对应目录和文件的用户组和用户是否是“stack”,如果不是请立即更改。完成以上步骤后,请重启一下虚拟机,然后重新执行
./stack.sh
命令。

问题2

问题描述:

已经在宿主机上配置好了pip的国内源,在执行
./stack.sh
命令时,仍会报超时失败。

解决思路:

说实话,这个没有什么特别好的解决办法,只取决于你环境的网络条件。

当然,你也可以像我一样,换一个pip的国内源试试。比如清华大学的镜像,就我自己使用情况看,也是不错的。但你在安装时到底能使用哪一个,还得参考Python官方所记录的一些镜像地址。因为有时你要用时,这些源就不支持了。

需要源的话,还请从这里入口:https://pypi-mirrors.org

问题3

问题描述:

已经将pip两处配置,以及Ubuntu自己apt的配置都改过了,也重启过宿主机,但有些软件包还是下载超时,比如某些以
.whl
结尾的软件包。

解决思路:

这个问题,在我自己搭建的时候真的遇到过。执行stack命令怎么都下不下来,手动执行命令下载就可以。

所以,如果你和我一样的话,建议还是手动下载吧。可以使用Linux自带的
wget
命令。

比如,我曾在安装时,提示说“PyECLib-1.2.0-cp27-none-linux_x86_64.whl”下载失败,重复了好几次,始终无法成功,手动就可以。最后就是手动下载下来,然后将其放到对应目录下(具体目录需要你查看回显信息或日志,这个包就提示说在
/usr/local/lib/python2.7/dist-packages
目录下),再重新执行
./stack.sh
命令就能继续执行下去。

问题4

问题描述:

自己的配置文件中,需要从网上下载
cirros-0.3.4-x86_64-disk.img
镜像,一直下不下来。

解决思路:

可参见问题3解决方法,手动下载。然后放到
/home/devstack/files
目录下。

其它问题

问题1

问题描述:

执行安装命令时,提示在目录
/usr/local/lib/python2.7/dist-packages/openstack
下,
session.py
文件中,语句“DEFAULT_USER_AGENT = “openstacksdk/%s” % openstack.__version__”这里获取不到版本号。

解决思路:

自己尝试过很多方法,都没有奏效,后来只好自己看看这块代码,发现它是导入了openstack,于是想到到这个目录下的
__init__.py
文件中看看。打开该文件,就一行:
__version__ = pbr.version.VersionInfo('openstacksdk').version_string()


于是手动加了
print()
看看这里能否获取到。手动执行后是能获取到的(0.8.1)。

于是手动改了之前
session.py
文件中那个赋值语句,再次执行
./stack.sh
就可以正常通过了。

遗留:这个问题究竟是为什么会出现,如果有知道的朋友,还请能够在这里留言,谢谢!

问题2

问题描述:

执行安装过程,其中提示如下错误:

“500 Internal Server Error: The server has either erred or is incapable of performing the requested operation. (HTTP 500)”

产生的阶段是在:

“openstack –os-cloud=devstack-admin image create cirros-0.3.4-x86_64-disk -public –container-format=bare –disk-format qcow2”

解决思路:

可能是之前的一个bug,Ubuntu16.04也有类似的问题,参见:https://bugs.launchpad.net/devstack/+bug/1589197

由于我不是必须要使用swift,因此我先执行
./unstack.sh
,然后在
local.conf
中,将swift的东西都注掉了,再次重新执行
./stack.sh
,能够正常执行。

遗留:如果要使用swift该如何解决?有思路的朋友还请回复,多谢!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐