Download - Oscon 2014 def core review
How the Board’s DefCore Committee is Crowdsoucing Core
Redefining OpenStack Core
with Community, Tests & Code
DefCore Co-Chair Rob Hirschfeld
DefCore = Commercial Use
Uses of the OpenStack mark: 1. Community (non-commercial use) 2. Code (integrated release) 3. Commerce (products and services)
DefCore covers #3 only!
OpenStack™ should mean something to usersWhat matters to users?● OpenStack as a reliable platform (brand)● Common Validation (testing)● Common Implementation (code)● And, don’t impede grown and innovation!
DefCore = Interoperability
What is DefCore?
DefCore is a process that sets base requirements for all
OpenStack products by defining:
1) must-pass tests of capabilities, and
2) designated sections of code
These definitions use community resources and
involvement to drive interoperability by creating the
minimum standards for products labeled “OpenStack”.
Capabilities AND then Code
CapabilitiesProject APIs
Validated by Tests
Designated SectionsIntegrated Projects Only
Required Upstream
Capabilities (API)Designated Section
Integrated Release
OpenStack Project
Integrated Release
Which code gets Designated?
Designated:● code provides the project external REST API, or● code is shared and provides common functionality for
all options, or● code implements logic that is critical for cross-
platform operation
Not Designated:● code interfaces to vendor-specific functions, or● project design explicitly intended this section to be
replaceable, or● code extends the project external REST API in a new
or different way, or● code is being deprecated
Overview: How do we do this?
One Committee, with- 10 Principles- 12 Criteria- 75+ Capabilities- 1 Scoring Matrix
(per release)
DefCore Principles
Core = Tests+Designated Code
12 Criteria
Capabilities
Capabilities = Groups of API Tests, e.g.:"block-snapshots" :test_snapshot_create_get_list_update_delete,test_volume_from_snapshot
Capabilities Scoring Matrix
Capabilities << TestsScore max 100Non-Admin APIScored per Release Preliminary Havana Enforced for Juno
Community Feedback
DefCore Depends on Usage Data!
1. Users2. Tools3. Clients
Some Examples
Case 1: BananaCloud
Example Public Cloud
“mostly” using OpenStackActive in community
“OpenStack Powered”
Case 2: SpRocket
Example Private Cloud
“heavily” using OpenStackadd missing core featureSpecialized code base, ok
“OpenStack Powered”
Case 3: “Mist” API Client“OpenStack Compatible”
No Impact from DefCore, but…
1. should share their API use2. add tests for untested APIs3. reconsider non-must-pass
Tools: RefStack
Refstack, the Site
Community Interop Portal
Collects Test ResultsShows ComplianceAllows Comparison
Refstack, the Project
Primary Use: Runs the Public SiteSecondarily: Can be setup as private test collector for QA team
note: Does not use or require Docker!
Call to Action!
We need YOUR HELPReview the Havana CoreHelp designate sectionsParticipate in RefstackRun Tempest and uploadRock us some +1s!
References
RefStack Wiki: https://wiki.openstack.org/wiki/RefStack
DefCore Wiki: https://wiki.openstack.org/wiki/Governance/DefCoreCommittee
Rob’s Blog: http://robhirschfeld.com/tag/defcore/
RefStack: https://github.com/stackforge/refstack
Please reach out to me, @zehicle, or OpenStack DefCore mailing list!