这是 OpenStack 实施经验分享系列的第 11 篇。

本节教大家更新 OpenStack 组件的方法。请注意,是更新(Update)而不是升级(Upgrade)。更新是给组件打补丁,版本不变;而升级是刷新版本,比如从 kilo 升级到 liberty。

更新真的有必要吗?

对于已经部署好的 OpenStack,我们有更新某个组件的需求吗? 答案是:有!

OpenStack 是软件,是软件就会有 bug。 OpenStack 包含了很多组件,结构很松散,每个组件可以单独更新,只要保证各个组件都属于同一个大版本(比如 kilo, liberty)就不会有问题。

当我们遇到了 bug,如果社区已经有 fix,只需要更新包含该 fix 的组件就可以了,其他组件保持不变。

下面以 nova 组件为例演示如何更新。 假设目前部署的 OpenStack 是 kilo,现在发现了一个 bug,需要升级,最简单的办法是升级到 nova 在 kilo 里的最新版本,步骤如下:

  1. 从 github clone nova。

  2. 切换到 kilo 的最新版本。

  3. 安装 nova python 源码。

  4. 重启所有 nova-* 服务。

从 github clone nova

OpenStack 的所以代码都是在 github 上维护的,每个模块有自己的 repository. nova 的 repository 在 https://github.com/openstack/nova

点击 “Branches”,可以看到 nova 最近的几个版本。

咦,怎么没有 kilo? 别着急,点击 “Tags”。

这里有 kilo-eol,"eol" 表示 “end of life”,意味着 nova 对于 kilo 不在更新了,是 kilo 的最终版本。如果要更新 kilo 上的 nova,用这个版本就行了。

通过 git clone 命令下载 nova,下载链接如下:

运行命令:

git clone https://github.com/openstack/nova.git

切换到 kilo 的最新版本

下载完成后,查看当前的 branch 为 master:

切换到 kilo-eol:

确认目前已经是 kilo-eol 了:

安装 nova python 源码

OpenStack 用 python 开发,更新版本很简单,只需要通过 pip 命令安装新版本的源代码就行了,没有编译等步骤。

在 nova 目录下执行如下命令:

pip install .

nova 已经从 nova-2015.1.3.dev1 更新到 nova-2015.1.4 了。

重启所有 nova-* 服务

所有运行了 nova-* 服务的节点(控制节点和计算节点)都需要更新源代码并重启服务,最简单的方法是重启整个节点。

至此,nova 组件更新完成。下节我们将再分享一个 troubleshooting 的案例。

