1. Tools and IDEs for development
1.1. simple local virtualbox CI pipeline vm; jenkins, gerrit, zuul
1.2. first part of CI pipeline training uses the simple local CI pipeline
1.3. second part of CI pipeline training uses the actual openstack CI pipeline
2. ci pipeline bootcamp
2.1. 25 march sean is running a ci pipeline bootcamp
2.2. create a one day bootcamp from material so far
2.3. 6 hour deep dive for python developers to get up to speed on contributing to openstack
3. two week sprint ending on 03 March 2014
4. Add to rst xml blueprint, rst xml script as Jenkins job, juno session
4.1. add per-project gates and test-cases
5. new blueprint: rst xml syntax standards, juno session
6. API in depth
6.1. Closing the knowledge gap/circle
6.2. follow controller, network, compute, storage breakdown from operator guide
6.3. understanding APIs lead to understanding of openstack architecture
6.4. OpenStack Koans Learn TDD Process of Development in OpenStack by Example
6.4.1. Learn API by Example OpenStack Koans
6.4.2. Reference: ruby koans, python koans
6.4.3. I like ii!
6.4.4. Step by step introduction to OS Dev using python
6.4.5. Project wise Koans
6.5. Pull in developer reference rst pages (devref)
6.6. zipkin
6.7. aws architecture training as reference
6.8. Resources
6.8.1. Hackbright - https://github.com/chriszf/Hackbright-Curriculum
7. refresh on operator guide material
7.1. little to no review of architecture/associate guide materials
7.2. skip implementation details, only structure from operator
8. two week instructor led class, mornings books, afternoon labs
9. save blueprint etiquette for architect guide
10. TDD (Test Driven Development)
10.1. Types of testing
10.2. Software Testing Concepts
10.3. Unit Tests
10.4. Temptests
11. Soft Skills
11.1. Pick a actual bug/feature for each participant
11.1.1. learning by example
11.1.2. explain theory
11.1.3. each participant match with his own contribution
11.2. Find the people who will +2 it
11.3. +2 for a featre != +2 for a bug
11.4. Initiate a meaningfull dialog immediately
11.5. Intermix technical progress and social contact
11.6. Listen to others and build karma
11.7. Individual mentoring because everyone has different skills and weaknesses
11.7.1. one hour
11.7.2. 15 minutes debrief/standup like
11.7.3. 45 to unblock or to improve (mentor must find ways to do that )
12. skill transistion
13. pre req: closing the gap between an operator and developer
13.1. operator to agile
13.2. developer to agile
13.3. resources
13.3.1. learn python the hard way
13.3.2. python roans
13.3.3. hackbright
13.3.4. git learning
13.3.5. USSC extension classes
14. How to Particpate
14.1. Bug Fixing, python
14.1.1. git 101
14.1.2. gerrit etiquette
14.1.3. upstream university as likely source material
14.1.3.1. contribution role playing
14.1.3.2. online mentoring session
14.2. CI pipeline test understanding
15. Sample Application Build (building apps on OpenStack)
15.1. Simple Web Application
15.1.1. Spin up instance from image w/ keys + config mgmt (puppet/chef/whatever set up already
15.1.2. Build Static Web Site
15.1.3. Display Images from Swift
15.1.4. Authenticate from Keystone