Mark T. Voelker b9c1566518 Add HACKING file
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
2015-05-08 18:00:06 -04:00
2015-03-13 09:21:12 -07:00
2015-05-07 09:40:44 -04:00
2015-03-13 09:21:12 -07:00
2015-04-30 16:43:51 -04:00
2015-05-08 18:00:06 -04:00

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
Data and documentation maintained by the Interop Working Group
Readme 7.3 MiB
Languages
Python 61.3%
Shell 23.3%
JavaScript 10.7%
HTML 4.7%