分享

OpenStack rpm打包(制作本地源)

本帖最后由 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]
2.png

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源后,如图所示:
1.png

如果,你有任何问题,可以博客或QQ交流

##########################
作者:菩提没有树
博客:http://chaoxu.sinaapp.com/



没找到任何评论,期待你打破沉寂

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条