interop/README.rst

2.6 KiB

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