openstack学习-入门1
来源:互联网 发布:武汉家装哪家好 知乎 编辑:程序博客网 时间:2024/06/17 22:01
背景
公司刚好想要了解了解的私有云的一些东西,作为趟路的人就先学习相关知识,openstack(python系),cloudstack(java系)。对于我这种只会搞c/c++,学习过python的人,当然更倾向于python系,何况现在好像openstack的流行度比cloudstack要高。
环境
ubuntu14.04LTS、python2.7.6、jdk7在部署另外的应用中已经安装过,初次接触也不知道这个jdk是否有用。
编译
编译的过程就相对而言比较简单,直接命令
- 下载git及devstack:
sudo apt-get install git
cd /home
sudo git clone
https://github.com/openstack-dev/devstack.git 创建用户及修改密码、权限等:
cd /home/devstack/tools
./create-stack-user.sh
sudo chown -R stack:stack /home/devstack
passwd stackvim /etc/sudoers
# User privilege specification
root ALL=(ALL:ALL) ALL
stack ALL=(ALL:ALL) ALL- 切换用户:
su stack - 增加配置文件
将localrc放到目录/home/devstack/下
(在附件中上传localrc) 执行stack.sh
问题
下面详细的记录自己碰到问题的解决方法,这个才是重点。
问题1
subunit not found
解决办法:
sudo apt-get install python-pip
sudo pip install –upgrade pip
sudo pip install -U os-testr问题2
Download of get-pip.py failed
解决办法:
wget https://bootstrap.pypa.io/ez_setup.py
sudo python distribute_setup.py
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
然后在devstack/tools目录下,找到install_pip.py,注释
install_get_pip这个函数调用。问题3
pip not found in /opt/stack/.vnc/bin/
解决办法:
cd /opt/stack/.vnc/bin/
sudo ln -sf /usr/local/bin/pip pip问题4
碰到最多的要属:timeout错误. 最好的办法是手工下载
因为就算修改源后,发现还是非常多的timeout
a. python的源: pypi.python.org
这个源下载后通过sudo python .. install 或者
sudo pip install *.whl 两种方式进行安装
b.openstack的源: github
将文件下载好后放入到 /opt/stack/目录下问题5
权限不足问题,比如无法创建or打
开:/usr/local/lib/python2.7/dist-packages/parsley.pyc
解决办法:
sudo chown -R
stack:stack /usr/local/lib/python2.7/dist-packages/问题6
docutils工具运行失败
解决办法
因为自己的机器是python2.7, 而最新版本的docutils已经是
python3.0版本,所以,下载老版本0.9. 因为从0.10开始就支
持了python3.0了
sudo pip install *.whl问题7
/opt/stack/requirements/.venv/bin/edit-constraints:
No such file or directory
解决办法:
查看错误信息:
/opt/stack/requirements/.venv/bin/edit-constraints
/opt/stack/requirements/upper-constraints.txt –
keystone ‘-e file:///opt/stack/ keystone#egg=keystone’
/opt/stack/requirements/.venv/bin/edit-constraints: No
such file or directory
这个edit-constraints 明显是一个工具啊!这个工具是
ubuntu ? python?
百度没有给出答案!
最终在网上终于找到了一个地方,
在/opt/stack/requirements/openstack_requirements路径
下竟然有一个文件edit-constraints.py
如果用python 直接安装,会有什么结果呢?
尝试后,果然在/usr/bin/中生成一个工具edit-constraints.顺利解决上面的问题解决办法:
sudo python
/opt/stack/requirements/openstack_requirements/setup.py install问题8
困扰很久的Keystone无法初始化成功的问题
解决办法:
通过查看日志得到错误信息是pymysql库的错误
因为现在的openstack已经开始进行py3转移了,
keystone它默认设置的是pymysql作为链接字串
在/etc/keystone/keystone.conf的[database]中可以看到:
[database]
connection =
mysql+pymysql://root:123456@127.0.0.1/keystone?
charset=utf8
知道python的小同学们都知道python中支持py3的数据库驱动(独此一家?我知道支持py3的只有这个)。
现在我们用的版本是python2.7 因此修改字串,以mysqldb的当时进行链接(python官方、mysql官方给的驱动就是它了),修改如下
[database]
connection =
mysql://root:123456@127.0.0.1/keystone?charset=utf8另外修改后会发现该文件还是会再次重新生成
为了将/home/devstack/lib/databases中的
MYSQL_DRIVER : 将pymysql 修改为mysql-python在localrc中追加配置
MYSQL_DRIVER=MYSQL-python
KEYSTONE_TOKEN_FORMAT=UUID另外:/etc/keystone/keystone.conf中
[token] 模块下是默认使用pki作为token的provider, 但是pki会造成编译错误,因为对pki不了解,所以采用粗鲁的办法,按照上面的做法在localrc中追加配置 KEYSTONE_TOKEN_FORMAT=UUID,将token的provider直接改为uuid问题9
+lib/keystone:create_keystone_accounts:368 local admin_project
++lib/keystone:create_keystone_accounts:369 openstack project show admin -f value -c id
Discovering versions from the identity service failed when creating the password plugin. Attempting to determine version from URL.
解决办法:
暂时没有发现有效的解决办法,按照网上的大神些说道的
export no_proxy=…
chmod 777 /etc/openvswitch/….
等等。统统无效
然后自己把devstack,keystone模块统统的使用
git reset –hard后,
./unstack.sh
./stack.sh
问题竟然解决了!!!问题10
screen -x stack
Cannot open your terminal ‘/dev/pts/1’ - please check
解决办法:
su stack
script /dev/null
初学这个,学的相当艰苦,不过把里面的很多东西都摸了一遍,对openstack的stack.sh有了一点点了解,算是解决这些问题的意外收获吧!
另外吐槽个某陈…克老师,在百度上找到很多他的文章。然而对问题的解决真心不太对,,可能是自己太菜了,没有理解回复的解决问题的办法的精髓。
localrc 的下载地址:
http://download.csdn.net/detail/swjtu_ran/9688696
期待以后自己能在这块一直进步,不过可能因为要养家糊口的因素,不一定能持之以恒的做自己想做的事情,勉self!
- openstack学习-入门1
- openstack-入门学习2
- openstack-入门学习2
- openstack入门学习全进程
- OpenStack入门1
- OpenStack 入门学习:openstack网络详解(Essex版)
- OpenStack 学习笔记-1
- openstack学习笔记1
- OpenStack学习笔记-1
- OpenStack入门
- openstack入门
- OpenStack入门
- openstack zaqar 学习 Day 1
- OpenStack云计算快速入门1
- OpenStack云计算快速入门(1)
- Openstack学习笔记(一)——入门
- openstack入门学习笔记(一) 各组件介绍
- OpenStack 入门学习之一: OpenStack是什么、版本演变、组件关系(Havana)、同类产品及个人感想
- 关于数据库的安装配置
- MySQL 1364 错误解决办法
- 【Android图像处理】光照滤镜(效果)
- 解决区块链三大问题的利器
- 【编程技巧】——输入输出优化
- openstack学习-入门1
- 数据库字符集
- cocos Error set
- 二叉树的所有路径
- tensorflow学习笔记四:mnist实例--用简单的神经网络来训练和测试
- C# Socket编程 服务端与客户端(四) 异步服务端
- SSL 和 TLS
- 1.1.8、嵌入式和单片机的区别
- TCP与Http混合开发,实现WEB应用与Windows桌面应用或者是单片机之间的通信