本帖最后由 xioaxu790 于 2015-6-11 14:39 编辑
我们部署OpenStack时,常常哀伤基于多种原因,会提示因包下载不全或不能下载而导致安装错误。
现在,我们有了一劳永逸的办法,不信? 请往下看
注意
- 如果,你出现了以上情况,你需要将依赖包下载并缓存,放进你下载的OpenStack-juno包文件夹里,使用createrepo –-update OpenStack-juno命令更新repodate文件。
- 这里,我们做的本地包,用的是红帽的rpm包,如果要做Ubuntu的包,改成其他地址即可。
前提
安装一台CentOS-7-x86_64-Minimal-1503-01.iso最小版的虚拟机,什么软件都不要安装,能上外网就行。
一.第一种方法
1、配置缓存
[mw_shl_code=applescript,true]# cat /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=1 #设置为1,启用缓存[/mw_shl_code]
2、安装源
[mw_shl_code=bash,true]yum install -y http://mirrors.zju.edu.cn/epel/7 ... ease-7-5.noarch.rpm
yum install -y https://repos.fedorapeople.org/r ... e-juno-1.noarch.rpm[/mw_shl_code]
3、下载,并缓存OpenStack包
这里的yum install安装命令,是根据openstack官网安装文档来的。
这里,为了稍微自动化些,我把它写成了Shell脚本文件,这样就不需要手动一条条命令copy、回车执行。
[mw_shl_code=bash,true]#!/bin/sh
yum install -y createrepo #这是用来打包用的,生成repodata文件
yum install -y ntp
yum install -y yum-plugin-priorities
yum install -y openstack-selinux
yum install -y mariadb mariadb-server MySQL-python
yum install -y rabbitmq-server
yum install -y openstack-keystone python-keystoneclient
yum -y install openstack-glance python-glanceclient
yum install -y openstack-nova-api openstack-nova-cert openstack-novaconductor \
openstack-nova-console openstack-nova-novncproxy openstack-novascheduler \
python-novaclient
yum install -y openstack-nova-compute sysfsutils
yum install -y openstack-neutron openstack-neutron-ml2 python-neutronclient \
which
yum install -y openstack-neutron openstack-neutron-ml2 openstack-neutronopenvswitch
yum install -y openstack-neutron-ml2 openstack-neutron-openvswitch
yum install -y openstack-nova-network openstack-nova-api
yum install -y openstack-dashboard httpd mod_wsgi memcached pythonmemcached
yum install -y openstack-cinder targetcli python-oslo-db MySQL-python
yum install -y openstack-swift-proxy python-swiftclient python-keystoneauth-token \
python-keystonemiddleware memcached
yum install -y xfsprogs rsync
yum install -y openstack-swift-account openstack-swift-container \
openstack-swift-object
yum install -y openstack-heat-api openstack-heat-api-cfn openstack-heatengine \
python-heatclient
yum install -y mongodb-server mongodb
yum install -y openstack-ceilometer-api openstack-ceilometer-collector \
openstack-ceilometer-notification openstack-ceilometer-central \
openstack-ceilometer-alarm \
python-ceilometerclient
yum install -y openstack-ceilometer-compute python-ceilometerclient pythonpecan
yum install -y openstack-trove python-troveclient
yum install -y openstack-sahara python-saharaclient
执行脚本
# chmod +x openstack.sh && ./openstack.sh[/mw_shl_code]
4、这里,我们将/var/cache/yum/x86_64/7目录下的openstack-juno包文件夹,mv到/root/juno目录中。
[mw_shl_code=bash,true]# cd /var/cache/yum/x86_64/7
# ls
base epel extras openstack-juno timedhosts timedhosts.txt updates
# mv ./openstack-juno /root[/mw_shl_code]
5、createrepo打包
[mw_shl_code=bash,true]# pwd
/root/openstack-juno[/mw_shl_code]
[mw_shl_code=bash,true]# createrepo packages/
Spawning worker 0 with 89 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete[/mw_shl_code]
6、使用openstack包
我们可以以rdo、手动、devstack、或其它部署方式,来灵活、方便的使用,我们自己做的本地openstack包,明显,安装非常快!
二.第二种方法
用wget命令,来一劳永逸的下载包,有可能仍需要解决某些依赖关系。
如下:
[mw_shl_code=bash,true]# wget -c -r -np -k -L -p https://repos.fedorapeople.org/r ... nstack-juno/epel-7/[/mw_shl_code]
三.第三种方法
1、接着第一种方法的第2步之后,通过rdo在线安装来缓存包。
[mw_shl_code=bash,true]yum install -y openstack-packstack # 安装packstack包
packstack --gen-answer-file /root/answer.txt # 生成一个answer-file文件[/mw_shl_code]
2、编辑answer.txt文件。
3、执行安装
packstack --answer-file /root/answer.txt
大概用了近一个小时的时间,便在线安装好了all in one模式的openstack节点,真的很快,前提是你安装了epel源后,如图所示:
如果,你有任何问题,可以博客或QQ交流
##########################
作者:菩提没有树
博客:http://chaoxu.sinaapp.com/
|