給學習 OpenStack 架構的新手入門指南

Rikki Endsley發表於2016-08-25

OpenStack 歡迎新成員的到來,但是,對於這個發展趨近成熟並且快速迭代的開源社群而言,能夠擁有一個新手指南並不是件壞事。在奧斯汀舉辦的 OpenStack 峰會上,Paul Belanger (來自紅帽公司)、 Elizabeth K. Joseph (來自 HPE 公司)和 Christopher Aedo (來自 IBM 公司)就針對新人的 OpenStack 架構作了一場專門的講演。在這次採訪中,他們提供了一些建議和資源來幫助新人成為 OpenStack 貢獻者中的一員。

你的講演介紹中說你將“深入架構核心,並解釋你需要知道的關於讓 OpenStack 工作起來的每一件事情”。這對於 40 分鐘的講演來說是一個艱鉅的任務。那麼,對於學習 OpenStack 架構的新手來說最需要知道那些事情呢?

Elizabeth K. Joseph (EKJ): 我們沒有為 OpenStack 使用 GitHub 這種提交補丁的方式,這是因為這樣做會對新手造成巨大的困擾,儘管由於歷史原因我們還是在 GitHub 上維護了所有庫的一個映象。相反,我們使用了一種完全開源的評審形式,而且持續整合(CI)是由 OpenStack 架構團隊維護的。與之有關的,自從我們使用了 CI 系統,每一個提交給 OpenStack 的改變都會在被合併之前進行測試。

Paul Belanger (PB): 這個專案中的大多數都是富有激情的人,因此當你提交的補丁被某個人否定時不要感到沮喪。

Christopher Aedo (CA):社群會幫助你取得成功,因此不要害怕提問或者尋求更多的那些能夠促進你理解某些事物的引導者。

在你的講話中,對於一些你無法涉及到的方面,你會向新手推薦哪些線上資源來讓他們更加容易入門?

PB:當然是我們的 OpenStack 專案架構文件。我們已經花了足夠大的努力來儘可能讓這些文件能夠隨時保持最新狀態。在 OpenStack 執行中使用的每個系統都作為一個專案,都製作了專門的頁面來進行說明。甚至於連 OpenStack 雲這種架構團隊也會放到線上。

EKJ:我對於架構文件這件事上的觀點和 Paul 是一致的,另外,我們十分樂意看到來自那些正在學習專案的人們提交上來的補丁。我們通常不會意識到我們忽略了文件中的某些內容,除非它們恰好被人問起。因此,閱讀、學習,會幫助我們修補這些知識上的漏洞。你可以在 [OpenStack 架構郵件清單]提出你的問題,或者在我們位於 FreeNode 上的 #OpenStack-infra 的 IRC 專欄發起你的提問。

CA:我喜歡這個詳細的帖子,它是由 Ian Wienand 寫的一篇關於構建映象的文章。

"gotchas" 會是 OpenStack 新的貢獻者們所尋找的嗎?

EKJ:向專案作出貢獻並不僅僅是提交新的程式碼和新的特性;OpenStack 社群高度重視程式碼評審。如果你想要別人檢視你的補丁,那你最好先看看其他人是如何做的,然後參考他們的風格,最後一步步做到你也能夠向其他人一樣提交清晰且結構分明的程式碼補丁。你越是能讓你的同伴瞭解你的工作並知道你正在做的評審,那他們也就越有可能及時評審你的程式碼。

CA:我看到過大量的新手在面對 Gerrit 時受挫,閱讀開發者引導中的開發者工作步驟,有可能的話多讀幾遍。如果你沒有用過 Gerrit,那你最初對它的感覺可能是困惑和無力的。但是,如果你隨後做了一些程式碼評審的工作,那麼你就能輕鬆應對它。此外,我是 IRC 的忠實粉絲,它可能是一個獲得幫助的好地方,但是,你最好保持一個長期線上的狀態,這樣,儘管你在某個時候沒有出現,人們也可以回答你的問題。(閱讀 IRC,開源成功的祕訣)你不必總是線上,但是你最好能夠輕鬆的在一個頻道中回溯之前資訊,以此來跟上最新的動態,這種能力非常重要。

PB:我同意 Elizabeth 和 Chris 的觀點, Gerrit 是需要花點精力的,它將匯聚你的開發方面的努力。你不僅僅要提交程式碼給別人去評審,同時,你也要能夠評審其他人的程式碼。看到 Gerrit 的介面,你可能一時會變的很困惑。我推薦新手去嘗試 Gertty,它是一個基於控制檯的終端介面,用於 Gerrit 程式碼評審系統,而它恰好也是 OpenStack 架構所驅動的一個專案。

你對於 OpenStack 新手如何通過網路與其他貢獻者交流方面有什麼好的建議?