如何更新 OpenStack 组件?- 每天5分钟玩转 OpenStack(161)的更多相关文章

  1. Troubleshooting OpenStack 瘫痪 - 每天5分钟玩转 OpenStack(160)

    这是 OpenStack 实施经验分享系列的第 10 篇.是软件就会有 bug,OpenStack 也不例外,只要用它就一定会遇到故障.Troubleshooting(故障排除)是运维 OpenSta ...

  2. OpenStack 架构 - 每天5分钟玩转 OpenStack(15)

    终于正式进入 OpenStack 部分了. 今天开始,CloudMan 将带着大家一步一步揭开 OpenStack 的神秘面纱. OpenStack 已经走过了 6 个年头. 每半年会发布一个版本,版 ...

  3. 教你看懂 OpenStack 日志 - 每天5分钟玩转 OpenStack(29)

    instance 从创建到删除的整个生命周期都是由 Nova 管理的. 后面各小节我们以 instance 生命周期中的不同操作场景为例,详细分析 Nova 不同组件如何协调工作,并通过日志分析加深大 ...

  4. 如何使用 OpenStack CLI - 每天5分钟玩转 OpenStack(22)

    本节首先讨论 image 删除操作,然后介绍 OpenStack CLI 的使用方法,最后讨如何 Troubleshoot. Web UI 删除 image admin 登录后,Project -&g ...

  5. 每天5分钟 玩转OpenStack 目录列表

    最近在学习 OpenStack 的相关知识,一直苦于 OpenStack 的体系庞大以及复杂程度,学习没有进度,停滞不前.偶然机会在 51CTO 上发现了一个热点的专题关于 OpenStack 的,题 ...

  6. 写在最前面 - 每天5分钟玩转 OpenStack(1)

    <每天5分钟玩转 OpenStack>是一个 OpenStack 教程,这是第 1 篇. 这个教程有下面两个特点: 系统讲解 OpenStack 从架构到各个组件:从整体到细节逐一讨论 重 ...

  7. 如何滚动更新 Service?- 每天5分钟玩转 Docker 容器技术(102)

    在前面的实验中,我们部署了多个副本的服务,本节将讨论如何滚动更新每一个副本. 滚动更新降低了应用更新的风险,如果某个副本更新失败,整个更新将暂停,其他副本则可以继续提供服务.同时,在更新的过程中,总是 ...

  8. Nova 组件如何协同工作 - 每天5分钟玩转 OpenStack(24)

    Nova 物理部署方案 前面大家已经看到 Nova 由很多子服务组成,同时我们也知道 OpenStack 是一个分布式系统,可以部署到若干节点上,那么接下来大家可能就会问: Nova 的这些服务在物理 ...

  9. 学习 OpenStack 的方法论 - 每天5分钟玩转 OpenStack(150)

    作为 OpenStack 的核心教程,我们已经到了最后总结的部分. OpenStack 目前已经有好几十个模块,本教程讨论的是最最重要的核心模块:Keystone,Nova,Glance,Cinder ...

随机推荐

  1. Android文件管理,实现全选,删除等操作

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 1.例中数据是读 ...

  2. apache的工作模式 和 最大连接数设置

    经过测试 效果明显 (1)首选查看apache的工作模式 windows下的查看apache的工作模式命令:httpd -l 如果列出mod_win32.c,则表示是 win32.c 工作方式. 列出 ...

  3. Java jsp 示例

    <!DOCTYPE html> <!-- [ published at 2015-11-13 12:30:50 ] --> <html> <head> ...

  4. 解决Centos 7 下 tomcat字体异常 Font '宋体' is not available to the JVM

    错误提示: SEVERE: Servlet.service() for servlet [example] in context with path [/myproject] threw except ...

  5. 介绍一个开源的在线管理SQLServer的小工具--SQLEntMan

    近来有许多人问起SQL在线管理的问题,遂将以前用过的一个开源SQL 在线管理工具修改了一下,并分享. 看下效果图: 原项目的地址:http://sourceforge.net/projects/asp ...

  6. 使SSH不用输入密码

    1. 自动ssh/scp方法== A为本地主机(即用于控制其他主机的机器) ;B为远程主机(即被控制的机器Server), 假如ip为192.168.60.110;A和B的系统都是Linux 在A上运 ...

  7. 访问 Neutron 外部网络 - 每天5分钟玩转 OpenStack(143)

    前面我们学习了位于不同 Neutron subnet 的 instance 可以通过 router 通信,今天开始讨论 instance 如何访问外部网络. 这里的外部网络是指的租户网络以外的网络.租 ...

  8. Java错题

    加粗为正确答案,绿色为错选答案 1.对于以下代码: for ( int i=0; i<10; i++)  System.out.println(i); for循环后,i的值是多少? A.i不再存 ...

  9. 微信小程序教程(第三篇)

    小程序的架构及实现机制,信道服务及会话管理 小程序架构及实现机制 小程序并不是 H5 应用,而是更偏向于传统的 CS 架构,它是基于数据驱动的模式,一切皆组件(视图组件).所以建议在开发小程序时不要以 ...

  10. 基于basys2用verilog设计多功能数字钟(重写)

    话不多说先上图         前言 自从学习FPGA以来,唯一做过的完整系统就是基于basys2得多功能数字表.记得当时做的时候也没少头疼,最后用时间磨出来了一个不是很完整的小系统,当时还是产生了满 ...