写在前面的话,在网上看了一个国外的一键安装视频,我也照着做,结果出现很多错误,现在把坑解决了,照着做肯定能安装成功的

环境

  virtualhost 下的centos7

配置

  双网卡 一个10网段,nat通信用 一个192网段 和宿主机通信使用

  2c 这个测试部署的话,不是强要求,我部署后CPU也就占20%

  5.4G内存 我的宿主机也就8G内存 配到这个数据已经很卡了 再次PS

  安装完成要占用约5G左右的内存

部署

  由于我的是nat 网络,所以先配置双网卡,否则部署后,不能正常访问openstack的管理网页,因为需要修改到这个参数,这个到后面再说

  双网卡配置略过,自己在网上查吧很多的。实在找不到就留言

正式开始

  1-设置yum源01_setyum.sh(非常重要,虽然出了openstack 专用的yum源,但那不是咱们能用的),我做成了脚本样子的,直接拷贝拿去用,镜像源用的是清华源,因为阿里源有的包跳转到404的链接还在上面,后面一键安装的时候就会坑哭你,亲测。。都是泪。脚本正文如下

#创建备份路径
mkdir -p /etc/yum.repos.d/bak_tmp/
#移走当前的所有源,为什么?因为一键安装会乱跳,跳到不能用的就报错,然后你就安装失败
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak_tmp/
#创建yum 文件
touch /etc/yum.repos.d/centos-tuna.repo
#导入镜像内容到yum文件中
cat >>/etc/yum.repos.d/centos-tuna.repo << EOF
#CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
# [base]
name=CentOS-\$releasever - Base
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/\$releasever/os/\$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=\$releasever&arch=\$basearch&repo=os
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #released updates
[updates]
name=CentOS-\$releasever - Updates
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/\$releasever/updates/\$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=\$releasever&arch=\$basearch&repo=updates
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #additional packages that may be useful [centosplus]
name=CentOS-\$releasever - Plus
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/\$releasever/centosplus/\$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=\$releasever&arch=\$basearch&repo=centosplus
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
[cloud]
name=CentOS-\$releasever - Cloud
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/\$releasever/cloud/\$basearch/openstack-ocata/
enabled=1
gpgcheck=0
[paas]
name=CentOS-\$releasever - paas
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/\$releasever/paas/\$basearch/openshift-origin13/
enabled=1
gpgcheck=0
[kvm]
name=CentOS-\$releasever - kvm
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/\$releasever/virt/\$basearch/kvm-common/
enabled=1
gpgcheck=0 EOF
#清除yum缓存
yum clean all
#重新做yum 缓存
yum makecache

  2-配置环境 02_setenv.sh

cat >/etc/environment <<EOF
LANG=en_US.utf-
LC_ALL=en_US.utf-
EOF systemctl disable firewalld
systemctl stop firewalld
systemctl disable NetworkManager
systemctl stop NetworkManager
systemctl enable network
systemctl restart network

  3-安装一键部署包 03_set_openstack-packstack.sh

