1. 建立乙個 launchpad account賬號,加入openstack社群。
2. 配置你的git:
git config --global user.name "firstname lastname"
git config --global user.email "[email protected]"
3. 安裝git-review
ubuntu或者其他大部分linux系統:
pip install git-review
ubuntu precise (12.04) 或者以後的版本包含git-review,像其他軟體一樣安裝即可。
apt-get install git-review
fedora 16 以後, git-review也包含在發行版本中,像其他軟體一樣安裝即可。
yum install git-review
opensuse 12.2以後版本,也包含在發行版本中,像其他軟體一樣安裝即可
zypper in python-git-review
4. 工程設定:
獲取專案**
git clone git:
cd nova
檢查git-review檢查是否可以提交**review
git review -s
如果之前沒有增加過遠端倉庫
git remote add gerrit ssh:
5. 正常工作流程
獲取倉庫最新**
git remote update
git checkout master
git pull --ff-only origin master
當你要開發乙個特性或者修改乙個bug,建立乙個分支,在這個分支裡邊完成你的修改
git checkout -b topic-branch
6. 提交修改
提交資訊裡邊需要寫上你的blueprint連線和bug號
adds keystone support
...long multiline description of the change...
implements: blueprint authentication
fixes: bug #123456
change-id: i4946a16d27f712ae2adf8441ce78e6c0bb0bb657
提交修改
git commit -a
如果是上次提交的乙個patch
git commit --amend
正式提交review
git review
注:gerrit根據change-id識別你的patch,出於各種原因,你原來提交**的本地倉庫壞掉,這時你可以從gerrit上取下你的patch,由於這時你不能再git commit -a --amend, 你可以在commit log的最下邊寫上你原來的change-id,還是可以提交到你原來的change上,生成乙個更新的patch。
7. **評審
如果別人的評審意見你採納了,這時你修改了你的**。你需要重新再上傳乙個patch,讓評審人再次評審。
git commit -a --amend
git review
直到沒有人再給出評審意見。這時一般openstack的核心開發人員會批准你的code進入正式倉庫。
如果在你開發過程當中,倉庫裡邊的**有人提交了新**,那麼你再提交新的patch的時候後出新衝突,這時你要
git checkout master
git pull origin master
git checkout topic-branch
git rebase -i master
8. 增加依賴
如果你需要在別人提交的patch的基礎上工作
#fetch config
git fetch refs/changes/16/10816/9 && git checkout fetch_head
git checkout -b somebranchname
git review -r
注意:-r選項十分重要,否則初始的提交會被錯誤的修改
如果你依賴的提交的**有更新,這時你要
# check out the parent commit of the depended commit. sha1 is the commit id.
git checkout -b anewbranch sha1
# cherry pick the depended commit
git fetch refs/changes/80/28880/40 && git cherry-pick fetch_head
# cherry pick your last commit
git fetch refs/changes/28/30028/6 && git cherry-pick fetch_head
# do the revisions
# commit
git commit -a --amend
# submit for review
git review -r
OpenStack之Swift swift表結構
表account stat id名稱 型別 長度 預設值備註 account text created at text put timestamp text 0delete timestamp text 0container count integer object count integer 0b...
Openstack之KeyStone學習(一)
openstack 是乙個美國國家航空航天局和 rackspace 合作研發的雲計算軟體,以 apache 許可證授權,並且是乙個 自由軟體和開放源 專案。openstack 是iaas 基礎設施即服務 平台,讓任何人都可以自行建立和提供雲端 運算服務。以下是5個 openstack 的重要構成部分...
openstack之網路基礎
l1 物理層 l2 資料鏈路層,基於mac位址的通訊,通過交換機連線 對等傳輸,即交換機上的乙個主機發乙個包,連線在該交換 機上的所有機器都能收到 l3 網路層,基於ip位址,路由器裝置,連線不同網段,進行路由 選擇 交換機 路由器的區別 1 工作層級不同,交換機在l2,路由器在l3 2 資料 依據...