如何搭建本地的PIP源提高Devstack和venv环境的安装速度

如何搭建本地的PIP源提高Devstack和venv环境的安装速度,第1张

使用这些工具都能下载并安装django。Distribute是对标准库disutils模块的增强,我们知道disutils主要是用来更加容易的打包和分发包,特别是对其他的包有依赖的包。安装Distribute可以通过distribute_setup.py 脚本来安装Distribute,也可以通过easy_install, pip,源文件来安装,不过使用distribute_setup.py来安装是最简单和受欢迎的方式Pip 是安装python包的工具,提供了安装包,列出已经安装的包,升级包以及卸载包的功能。Pip 是对easy_install的取代,提供了和easy_install相同的查找包的功能,因此可以使用easy_install安装的包也同样可以使用pip进行安装。安装PipPip的安装可以通过源代码包,easy_install或者脚本。easy_install:$ easy_install pipOK, 下面来看一下Pip的使用安装package$ pip install Markdown列出安装的packages$ pip freeze安装特定版本的package通过使用==, >=, <=, >, <来指定一个版本号。$ pip install 'Markdown<2.0'$ pip install 'Markdown>2.0,<2.0.3'升级包升级包到当前最新的版本,可以使用-U 或者 --upgrade$ pip install -U Markdown卸载包$ pip uninstall Markdown查询包pip search "Markdown"提问者评价谢谢!

1、git clone

git://github.com/openstack-dev/devstack.git

2、cd devstack./stack.sh

但devstack貌似如果安装的姿势不对,各种坑爹的bug。

首先讲一下我成功部署的环境

win7 64 bit里开VMware虚拟机,安装Ubuntu 12.04 32 bit

Desktop。

如果Ubuntu是32bit的,那么运行stack.sh之前,需要修改stackrc Line 115-116中,两处的cirros-0.3.0-x86_64-uec都改成cirros-0.3.0-i386-uec,或者全局替换所有的也没关系。原因就是本文后面的“注意点 1”所讲的,让openstack加载的demo image是32bit的,而不是64bit的。若这个文件下载出错,也可以手动进入http://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-i386-uec.tar.gz,下载后的文件放在/opt/stack/devstack/files下面,再次运行stack.sh。

第一次运行stack.sh时,会指示输入一连串密码。以后再运行stack.sh,就不会要求输入密码了,因为第一次输入的密码已经被保存在localrc中了,再次运行时将默认使用该密码。(11.10里有bug,不会在home里的devstack下生成localrc,但是/opt/stack/devstack下还是会有localrc。)

openstack需要在stack用户下配置和运行,因此stack.sh运行一开始,就会给系统创建名为stack的用户。这个用户的主目录在/opt/stack/,而不是一般的/home/stack。以后如果要用命令行配置openstack,一般都要进入stack用户身份。

运行成功之后,如图显示:

可以用浏览器登录所指示的ip,如图中的10.214.24.146,默认用户名是admin和demo,密码是一开始自己设置的。所登录的管理界面是openstack的dashboard,是一个Django程序。

可以用已经存在的demo image创建一个虚拟机实例。创建后要稍等片刻,等到实例的状态显示“Active”后,才能通过VNC控制台进入虚拟机。貌似直接显示的VNC无法输入命令,需要点击上方蓝色提示框的“Click here to show only VNC”,之后才能正常输入用户名密码登录,如图:

用默认的用户名cirros、密码cubswin:)登录成功之后,就可以 *** 控该虚拟机实例了:

部署的注意点:

1、上述环境中的stack.sh运行后会有一个bug,就是清除了DNS配置文件/etc/resolv.conf的内容,里面所有nameserver项都没有了,所以运行前可以先备份一下,或者运行后再修改,都是可以的。

2、VMware所在的环境(即这里的Win 7)应该关系不大,但是安装的Ubuntu是32bit还是64bit对后面使用openstack加载镜像时是很有关系的,因此最好慎重选择。

