This post is a follow up to a previous post here.
Teaching the OpenStack architecture and services is a good place to begin. That means no installing software until the student is ready to understand what they are installing. The best place to start is going through the basics in the Associates Training Guide and the intermediate topics in the Operators Training Guide first. These Guides are mostly combined from the existing OpenStack documentation. The Training project aims to reuse the existing materials as much as possible.
The Developer Guide deep dives on the OpenStack CI pipeline. We start with the local tools Pycharm, Git, Sourcetree, Maven, and Git-review. Some review of Gerrit etiquette is in order and why resubmission of your code is part of the learning process. We then dive into the CI pipeline tools GitHub, Gerrit, Jenkins, Gearman, Nodepool, Jeepy, Logstash, and Zuul. The student will have five days of classroom and lab time.
The next three days are devoted to learning the OpenStack APIs in depth. We settled on using Django and Horizon to interact with a variety of OpenStack APIs. We aim to teach enough of the OpenStack API details in three days that the student will have a good grasp of how the APIs work. This should be the basis of further API development during the Architect Training. The Developer Training Guide is under development itself. The Developer Training Guide design is posted here.
There is a glaring, purposeful omission in that learning Python is not part of the Training Guides. Python is the language that OpenStack is written in. Understanding Python is required to become an OpenStack developer. There are some great ways to learn Python out there. The main Developer Guide prerequisite is to learn Python. We recommend Python Koans and Learn Python the Hard Way.
The next post will detail how we plan on implementing OpenStack Developer Training at a location near you.