PB:對我來說,是通過 IRC 並在 Freenode 上參加 #OpenStack-infra 頻道(IRC 日誌)。這頻道上面有很多對新手來說很有價值的資源。你可以看到 OpenStack 專案日復一日的運作情況,同時,一旦你知道了 OpenStack 專案的工作原理,你將更好的知道如何為 OpenStack 的未來發展作出貢獻。

CA:我想要為 IRC 再次說明一點,在 IRC 上保持全天線上記錄對我來說有非常重大的意義,因為我會時刻保持連線並隨時接到提醒。這也是一種非常好的獲得幫助的方式,特別是當你和某人卡在了專案中出現的某一個難題的時候,而在一個活躍的 IRC 頻道中,總會有一些人很樂意為你解決問題。

EKJOpenStack 開發郵件列表對於能夠時刻檢視到你所致力於的 OpenStack 專案的最新情況是非常重要的。因此,我推薦一定要訂閱它。郵件列表使用主題標籤來區分專案,因此你可以設定你的郵件客戶端來使用它來專注於你所關心的專案。除了線上資源之外,全世界範圍內也成立了一些 OpenStack 小組,他們被用來為 OpenStack 的使用者和貢獻者提供服務。這些小組可能會定期要求 OpenStack 主要貢獻者們舉辦座談和活動。你可以在 MeetUp.com 上搜素你所在地域的貢獻者活動聚會,或者在 groups.openstack.org 上檢視你所在的地域是否存在 OpenStack 小組。最後,還有一個每六個月舉辦一次的 OpenStack 峰會,這個峰會上會作一些關於架構的演說。當前狀態下,這個峰會包含了使用者會議和開發者會議,會議內容都是和 OpenStack 相關的東西,包括它的過去,現在和未來。

OpenStack 需要在那些方面得到提升來讓新手更加容易學會並掌握?

PB: 我認為我們的 account-setup 環節對於新的貢獻者已經做的比較容易了,特別是教他們如何提交他們的第一個補丁。真正參與到 OpenStack 開發者模式中是需要花費很大的努力的,相比貢獻者來說已經顯得非常多了;然而,一旦融入進去了,這個模式將會運轉的十分高效和令人滿意。

CA: 我們擁有一個由專業開發者組成的社群,而且我們的關注點都是發展 OpenStack 本身,同時,我們致力於讓使用者付出更小的代價去使用 OpenStack 雲架構平臺。我們需要發掘更多的應用開發者,並且鼓勵更多的人去開發能在 OpenStack 雲上完美執行的雲應用程式,我們還鼓勵他們在社群 App 目錄上去貢獻那些由他們開發的應用。我們可以通過不斷提升我們的 API 標準和保證我們不同的庫(比如 libcloud,phpopencloud 以及其他一些庫)持續地為開發者提供可信賴的支援來實現這一目標。還有一點就是通過舉辦更多的 OpenStack 黑客比賽。所有的這些事情都可以降低新人的學習門檻,這樣也能引導他們與這個社群之間的關係更加緊密。

EKJ: 我已經致力於開源軟體很多年了。但是,對於大量的 OpenStack 開發者而言,這是一個他們自己所從事的第一個開源專案。我發現他們之前使用私有軟體的背景並沒有為他們塑造開源的觀念、方法論,以及在開源專案中需要具備的合作技巧。我樂於看到我們能夠讓那些曾經一直在使用私有軟體工作的人能夠真正的明白他們在開源如軟體社群所從事的事情的巨大價值。

我想把 2016 年打造成開源俳句之年。請用俳句來向新手解釋 OpenStack 一下。

(LCTT 譯註:俳句(Haiku)是一種日本古典短詩,以5-7-5音節為三句,校對者不揣淺陋,謅了幾句歪詩,勿笑 :D,另外 OpenStack 本身音節太長,就捏造了一箇中文譯名“開棧”——明白就好。)

PB: 開棧在雲上OpenStack runs clouds//倘鍾情自由軟體If you enjoy free software//先當造補丁Submit your first patch

CA時光不必久In the near future//開棧將支配世界OpenStack will rule the world//協力早來到Help make it happen!

EKJ開棧有自由OpenStack is free//放在自家伺服器Deploy on your own servers//執行你的雲And run your own cloud!

Paul、Elizabeth 和 Christopher 在 4 月 25 號星期一上午 11:15 於奧斯汀舉辦的 OpenStack 峰會發表了演說


via:  https://opensource.com/business/16/4/interview-openstack-infrastructure-beginners

作者:Rikki Endsley 譯者:kylepeng93 校對:wxy

本文由 LCTT 原創翻譯,Linux中國 榮譽推出

相關文章