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


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


二維碼+指紋.png


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM