久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

OpenStack開發源碼該如何獲取及下載

150次閱讀
沒有評論

共計 5324 個字符,預計需要花費 14 分鐘才能閱讀完成。

這篇文章將為大家詳細講解有關 OpenStack 開發源碼該如何獲取及下載,文章內容質量較高,因此丸趣 TV 小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

OpenStack 是一種基礎架構即服務 (IaaS) 云計算項目。

資源通過一個儀表板來管理,該儀表板向管理員提供了控制權,并通過一個 Web 接口為用戶提供了配置資源的權利。本文將介紹如何設置帳戶、設置開發環境以及如何開始為 OpenStack 做貢獻。

第 1 步:通過在線注冊和密鑰配置來設置帳戶

設置您的 Launchpad 帳戶。Launchpad 是 OpenStack 用來托管其所有項目的位置。請訪問 Launchpad 登錄頁面,使用您的電子郵件地址進行注冊,并為自己選擇一個便于記憶的 Launchpad ID。然后訪問 https://launchpad.net/~LaunchpadID,設置您的 OpenPGP 密鑰,并使用該頁上的說明上傳您的 SSH 公鑰。例如,我的 Launchpad id 是 houshengbo,因此我將訪問 https://launchpad.net/~houshengbo,如圖 1 所示。

圖 1. 設置 OpenPGP 密鑰

為 Gerrit 設置您的 SSH 帳戶。OpenStack 應用了一個代碼評審過程來保證代碼質量。請訪問 OpenStack 代碼審查 頁面,并使用您的 Launchpad 帳戶進行登錄。然后訪問 https://review.openstack.org/#/settings/ssh-keys 并上傳您的 SSH 公鑰。

圖 2. 上傳 SSH 公鑰

第 2 步:簽署 CLA 協議

請加入 OpenStack Foundation(如果您尚未加入)。使用您計劃用于貢獻代碼的電子郵件地址。foundation profile 中的主要電子郵件地址需要與您稍后在 Gerrit 聯系信息中設置的首選電子郵件相匹配。

請訪問 Code Review 頁面。單擊位于該頁面右上角的 Sign In 鏈接。使用您的 Launchpad ID 登錄 Launchpad。

除非您是美國政府雇員(參見以下內容),否則請同意 Individual Contributor License Agreement 并提供聯系信息。您的所有姓名和電子郵件地址都是公開的。如果需要的話,可以稍后 更新 此聯系信息,但確保主要電子郵件地址始終與為您的 OpenStack Foundation 會員身份設置的電子郵件地址相匹配。

加入 OpenStack Contributors 組。需要以會員身份提交代碼更改。

如果您以個人貢獻者的身份工作,那么執行上述步驟就足夠了。如果您代表公司或美國政府工作,那么您可能需要關注其他一些內部審批過程,這些過程因公司而異。有關的詳細信息,請參閱 貢獻者許可協議。

第 3 步:設置本地開發環境

設置 Eclipse 環境:

在 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 插件。

設置代碼庫。

打開一個終端,轉到目標目錄(例如,/opt/stack)并運行以下命令以獲得 keystone 代碼:

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

將項目導入 Eclipse:運行 Eclipse 并將工作區設置為保存所有項目 (/opt/stack) 的目錄。

創建 PyDev 項目:單擊 File New PyDev project。使其名稱與該項目相同,如 keystone,然后單擊 Finish。

將該項目與 Egit 同步:在 Eclipse 中,右鍵單擊該項目 (keystone),單擊 Team Share project,然后單擊 Next 和 Finish。

完成上述步驟之后,應該會在 Eclipse 中看到位于您的項目名稱后面的 [keystone master]。

打開一個終端,轉到目標目錄,并運行以下命令獲得 devstack 代碼:

git clone git://github.com/openstack-dev/devstack.git

在剛剛創建的 devstack 目錄下創建一個名為 localrc 的文件??梢栽?DevStack 網站上查找關于如何 配置 localrc 的信息。

運行 ./stack.sh。默認工作目錄是 /opt/stack,可以手動更改它。當初次運行 devstack 獲得成功之后,可以在 /opt/stack 下找到所有代碼。

使用 devstack:

另一個方法是下載特定項目,而不是克隆所有項目。以 Keystone 項目為例:

運行單元測試

對某個項目運行所有單元測試:

打開一個終端并轉到項目目錄,例如 keystone。

運行 ./run_tests.sh 命令。當詢問您是否想創建一個虛擬環境時,選擇 Y 或 N。

測試一個示例:

打開一個終端并轉到項目目錄,例如 keystone。

運行 ./run_tests.sh file path 命令,例如 ./run_tests.sh /opt/stack/keystone/tests/test_backend.py。

測試一個示例:

打開一個終端并轉到項目目錄,例如 keystone。

運行 ./run_tests.sh file path : class name 命令,例如 ./run_tests.sh /opt/stack/keystone/tests/test_backend.py:CommonHelperTests。

測試一個方法:

打開一個終端并轉到項目目錄,例如 keystone。

運行 ./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。

運行 OpenStack 服務

運行 Devstack 的所有服務:

打開一個終端并轉到 devstack 目錄。

運行 ./stack.sh 命令。在 localrc 中,指定要運行的服務,例如 ENABLED_SERVICES=key,c-api,c-vol,c-sch,mysql,rabbit。

運行 ./unstack.sh 關閉所有服務。

首次運行 ./stack.sh 獲得成功之后,您還可以運行 ./rejoin-stack.sh 來運行所有指定的服務。

在 Eclipse 中運行服務。以 Keystone 為例:

在 Eclipse 中設置 keystone 的調試配置。右鍵單擊腳本 keystone—bin 下的所有內容,然后單擊 Debug as Debug Configurations,如圖 3 所示。

圖 3. 調試配置

設置調試配置。單擊 Arguments 選項卡,選擇 Other 作為工作目錄,然后輸入 ${workspace_loc:keystone},如圖 4 和圖 5 所示。

圖 4. Main 選項卡配置

圖 5. Arguments 選項卡配置

啟動 Keystone:單擊 Debug Configuration 窗口上的 Debug 按鈕,或從 Debug/Run 下拉工具欄按鈕中運行它,如圖 6 所示。

圖 6. 啟動 Keystone 服務

第 4 步:設置本地計算機配置

設置 git 全局配置:

打開一個終端。

運行 git config –global user.name Firstname Lastname 命令。

運行 git config –global user.email your_email@youremail.com 命令。

安裝 git-review 工具:

對于 Ubuntu 12.04 或更高版本,在一個終端中運行 sudo apt-get install git-review 命令。

對于 Ubunu 12.04 之前的版本,則運行 sudo pip install git-review 命令。

配置您的項目以了解 Gerrit:

打開一個終端并轉到項目目錄,例如 keystone。

運行 git review -s 命令。系統會要求您輸入您的 gerrit 用戶名。請鍵入您的 Launchpad id 并按下 Enter 鍵。

第 5 步:OpenStack 工作流程演示

如 果您發現了一個 OpenStack 問題,請將它注冊為一個 bug。如果想添加新功能,那么請將它注冊為藍圖。您將要添加的修改應位于分支版本而不是主版本中。此外,不要在一個分支版本中混合多個 bug 修復或藍圖開發。下面的工作流程顯示了 Keystone 中 bug 修復的一個示例。

提交 Keystone 的 bug:

圖 7. 提交 Keystone 的 bug

訪問 https://launchpad.net/keystone。

單擊 Report a bug,然后輸入概要信息和所需的信息。

單擊 Submit bug report 按鈕。此 bug 具有一個鏈接:https://bugs.launchpad.net/keystone/+bug/1087674 和一個 bug 號:1087674。

在 Assigned to 列中將這個 bug 分配給你自己。

在 keystone 中為此 bug 創建一個分支(分支名稱 Bug1087674):

打開一個終端并轉到 keystone 目錄。

通過 git checkout master 確保 keystone 位于主版本中。

運行 git checkout -b Bug1087674 命令。

在分支 Bug1087674 中修改 keystone 代碼。

將該代碼提交給 Gerrit:

打開一個終端并轉到 keystone 目錄。

運行 git commit -a 命令。

輸入一些注釋。第一段應該是一句話的簡介;第二段可以是詳細說明(可選);如果此分支修復一個 bug 或一個藍圖,則添加 Fixes Bug1087674 或 Blueprint XXXX 作為最后一段。

運行 ctrl+o 命令,按下 Enter 鍵,然后運行 ctrl+x。

運行 git review。

檢查提交的修補程序:

圖 8. 已提交的修補程序的 Review 頁面

轉到 https://review.openstack.org 并使用您的 Launchpad 帳戶登錄。

從頂部水平導航器中,單擊 My Changes,然后您可以找到您已提交的修補程序。

在此演示中,鏈接為 https://review.openstack.org/#/c/17673/。任何用戶都可以查看此修補程序。任何開發人員都可以給出注釋。

通常,這是提交修補程序的過程。但是如果某些開發人員添加了注釋并且您決定更改此分支,又該如何做呢?下面是一個選項:

打開一個終端并轉到 keystone 目錄。

通過 git checkout Bug1087674 轉到分支 Bug1087674。

對此分支進行進一步修改。

轉到 keystone 目錄。

運行 git commit -a –amend 命令。(不要運行 git commit -a,否則會有多個注釋提交給 Gerrit,建議不要這樣做。)

可能的話,請修改注釋。

運行 ctrl+o 命令,然后按 Enter 鍵并運行 ctrl+x。

運行 git review。

第二次提交此修補程序之后,鏈接 https://review.openstack.org/#/c/17673/ 中有兩個修補程序集,如圖 9 所示。

圖 9. 修補程序集的歷史記錄

此外,如果在您使用分支 Bug1087674 時主分支進行了更改,又會怎樣呢?下面是您可以執行的操作:

打開一個終端,并通過 git checkout master 轉到主分支。

使用 git pull origin master 更新該代碼。

通過 git checkout Bug1087674 切換回此分支。

通過 git rebase -i master 重構該代碼。

如果沒有沖突,則運行 git commit -a –amend 命令并運行 git review。

如果發生沖突,那么終端會顯示有沖突的文件。

您還可以在 Eclipse 中查找沖突,因為有沖突的文件都標有紅色標記。

手動修復這些沖突。

繼續重構,git rebase —continue。

重構成功之后,運行 git commit -a –amend 命令和 git review。

關于 OpenStack 開發源碼該如何獲取及下載就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-16發表,共計5324字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 广平县| 宿松县| 茌平县| 平湖市| 响水县| 遂川县| 深泽县| 静安区| 易门县| 娄烦县| 奎屯市| 城固县| 阿尔山市| 怀化市| 岢岚县| 满洲里市| 青田县| 尚义县| 黄陵县| 蚌埠市| 白银市| 水富县| 察哈| 城口县| 泰安市| 屯门区| 泰顺县| 万载县| 湘乡市| 灵山县| 柯坪县| 文水县| 淮滨县| 南汇区| 阳城县| 宁津县| 营口市| 洛扎县| 麟游县| 疏勒县| 洪洞县|