如何更新 OpenStack 組件?- 天天5分鐘玩轉 OpenStack(161)

這是 OpenStack 實施經驗分享系列的第 11 篇。python


本節教你們更新 OpenStack 組件的方法。請注意,是更新(Update)而不是升級(Upgrade)。更新是給組件打補丁,版本不變;而升級是刷新版本,好比從 kilo 升級到 liberty。git

 

更新真的有必要嗎?

 

對於已經部署好的 OpenStack,咱們有更新某個組件的需求嗎? 答案是:有!github

OpenStack 是軟件,是軟件就會有 bug。 OpenStack 包含了不少組件,結構很鬆散,每一個組件能夠單獨更新,只要保證各個組件都屬於同一個大版本(好比 kilo, liberty)就不會有問題。spa


當咱們遇到了 bug,若是社區已經有 fix,只須要更新包含該 fix 的組件就能夠了,其餘組件保持不變。ip

 

下面以 nova 組件爲例演示如何更新。 假設目前部署的 OpenStack 是 kilo,如今發現了一個 bug,須要升級,最簡單的辦法是升級到 nova 在 kilo 裏的最新版本,步驟以下:開發

 

  1. 從 github clone nova。部署

  2. 切換到 kilo 的最新版本。get

  3. 安裝 nova python 源碼。源碼

  4. 重啓全部 nova-* 服務。it

 

從 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 的案例。

 

二維碼+指紋.png

相關文章
相關標籤/搜索