
As we receive more submissions to flag or add tests, it's important for contributors to know how to submit modifications to the guidelines. In other OpenStack projects, HACKING files are used to denote "rules of the road" for contributions. The rules lists laid out in HACKING files and the automation around enforcement of the rules ostensibly reduce patch iterations (and thus reviewer workload) and speed up acceptance of patches by giving contributors insight into the conventions the project uses before submitting a patch. This patch adds a HACKING.rst file for the DefCore repository which provides rules for incoming changes in order to make contributor's lives easier. Change-Id: I21f21385f3e51d228d2a8fbf48eb904b6066c0cf
Understanding the DefCore Guidelines
This repository contains DefCore committee managed files that provide guidance for the OpenStack community.
NOTE: Changes to file requires approval of the DefCore committee chair(s).
DefCore Process Documentation
The /process directory contains details about the DefCore process.
- Core Definition
-
process/CoreDefinition.rst
- Process Goverance
-
process/2015A.rst (please check for latest)
- Designated Sections
-
process/DesignatedSections.rst
- Core Criteria
-
process/CoreCriteria.rst
- DefCore Governance
-
process/GovernanceProcess.rst
- Platform and Components
-
process/PlatformCap.rst
- DefCore Cycles
-
process/ProcessCycles.rst
- Terminology
-
process/Lexicon.rst
JSON Schema
The JSON files have a specific schema to support
{ "id": "2015.03", # Spec name (date based)
"source": "http://git.openstack.org/cgit/openstack/defcore/", # git repo for files
"schema": "1.2", # Schema version
"status": "approved", # can be draft, review or approved
"replaces": "2014.07", # previous spec
"releases": ["icehouse"], # array of releases, lower case
"platform": { # platform components
"required": ["compute", "object"], # array
"advisory": [], # incoming array
"depricated": [], # outgoing array
"removed": [] # removed array
},
"components": { # components detail
"compute": { # component name
"required": [ # required array
"compute-auth"],
"advisory": [ # incoming array
"compute-servers-metadata"],
"deprecated": [], # outgoing array
"removed": [ # removed array
"volume"]
},
},
"criteria" : { # explains achievements
"atomic" : { "Description" : "blah blah blah",
"name" : "Atomic",
"weight": 8
},
"capabilities": { # capabilities listed in components
"example-cap" : # capability
{ "achievements" : # array of criteria met
[ "deployed",
"future",
"complete"],
"admin" : false, # is admin API
"status" : "required", # de-normalized from components
"description" : "Helpful Description",
"flagged" : [ ], # flagged tests array
"name" : "Friendly Short Name",
"tests" : # list of tests (please use UUIDs)
[ "tempest.api.project.file.class.test_name" ]
},
Description
Languages
Python
61.3%
Shell
23.3%
JavaScript
10.7%
HTML
4.7%