Files
refstack/defcore
Rob Hirschfeld 922eb30fef Added Swift Designated Sections based on discussion with John Dickinson,
Swift PTL, about required and optional compontents.

    This represents a very detailed perspective of Swift and
    we chose to include a lot of optional sections so that we
    could be very specific for discussion.

    Used some descriptions from John's original patch.
    Suggestions for descriptions are welcome, but not required
    at this point in the process.  They could be accepted as future
    patches to this file.

Change-Id: Iccd79508fafa76af923c22afd422c0f860db2c1d
2014-11-23 22:24:49 -06: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