简单来说,就是如果openstack所在的 *** 作系统环境是32bit的,那么就openstack里所虚拟的 *** 作系统image就只能是32bit的,反之就只能是64bit的。

如图所示,在32bit的Ubuntu上运行的openstack如果试图部署64bit的image所生成的实例,在boot时会失败,并提示如下:

3、最新版devstack貌似在ubuntu 11.10上有bug。

部署失败的环境:我一开始是用

独立系统32bit Ubuntu 11.10 Desktop,git最新的devstack,

结果貌似最新版devstack还不太稳定,会出现奇怪的bug:stack.sh在部署好openstack组件组件之后,有一步是安装一个仅为6M的小image(stack.sh里叫做Install Images),用来做demo用的,但是在运行到

TOKEN=$(keystone token-get | grep ‘ id ‘ | get_field2)

这句时,TOKEN获得的内容为空,导致后面用glance创建三个image时所使用的TOKEN不正确,因此无法创建,stack.sh中断运行。不过虽然有这个BUG,但貌似openstack还是装好了,只是demo没有弄好。

4、运行stack.sh时,网络环境一定要好。

如果选的软件源速度太慢,或者网络环境本身太差(=_=比如ZJU曹光彪主楼的烂网,强烈建议用有线+30米以上VPN),运行stack.sh下载不到依赖软件时会终止运行。万一终止运行时,可以再重新跑一遍,反正已经下载和安装的依赖软件它不会重复搞的。如果重复多次还是遇到“无法获取”或者“校验码错误”的问题,那么建议更换更快的网络环境或软件源。

12.04的163的软件源貌似比较慢,我用ubuntu自动选择软件源的方式,测试出来貌似ZJU这里cn99的速度最快。

5、运行stack.sh失败后,重新运行前要先killall screen killall python

声明:

本博客欢迎转发,但请保留原作者信息!

博客地址:http://blog.csdn.net/halcyonbaby

内容系本人学习、研究和总结,如有雷同,实属荣幸!

安装运行create-stack-user.sh脚本时,当前目录不要是devstack

安装时如果提示pbr版本不对

运行pip install --upgrade pbr, pip install --upgrade setuptools

安装时提示下载超时,可以使用pip install --upgrade安装失败的包

安装时提示提示mysql没权限执行下列命令:

service mysqld stop

mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

mysql -u root mysql

UPDATE user SET Password=PASSWORD() where USER='root'

FLUSH PRIVILEGES

quit

service mysqld stop

devstack默认卷容量比较小(10G),安装时可以调整(stack用户下导入该环境变量)

export VOLUME_BACKING_FILE_SIZE=102500M

安装openstack需要访问pypi网站,超时失败的话

可以运行./unstack.sh, ./stack.sh解决

系统重启后,需要运行rejoin.sh,运行前需要重新恢复卷组

losetup -f /opt/stack/data/stack-volumes-backing-file

安装完成后发现卷容量较小,可以使用如下方法调整

devstack安装默认lvm后端容量为10G。

后续可以通过以下方式修改:

qemu-img create -f raw 100G

losetup -f

pvcreate

vgextend

注:vg_name可以通过vgdisplay显示。

安装时pip显示”No module named pkg resources“错误

$ wget http://python-distribute.org/distribute_setup.py

$ python distribute_setup.py

详细参考http://stackoverflow.com/questions/7110360/easy-install-and-pip-doesnt-work

启动虚拟机失败,错误“some rules could not be created for interface vnet0”

原因:

关闭防火墙后没有重新启动libvirtd

解决办法:

重新启动libvirtd

控制节点意外掉电后重启,mysql启动失败,同时导致neutron-server无法启动

rm -rf /var/lib/mysql/mysql.sock然后重启节点

出现错误:failed to create /opt/stack/horizon/openstack_dashboard/local/

解决:执行setenforce 0

关闭devstack的所有screen

解决:screen -wipe


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/7983871.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存