yum -y update
yum install -y openstack-packstack
#报错无法安装openstack-selinux 没有相关依赖包,通过增加paas 镜像源解决
yum install -y openstack-selinux
yum -y install wget
#--提示缺少libLibev.so.()(64bit)
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum -y install libev
#有可能yum源混乱了,所以重新执行yibian
mkdir -p /etc/yum.repos.d/bak_tmp_1
mv /etc/yum.repos.d/*.repo /etc/yum.repo.d/bak_tmp_1/
mv /etc/yum.repos.d/bak_tmp_1/centos-tuna.repo /etc/yum.repos.d/
yum clean all
yum makecache
#解决python-werkzeug 不在cloud源,在virt里面,所以找不到此包
wget -O /root/python-werkzeug-0.9.1-1.el7.noarch.rpm https://mirrors.tuna.tsinghua.edu.cn/centos/7/virt/x86_64/ovirt-4.3/common/python-werkzeug-0.9.1-1.el7.noarch.rpm
rpm -ivh /root/python-werkzeug-0.9.1-1.el7.noarch.rpm

  执行到这里才完成一点点,为了保险。重新进入到yum文件夹

cd /etc/yum.repos.d/
ll
#确认当前只有一个centos-tuna.repo

  确认完成执行最后一步安装操作,也就是出错最多的操作

#-d 表示debug 日志级别
packstack --allinone -d

  安装成功的样例如下

  比较长,就不展开了 

[root@openstack-allinone yum.repos.d]# packstack --allinone -d
Welcome to the Packstack setup utility The installation log file is available at: /var/tmp/packstack/--CWIVyN/openstack-setup.log Installing:
Clean Up [ DONE ]
Discovering ip protocol version [ DONE ]
Setting up ssh keys [ DONE ]
Preparing servers [ DONE ]
Pre installing Puppet and discovering hosts' details [ DONE ]
Preparing pre-install entries [ DONE ]
Setting up CACERT [ DONE ]
Preparing AMQP entries [ DONE ]
Preparing MariaDB entries [ DONE ]
Fixing Keystone LDAP config parameters to be undef if empty[ DONE ]
Preparing Keystone entries [ DONE ]
Preparing Glance entries [ DONE ]
Checking if the Cinder server has a cinder-volumes vg[ DONE ]
Preparing Cinder entries [ DONE ]
Preparing Nova API entries [ DONE ]
Creating ssh keys for Nova migration [ DONE ]
Gathering ssh host keys for Nova migration [ DONE ]
Preparing Nova Compute entries [ DONE ]
Preparing Nova Scheduler entries [ DONE ]
Preparing Nova VNC Proxy entries [ DONE ]
Preparing OpenStack Network-related Nova entries [ DONE ]
Preparing Nova Common entries [ DONE ]
Preparing Neutron LBaaS Agent entries [ DONE ]
Preparing Neutron API entries [ DONE ]
Preparing Neutron L3 entries [ DONE ]
Preparing Neutron L2 Agent entries [ DONE ]
Preparing Neutron DHCP Agent entries [ DONE ]
Preparing Neutron Metering Agent entries [ DONE ]
Checking if NetworkManager is enabled and running [ DONE ]
Preparing OpenStack Client entries [ DONE ]
Preparing Horizon entries [ DONE ]
Preparing Swift builder entries [ DONE ]
Preparing Swift proxy entries [ DONE ]
Preparing Swift storage entries [ DONE ]
Preparing Gnocchi entries [ DONE ]
Preparing MongoDB entries [ DONE ]
Preparing Redis entries [ DONE ]
Preparing Ceilometer entries [ DONE ]
Preparing Aodh entries [ DONE ]
Preparing Puppet manifests [ DONE ]
Copying Puppet modules and manifests [ DONE ]
Applying 10.0..28_controller.pp
10.0..28_controller.pp: [ DONE ]
Applying 10.0..28_network.pp
10.0..28_network.pp: [ DONE ]
Applying 10.0..28_compute.pp
10.0..28_compute.pp: [ DONE ]
Applying Puppet manifests [ DONE ]
Finalizing [ DONE ] **** Installation completed successfully ****** Additional information:
* A new answerfile was created in: /root/packstack-answers--.txt
* Time synchronization installation was skipped. Please note that unsynchronized time on server instances might be problem for some OpenStack components.
* File /root/keystonerc_admin has been created on OpenStack client host 10.0.2.28. To use the command line tools you need to source the file.
* To access the OpenStack Dashboard browse to http://10.0.2.28/dashboard .
Please, find your login credentials stored in the keystonerc_admin in your home directory.
* Because of the kernel update the host 10.0.2.28 requires reboot.
* The installation log file is available at: /var/tmp/packstack/--CWIVyN/openstack-setup.log
* The generated manifests are available at: /var/tmp/packstack/--CWIVyN/manifests
* Note temporary directory /var/tmp/packstack/503a14fac81b4a29937e3fc3f14381f5 on host 10.0.2.28 was not deleted for debugging purposes.
You have new mail in /var/spool/mail/root

  失败的案例如下

Preparing Redis entries                              [ DONE ]
Preparing Ceilometer entries [ DONE ]
Preparing Aodh entries [ DONE ]
Preparing Puppet manifests [ DONE ]
Copying Puppet modules and manifests [ DONE ]
Applying 10.0..28_controller.pp
10.0..28_controller.pp: [ ERROR ]
Applying Puppet manifests [ ERROR ] ERROR : Error appeared during Puppet run: 10.0..28_controller.pp
Error: Execution of '/usr/bin/yum -d 0 -e 0 -y install openstack-aodh-notifier' returned : Error downloading packages:
You will find full trace in log /var/tmp/packstack/--TbxiNW/manifests/10.0..28_controller.pp.log
Please check log file /var/tmp/packstack/--TbxiNW/openstack-setup.log for more information
Additional information:
* A new answerfile was created in: /root/packstack-answers--.txt
* Time synchronization installation was skipped. Please note that unsynchronized time on server instances might be problem for some OpenStack components.
* File /root/keystonerc_admin has been created on OpenStack client host 10.0.2.28. To use the command line tools you need to source the file.
* To access the OpenStack Dashboard browse to http://10.0.2.28/dashboard .
Please, find your login credentials stored in the keystonerc_admin in your home directory.
* Note temporary directory /var/tmp/packstack/ff08df80e03e49f49e802dd352ea13e0 on host 10.0.2.28 was not deleted for debugging purposes.
不要慌,检查你的文件夹下的yum 源,全部移除到备份文件夹
yum makecache
重新开始执行

  部署成功后验证登陆,ip 为你自己虚拟机的ip,主要看

more /etc/httpd/-hrion*.conf #记不清全拼了,找到这个文件
增加一个serveralias 192.168.x。x #宿主机和虚拟机能正常通信的IP
#重启
systemctl restart httpd

  千辛万苦就是要看到这么一个图。爬坑也是花时间的,现在总结在这里。祝你们测试部署成功

    登陆的账号密码在

--密码文件在root用户目录下
cat /root/keystonerc_admin
复制OS_USERNAME=admin
OS_PASSWORD=XXXX

  结束语

  这次的部署获益良多,要感谢阿里云yum源的一个功能,就是在页面可以支持搜索包,这样我就知道这个包在哪个文件夹下,也是感谢清华yum源的给力,通过在阿里yum搜索到的包,去清华yum源找到对应的页面 ,一步步配置到第一步设置的yum中。才能正常的安装这个一键安装包。否则在vpn的龟速下是很难正常完成一键部署的安装,这个一键部署的openstack 主要还是用来体会一下openstack是一个怎么样使用的。自己装一次,比看10次文档还印象深刻。

如何一步步使用国内yum源一键安装openstack-ocata版本基于centos7的更多相关文章

  1. (转)国内yum源的安装(163,阿里云,epel)

    国内yum源的安装(163,阿里云,epel) ----阿里云镜像源 1.备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS ...

  2. 国内yum源的安装(163,阿里云,epel)

    ----阿里云镜像源 1.备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 2.下载新的 ...

  3. CentOS7配置更新国内yum源

    备份本地yum源文件 cd /etc/yum.repo.d/ mv CentOS-Base.repo CentOS-Base.repo.bakeup 下载国内yum源 阿里云yum源 wget htt ...

  4. CentOS7修改为国内yum源

    备份源yum源 如果是国内下载的CentOS很可能国内YUM源已经设置好了. 备份/etc/yum.repos.d/下的*.repo文件. 在CentOS中配置使用网易和阿里的开源镜像 wget ht ...

  5. contos 配置国内yum源

    contos配置国内yum源 前言 rpm管理软件包的命令,很难用,需要手动解决以来关系,所以最好用 yum 的理念是使用一个中心仓库(repository)管理一部分甚至一个distribution ...

  6. contos配置国内yum源

    contos配置国内yum源 前言 rpm管理软件包的命令,很难用,需要手动解决以来关系,所以最好用 yum 的理念是使用一个中心仓库(repository)管理一部分甚至一个distribution ...

  7. 替换国内yum源以及pip源

    因为一些原因,不论是网络还是啥啥啥的原因,国外的源访问时不时的很慢,这时候我们就可以将国外的源替换为国内源,提高下载速度. yum源替换 环境:centos7(如果你的发行版本不是这个,此方法不保证能 ...

  8. redhat centos yum源的安装

    redhat centos yum源的安装 1.除旧 #cd /etc/yum.repos.d #mv rhel-debuginfo.repo rhel-debuginfo.repo.bak 此处将其 ...

  9. redhat更改yum源及安装PHP环境

    redhat更新yum源 删除同RHEL一同安装的yum源 rpm -qa|grep yum #查看本地yum yum list | wc -l #看个数 yum install pip #看现象 r ...

随机推荐

  1. day04:购物车的练习(20170216)

    product_list = [ ('IPhone',5900), ('Mac pro',9800), ('Bike',800), ('Watch',16000), ('Coffee',35), (' ...

  2. mysql小白系列_07 锁与事务

    1.MySQL参数autocommit生产环境设1还是0?为什么? 2.MySQL参数tx_isolation生产环境上大多数是设什么值,为什么? 3.与MySQL锁相关的有哪些因素? 1.MySQL ...

  3. [Asp.Net Core] Blazor Server Side 扩展用途 - 配合CEF来制作带浏览器核心的客户端软件 (二) 可运行版本

    前言 大概3个星期之前立项, 要做一个 CEF+Blazor+WinForms 三合一到同一个进程的客户端模板. 这个东西在五一的时候做出了原型, 然后慢慢修正, 在5天之前就上传到github了. ...

  4. Java——动态创建Class(不写入文件,直接从内存中创建class)

    原文:https://blog.csdn.net/zhao_xinhu/article/details/82499062#commentsedit 参考:https://www.cnblogs.com ...

  5. Java程序员的两项通用能力

    工作这几年来,经历了很多.从小白到中级(手机里有一款叫中国象棋的游戏,里面给对弈中电脑水平分为小白.菜鸟.新手.入门.初级.中级.高级.大师.特级大师,编程我暂且按照这样来区分). 学校教给我的是从小 ...

  6. Kivy主窗体大小的控制

    1. 引入依赖模块 主窗体大小的控制,需要使用到kivy.core.window中的Window模块 from kivy.app import App from kivy.core.window im ...

  7. 剑指offer——数据结构

    技术面重点:数组.字符串.链表.树.栈以及队列.

  8. Pycharm虚拟环境的使用

    Pycharm虚拟环境的使用 pycharm创建项目的时候,一定勾选inhert global site-packages.不然系统的库就没法用了. 打开Project Interpreters页面: ...

  9. Java的四种权限修饰符

    private:仅对本类可见 缺省(不需修饰符):对本包可见 protected:对本包及所有子类可见 public:对所有类可见 修饰符: * 权限修饰符:private,默认的,protected ...

  10. js函数中的this关键字

    关于这个this关键字,也是很多项目中常常被用到的,那么,有人也许会问,干嘛要用this呢,在函数被调用时,直接指明是什么对象在调用不就行了?还整那么个模模糊糊的概念出来干嘛?不过嘛,存在即真理,既然 ...