refstack/defcore
Rob Hirschfeld 2c1d18c85e Complete Havana capabilities as passed by the Board in July 2014
This change includes capabilities descriptions from Troy,
  Sergey, Julia & Rocky.

PLEASE DO NOT ASK FOR DESCRIPTION OR NAME CHANGES...
+1 the file and then submit patches against it
we know that the tests, names and descriptions are incomplete.

The tests are NOT included in the capabilities because more
review is needed.  We expect that they will be updated
after the schema with capabilities are approved.

Change-Id: I81016dbb25bf421723e89f2e2a2b21466d461605
2014-08-23 08:19:41 -05:00
..
drafts Complete Havana capabilities as passed by the Board in July 2014 2014-08-23 08:19:41 -05:00
capabilities.html Simple HTML page that renders the capablities.json file 2014-05-29 14:33:17 +00:00
havanacore.json Complete Havana capabilities as passed by the Board in July 2014 2014-08-23 08:19:41 -05:00
README.rst Complete Havana capabilities as passed by the Board in July 2014 2014-08-23 08:19:41 -05:00

Understanding the DefCore JSON Schema

This folder contains DefCore committee managed files that provide trusted guidance for the OpenStack community.

Assets for each release are tracked in dedicated subdirectories so JSON schema may change per release if needed.

NOTE: Changes to file requires approval of the DefCore committee chair(s).

DefCore Process Flow

See: https://wiki.openstack.org/w/images/6/68/DefCoreProcessFlow.pdf

Terminology

See: https://wiki.openstack.org/wiki/Governance/DefCoreLexicon

The JSON files have a specific schema to support

{ "release": "havana",
  "schema": "1.0",
  "criteria" : { 
      "atomic" : { "Description" : "blah blah blah",
      "name" : "Atomic", 
      "weight": 8
      },
  "capabilities": {
    "example-cap" : { "achievements" : [ "deployed",
          "future",
          "complete"],
      "admin" : true,
      "core" : false,
      "description" : "Helpful Description",
      "flagged" : [  ],
      "name" : "Friendly Short Name",
      "tests" : [ "tempest.api.project.file.class.test_name" ]
    },

Schema Explanation:

  • release: provides the release described in the JSON file
  • schema: version of the schema
  • criteria: block describing the scoring criteria for the release
    • criteria/[id]: block for a specific criteria (using an ID)
    • criteria/[id]/name: friendly name for the criteria
    • criteria/[id]/description: longer description for the criteria
    • criteria/[id]/weight: weight applied. All criteria together should = 100
  • capabilities: block describing all the capabilities identified for the release
    • capabilities/[id]: block for a specific capability (using an ID)
    • capabilities/[id]/name: friend name for the capability
    • capabilities/[id]/description: longer description for the capability
    • capabilities/[id]/core: boolean set by Board if capability is required
    • capabilities/[id]/admin: boolean set by PTL if capability is for admin use
    • capabilities/[id]/achievements: list of criteria passed for this capability (set by Board)
    • capabilities/[id]/tests: list of tests included in the capability (set by PTL)
    • capabilities/[id]/flagged: tests that have been excluded for this capability (set by Board)

Ownership for Changes

TC/PTL

  1. Capabilities Description
  2. Capabilities Test List

DefCore

  1. Flagged Tests
  2. Capabilities "Score
  3. Criteria Names and Descriptions