這篇文章將為大家詳細(xì)講解有關(guān)OpenStack開發(fā)源碼該如何獲取及下載,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序定制開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了永安免費(fèi)建站歡迎大家使用!
OpenStack 是一種基礎(chǔ)架構(gòu)即服務(wù) (IaaS) 云計(jì)算項(xiàng)目。
資源通過一個(gè)儀表板來管理,該儀表板向管理員提供了控制權(quán),并通過一個(gè) Web 接口為用戶提供了配置資源的權(quán)利。本文將介紹如何設(shè)置帳戶、設(shè)置開發(fā)環(huán)境以及如何開始為 OpenStack 做貢獻(xiàn)。
第 1 步:通過在線注冊和密鑰配置來設(shè)置帳戶
設(shè)置您的 Launchpad 帳戶。Launchpad 是 OpenStack 用來托管其所有項(xiàng)目的位置。請?jiān)L問 Launchpad 登錄頁面,使用您的電子郵件地址進(jìn)行注冊,并為自己選擇一個(gè)便于記憶的 Launchpad ID。然后訪問 https://launchpad.net/~LaunchpadID,設(shè)置您的 OpenPGP 密鑰,并使用該頁上的說明上傳您的 SSH 公鑰。例如,我的 Launchpad id 是 houshengbo,因此我將訪問 https://launchpad.net/~houshengbo,如圖 1 所示。
圖 1. 設(shè)置 OpenPGP 密鑰
為 Gerrit 設(shè)置您的 SSH 帳戶。OpenStack 應(yīng)用了一個(gè)代碼評審過程來保證代碼質(zhì)量。請?jiān)L問 OpenStack 代碼審查 頁面,并使用您的 Launchpad 帳戶進(jìn)行登錄。然后訪問 https://review.openstack.org/#/settings/ssh-keys 并上傳您的 SSH 公鑰。
圖 2. 上傳 SSH 公鑰
第 2 步:簽署 CLA 協(xié)議
請加入 OpenStack Foundation(如果您尚未加入)。使用您計(jì)劃用于貢獻(xiàn)代碼的電子郵件地址。foundation profile 中的主要電子郵件地址需要與您稍后在 Gerrit 聯(lián)系信息中設(shè)置的首選電子郵件相匹配。
請?jiān)L問 Code Review 頁面。單擊位于該頁面右上角的 Sign In鏈接。使用您的 Launchpad ID 登錄 Launchpad。
除非您是美國政府雇員(參見以下內(nèi)容),否則請同意 Individual Contributor License Agreement 并提供聯(lián)系信息。您的所有姓名和電子郵件地址都是公開的。如果需要的話,可以稍后 更新 此聯(lián)系信息,但確保主要電子郵件地址始終與為您的 OpenStack Foundation 會員身份設(shè)置的電子郵件地址相匹配。
加入 OpenStack Contributors 組。需要以會員身份提交代碼更改。
如果您以個(gè)人貢獻(xiàn)者的身份工作,那么執(zhí)行上述步驟就足夠了。如果您代表公司或美國政府工作,那么您可能需要關(guān)注其他一些內(nèi)部審批過程,這些過程因公司而異。有關(guān)的詳細(xì)信息,請參閱 貢獻(xiàn)者許可協(xié)議。
第 3 步:設(shè)置本地開發(fā)環(huán)境
設(shè)置 Eclipse 環(huán)境:
在 Eclipse 窗口上,單擊 Help > Install New Software。
在 Work with 字段中,輸入 http://download.eclipse.org/egit/updates并單擊 Add。
選中位于 Eclipse Git Team Provider 下面的 Eclipse EGit。
單擊 Next,直到您找到 Review Licences 窗口。接受許可條款并單擊 Finish。
在 Eclipse 窗口上,單擊 Help > Install New Software。
配置 Eclipse 的 python interpreter。在 Work with 字段中,輸入 http://pydev.org/updates并單擊 Add。
選中 PyDev。
單擊 Next,直到您找到 Review Licences 窗口。接受許可條款并單擊 Finish。
安裝附帶 python 的 Ubuntu 11.10 或 11.10+。
安裝 git:sudo apt-get install git。
安裝 Eclipse。
安裝 Eclipse 的 PyDev 插件。
安裝 Eclipse 的 EGit 插件。
設(shè)置代碼庫。
打開一個(gè)終端,轉(zhuǎn)到目標(biāo)目錄(例如,/opt/stack)并運(yùn)行以下命令以獲得 keystone 代碼:
git clone https://github.com/openstack/keystone.git |
將項(xiàng)目導(dǎo)入 Eclipse:運(yùn)行 Eclipse 并將工作區(qū)設(shè)置為保存所有項(xiàng)目 (/opt/stack) 的目錄。
創(chuàng)建 PyDev 項(xiàng)目:單擊 File > New > PyDev project。使其名稱與該項(xiàng)目相同,如 keystone,然后單擊Finish。
將該項(xiàng)目與 Egit 同步:在 Eclipse 中,右鍵單擊該項(xiàng)目 (keystone),單擊 Team > Share project,然后單擊 Next和 Finish。
完成上述步驟之后,應(yīng)該會在 Eclipse 中看到位于您的項(xiàng)目名稱后面的 [keystone master]。
打開一個(gè)終端,轉(zhuǎn)到目標(biāo)目錄,并運(yùn)行以下命令獲得 devstack 代碼:
git clone git://github.com/openstack-dev/devstack.git |
在剛剛創(chuàng)建的 devstack 目錄下創(chuàng)建一個(gè)名為 localrc 的文件。可以在 DevStack 網(wǎng)站上查找關(guān)于如何 配置 localrc 的信息。
運(yùn)行 ./stack.sh。默認(rèn)工作目錄是 /opt/stack,可以手動(dòng)更改它。當(dāng)初次運(yùn)行 devstack 獲得成功之后,可以在 /opt/stack 下找到所有代碼。
使用 devstack:
另一個(gè)方法是下載特定項(xiàng)目,而不是克隆所有項(xiàng)目。以 Keystone 項(xiàng)目為例:
運(yùn)行單元測試
對某個(gè)項(xiàng)目運(yùn)行所有單元測試:
打開一個(gè)終端并轉(zhuǎn)到項(xiàng)目目錄,例如 keystone。
運(yùn)行 ./run_tests.sh 命令。當(dāng)詢問您是否想創(chuàng)建一個(gè)虛擬環(huán)境時(shí),選擇 Y 或 N。
測試一個(gè)示例:
打開一個(gè)終端并轉(zhuǎn)到項(xiàng)目目錄,例如 keystone。
運(yùn)行 ./run_tests.sh <file path> 命令,例如 ./run_tests.sh /opt/stack/keystone/tests/test_backend.py。
測試一個(gè)示例:
打開一個(gè)終端并轉(zhuǎn)到項(xiàng)目目錄,例如 keystone。
運(yùn)行 ./run_tests.sh <file path>:<class name> 命令,例如 ./run_tests.sh /opt/stack/keystone/tests/test_backend.py:CommonHelperTests。
測試一個(gè)方法:
打開一個(gè)終端并轉(zhuǎn)到項(xiàng)目目錄,例如 keystone。
運(yùn)行 ./run_tests.sh <file path>:<class name>.<method name> 命令,例如 ./run_tests.sh /opt/stack/keystone/tests /test_backend.py:CommonHelperTests.test_format_helper_raises_malformed_on_incomplete_format。
運(yùn)行 OpenStack 服務(wù)
運(yùn)行 Devstack 的所有服務(wù):
打開一個(gè)終端并轉(zhuǎn)到 devstack 目錄。
運(yùn)行 ./stack.sh 命令。在 localrc 中,指定要運(yùn)行的服務(wù),例如 ENABLED_SERVICES=key,c-api,c-vol,c-sch,MySQL,rabbit。
運(yùn)行 ./unstack.sh 關(guān)閉所有服務(wù)。
首次運(yùn)行 ./stack.sh 獲得成功之后,您還可以運(yùn)行 ./rejoin-stack.sh 來運(yùn)行所有指定的服務(wù)。
在 Eclipse 中運(yùn)行服務(wù)。以 Keystone 為例:
在 Eclipse 中設(shè)置 keystone 的調(diào)試配置。右鍵單擊腳本 keystone—bin 下的所有內(nèi)容,然后單擊 Debug as > Debug Configurations,如圖 3 所示。
圖 3. 調(diào)試配置
設(shè)置調(diào)試配置。單擊 Arguments 選項(xiàng)卡,選擇 Other作為工作目錄,然后輸入 ${workspace_loc:keystone},如圖 4 和圖 5 所示。
圖 4. Main 選項(xiàng)卡配置
圖 5. Arguments 選項(xiàng)卡配置
啟動(dòng) Keystone:單擊 Debug Configuration 窗口上的 Debug按鈕,或從 Debug/Run 下拉工具欄按鈕中運(yùn)行它,如圖 6 所示。
圖 6. 啟動(dòng) Keystone 服務(wù)
第 4 步:設(shè)置本地計(jì)算機(jī)配置
設(shè)置 git 全局配置:
打開一個(gè)終端。
運(yùn)行 git config --global user.name "Firstname Lastname" 命令。
運(yùn)行 git config --global user.email "your_email@youremail.com" 命令。
安裝 git-review 工具:
對于 Ubuntu 12.04 或更高版本,在一個(gè)終端中運(yùn)行 sudo apt-get install git-review 命令。
對于 Ubunu 12.04 之前的版本,則運(yùn)行 sudo pip install git-review 命令。
配置您的項(xiàng)目以了解 Gerrit:
打開一個(gè)終端并轉(zhuǎn)到項(xiàng)目目錄,例如 keystone。
運(yùn)行 git review -s 命令。系統(tǒng)會要求您輸入您的 gerrit 用戶名。請鍵入您的 Launchpad id 并按下 Enter 鍵。
第 5 步:OpenStack 工作流程演示
如 果您發(fā)現(xiàn)了一個(gè) OpenStack 問題,請將它注冊為一個(gè) bug。如果想添加新功能,那么請將它注冊為藍(lán)圖。您將要添加的修改應(yīng)位于分支版本而不是主版本中。此外,不要在一個(gè)分支版本中混合多個(gè) bug 修復(fù)或藍(lán)圖開發(fā)。下面的工作流程顯示了 Keystone 中 bug 修復(fù)的一個(gè)示例。
提交 Keystone 的 bug:
圖 7. 提交 Keystone 的 bug
訪問 https://launchpad.net/keystone。
單擊 Report a bug,然后輸入概要信息和所需的信息。
單擊 Submit bug report按鈕。此 bug 具有一個(gè)鏈接:https://bugs.launchpad.net/keystone/+bug/1087674 和一個(gè) bug 號:1087674。
在 Assigned to 列中將這個(gè) bug 分配給你自己。
在 keystone 中為此 bug 創(chuàng)建一個(gè)分支(分支名稱 Bug1087674):
打開一個(gè)終端并轉(zhuǎn)到 keystone 目錄。
通過 git checkout master 確保 keystone 位于主版本中。
運(yùn)行 git checkout -b Bug1087674 命令。
在分支 Bug1087674 中修改 keystone 代碼。
將該代碼提交給 Gerrit:
打開一個(gè)終端并轉(zhuǎn)到 keystone 目錄。
運(yùn)行 git commit -a 命令。
輸入一些注釋。第一段應(yīng)該是一句話的簡介;第二段可以是詳細(xì)說明(可選);如果此分支修復(fù)一個(gè) bug 或一個(gè)藍(lán)圖,則添加 Fixes Bug1087674 或 Blueprint XXXX 作為最后一段。
運(yùn)行 ctrl+o 命令,按下 Enter 鍵,然后運(yùn)行 ctrl+x。
運(yùn)行 git review。
檢查提交的修補(bǔ)程序:
圖 8. 已提交的修補(bǔ)程序的 Review 頁面
轉(zhuǎn)到 https://review.openstack.org 并使用您的 Launchpad 帳戶登錄。
從頂部水平導(dǎo)航器中,單擊 My > Changes,然后您可以找到您已提交的修補(bǔ)程序。
在此演示中,鏈接為 https://review.openstack.org/#/c/17673/。任何用戶都可以查看此修補(bǔ)程序。任何開發(fā)人員都可以給出注釋。
通常,這是提交修補(bǔ)程序的過程。但是如果某些開發(fā)人員添加了注釋并且您決定更改此分支,又該如何做呢?下面是一個(gè)選項(xiàng):
打開一個(gè)終端并轉(zhuǎn)到 keystone 目錄。
通過 git checkout Bug1087674 轉(zhuǎn)到分支 Bug1087674。
對此分支進(jìn)行進(jìn)一步修改。
轉(zhuǎn)到 keystone 目錄。
運(yùn)行 git commit -a –amend 命令。(不要運(yùn)行 git commit -a,否則會有多個(gè)注釋提交給 Gerrit,建議不要這樣做。)
可能的話,請修改注釋。
運(yùn)行 ctrl+o 命令,然后按 Enter 鍵并運(yùn)行 ctrl+x。
運(yùn)行 git review。
第二次提交此修補(bǔ)程序之后,鏈接 https://review.openstack.org/#/c/17673/ 中有兩個(gè)修補(bǔ)程序集,如圖 9 所示。
圖 9. 修補(bǔ)程序集的歷史記錄
此外,如果在您使用分支 Bug1087674 時(shí)主分支進(jìn)行了更改,又會怎樣呢?下面是您可以執(zhí)行的操作:
打開一個(gè)終端,并通過 git checkout master 轉(zhuǎn)到主分支。
使用 git pull origin master 更新該代碼。
通過 git checkout Bug1087674 切換回此分支。
通過 git rebase -i master 重構(gòu)該代碼。
如果沒有沖突,則運(yùn)行 git commit -a –amend 命令并運(yùn)行 git review。
如果發(fā)生沖突,那么終端會顯示有沖突的文件。
您還可以在 Eclipse 中查找沖突,因?yàn)橛袥_突的文件都標(biāo)有紅色標(biāo)記。
手動(dòng)修復(fù)這些沖突。
繼續(xù)重構(gòu),git rebase —continue。
重構(gòu)成功之后,運(yùn)行 git commit -a –amend 命令和 git review。
關(guān)于OpenStack開發(fā)源碼該如何獲取及下載就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
文章標(biāo)題:OpenStack開發(fā)源碼該如何獲取及下載
文章位置:http://www.chinadenli.net/article48/piipep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、搜索引擎優(yōu)化、網(wǎng)頁設(shè)計(jì)公司、網(wǎng)站導(dǎo)航、App開發(fā)、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)