Retire interop repository

Remove the content following
https://docs.openstack.org/infra/manual/drivers.html#retiring-a-project

Depends-on: I5240e631782c6bea06865738f9ff29f69eec535a

Change-Id: Ide9ee54cfc4219bff73276c7dbbdcae68b683dbf
Signed-off-by: Christian Berendt <berendt@osism.tech>
This commit is contained in:
Christian Berendt
2025-09-23 21:04:52 +02:00
parent 2a71585700
commit 5693dd52e3
156 changed files with 5 additions and 93908 deletions

8
.gitignore vendored
View File

@@ -1,8 +0,0 @@
.tox/
# Sphinx
doc/build
# pbr generates these
AUTHORS
ChangeLog

View File

@@ -1,34 +0,0 @@
The source repository for this project can be found at:
https://opendev.org/openinfra/interop
To start contributing to OpenStack, follow the steps in the contribution guide
to set up and use Gerrit:
https://docs.openstack.org/contributors/code-and-documentation/quick-start.html
Documentation of the project can be found at:
https://docs.opendev.org/openinfra/interop/latest/
Bugs should be filed on Storyboard:
https://storyboard.openstack.org/#!/project/openinfra/interop
Patches against this project can be found at:
https://review.opendev.org/q/project:openinfra/interop
To communicate with us you may use one of the following means:
**Mailing List:**
Get in touch with us via `email <mailto:openstack-discuss@lists.openstack.org>`_.
Use [interop] in your subject.
**IRC:**
We're at #openstack-interop channel on OFTC network.
`Setup IRC <https://docs.openstack.org/contributors/common/irc.html>`_
**Meetings:**
`Visit this link <https://meetings.opendev.org/#Interop_Working_Group_Meeting>`_
for the meeting information.

View File

@@ -1,167 +0,0 @@
Interop Working Group Commandments
===================================
- Step 1: Read the OpenStack Style Commandments
https://docs.openstack.org/hacking/latest/
- Step 2: Read the following Interop Working Group process
documents in the following recommended order:
- `Core Definition <doc/source/process/CoreDefinition.rst>`_
- `OpenStack Interop WG Process 2021A <doc/source/process/2021A.rst>`_
- Step 3: Read on
Interop Working Group Specific Commandments
--------------------------------------------
- [D300] When adding tests to "flagged" lists, generally only the most
current Board-approved .json file and the .next.json file should be
modified. There is no need to modify older Guidelines unless the most
current Board-approved Guideline doesn't cover the OpenStack release
you are concerned with.
- [D301] The "tests" lists in the .json capabilities lists are immutable
once approved by the Board. Therefore if you desire to flag a test,
in an approved capability list, add a "flagged" block to the test. Do
_not_ remove it from the "tests" section.
- [D302] If a Capability is found to not meet the `Core Criteria
<doc/source/process/CoreCriteria.rst>`_ after the Board has approved
a Guideline, the corresponding tests should have a "flagged" block added
to the relevant tests in the "tests" section of the relevant
Board-approved Guidelines.
- See [D307] and [D309] for details about format requirements.
- See [D308] for conditions on also adding to the .next.json.
- [D303] Tests that are found to inadequately test the underlying
Capability due to bugs or design flaws, should have a "flagged"
block added to the section for the test in the "tests" section of
the most recent Board-approved Guideline.
- [D304] Before the Board approves the capabilities listed in the
.next.json file, a committee member will submit a patch that copies
the .next.json file to an appropriately named new file, updates the
"status", "replaces", and "id" fields, and updates the "required-since"
field within newly required capabilities. The patch should include the
matching generated RST version of the JSON file. This patch should be
marked as -1 workflow until after approval.
- [D305] Interop Guidelines generally cover the most recent three
releases of OpenStack, though the Interop Working Group has the
power to determine otherwise. The "releases" section of the .next.json file
should generally be updated shortly after the Board approves a release
so that contributors can see what releases the proposed Guideline
targets.
- [D306] When modifying "comment" and "guidance" sections, refer to
definitions and processes found in the "process" directory of the
repository rather than duplicating or restating them. This helps us
avoid the appearance of having multiple sources of truth.
- [D307] When adding a "flagged" section to a json file, all fields
listed in the relevant schema document for the "flagged" section are
required.
- [D308] If the reason for adding a "flagged" block is not expected
to be resolved before the next Guideline is submitted to tbe Board
for approval, then matching entries should also be made in the
.next.json Guideline.
- [D309] The "reason" field of the "flagged" section must begin with the
flag type. For example:
``"reason" : "[D400] The Foo test doesn't meet Core Criteria because ..."``
- [D310] If you believe a test needs to be flagged but the reason for doing
so doesn't appear in the list below, you must do the following:
#. Submit the test for flagging using [D404] as the flag type. Please also
provide the reason you believe this test needs to be flagged; see [D309]
above for details. [D404] indicates that you are uncertain about which
flag to use or believe that a new reason for considering flags needs to be
discussed. *[D404] is only a placeholder to facilitate this discussion.*
#. In that same proposed change, also submit a patch against the HACKING
file adding your proposed new flag to the list below.
#. If at all possible, please include a link to code and/or test runs which
demonstrate the reason a new flag type is needed.
#. The Interop Working Group will discuss and consider the flagging
proposal as well as the proposed new reason. They may accept or decline
either proposal.
- [D311] Once a test has been flagged, it will remain flagged for that Guideline.
- [D312] When a new Guideline is proposed for Board approval, no flagged tests
will be included in the Guideline. Flags will be added in subsequent patches.
Interop Working Group Test Flagging Guidelines
-----------------------------------------------
The Interoper Working Group may "flag" tests to mark them as not
required for a given Guideline. There are different flag types; each flag
type indicates a fairly narrow category of reasons for flagging a given test.
Valid reasons for flagging a test are limited to the following:
- [D400] The test is for a Capability that fails to meet the Criteria
as set out in the
`Core Criteria document <doc/source/process/CoreCriteria.rst>`_.
- [D401] The test fails or is skipped due to a bug in the test and the bug is
accepted by the OpenStack project which maintains the test.
- [D402] The test fails or is skipped due to a bug in the code that provides
the Capability and the bug is accepted by the OpenStack project which
maintains the Capability.
- [D403] The test fails because other non-required Capabilities are also
tested.
- [D404] Flag Not Found - Use this flag if none of the others fit.
- [D405] The test reflects an implementation choice that is not widely
deployed even if the Capability is widely deployed.
- [D406] Test removed permanently from test suite.
To file a flag request for a test, follow these steps:
#. Make sure you have a development environment set up accoring to the
`Developer's Guide
<https://docs.openstack.org/infra/manual/developers.html>`_.
#. Clone the defcore repo by running:
.. code-block:: console
$ git clone https://opendev.org/openinfra/interop.git
#. Open the relevant Guideline or Guidelines in your favorite text
editor and locate the tests you want to flag.
#. Add a flag block to the test using the rationale above. For
example, if I want to flag this test:
.. code-block:: json
"tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filtered_by_ip": {
"idempotent_id": "id-43a1242e-7b31-48d1-88f2-3f72aa9f2077"
},
I might modify the section to read:
.. code-block:: json
"tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filtered_by_ip": {
"idempotent_id": "id-43a1242e-7b31-48d1-88f2-3f72aa9f2077",
"flagged": {
"date": "2016-06-13",
"reason": "[D401] This test is skipped by Tempest due to bug https://bugs.launchpad.net/tempest/+bug/1600349.",
"action": "Remove flag when Tempest fix is in place."
}
},
#. Once you've saved your changes, commit the change locally:
.. code-block:: console
$ git commit -a
Be sure to write a useful commit message explaining your change.
#. Push the change to gerrit, where your request can be reviewed:
.. code-block:: console
$ git review
Please note that if you're having trouble setting up a development
environment, you can also talk to the OpenStack Foundation's
Interoperability Engineer <interop@openstack.org> or contact the
Interop Working Group (formerly DefCore Committee) via email
<defcore-committee@lists.openstack.org>. We'll be happy to try to
assist you or help file a request on your behalf.

View File

@@ -1,50 +1,6 @@
=============================================
Understanding the Interoperability Guidelines
=============================================
This project is no longer maintained.
This repository contains files managed by the Interop Working
Group that provide guidance for the OpenStack community.
NOTE: Changes to file requires approval of the Interop Working
Group chair(s).
Interop Working Group Process Documentation
============================================
Are you a vendor who wants to get a license to use the OpenStack trademark
and logo? Consult `OpenStack Interop
<https://www.openstack.org/brand/interop/>`_.
The `Process Documentation <https://docs.opendev.org/openinfra/interop/latest/process/index.html>`_
page contains details about theInterop Working Group process.
The `Schema Documentation <https://docs.opendev.org/openinfra/interop/latest/schema/index.html>`_
page contains details about the JSON schema versions used to express Guidelines.
The `Guideline Documentation <https://docs.opendev.org/openinfra/interop/latest/guidelines/index.html>`_
page contains RST versions of the Interop Guidelines approved by the OpenStack
Board of Directors.
**Another Useful Resources**
`Core Definition <https://docs.opendev.org/openinfra/interop/latest/process/CoreDefinition.html>`_
`Process Governance <https://docs.opendev.org/openinfra/interop/latest/process/2021A.html>`_
`Designated Sections <https://docs.opendev.org/openinfra/interop/latest/process/DesignatedSections.html>`_
`Interop WG Governance <https://docs.opendev.org/openinfra/interop/latest/process/GovernanceProcess.html>`_
`Terminology <https://docs.opendev.org/openinfra/interop/latest/process/Lexicon.html>`_
Tools for Interoperability Testing
==================================
`refstack client <https://docs.opendev.org/openinfra/refstack-client/latest/>`_
contains the tools you will need to run the Interop Working Group tests.
`refstack server <https://refstack.openstack.org>`_ is our API to collect
interoperability test results from private and public cloud vendors.
`See more <https://docs.opendev.org/openinfra/refstack/latest/>`_ about the
project.
Get Involved!
=============
See the `CONTRIBUTING <https://docs.opendev.org/openinfra/interop/latest/contributing.html>`_
guide on how to get involved.
The contents of this repository are still available in the Git
source code management system. To see the contents of this
repository before it reached its end of life, please check out the
previous commit with "git checkout HEAD^1".

View File

@@ -1,63 +0,0 @@
add-on Criteria
==================
add-on Specific Criteria
---------------------------
Additional criteria, outside of the Interop Core criteria, that is
used for scoring capabilities.
Core Criteria
-------------
Interop Core Criteria, applied to add-on program.
Atomic (atomic)
~~~~~~~~~~~~~~~
The capabilities are unique and cannot be built out of other must-pass capabilities.
Capability In Last Release (sticky)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
A capability whose API was present in the previous guideline release. Discourages the disruption of replacing the API a capability uses, or removing a capability from core.
Complete (complete)
~~~~~~~~~~~~~~~~~~~
Where the code being tested has a designated area of alternate implementation (add-on framework) as per the Core Principles, there should be parity in capability tested across add-on implementations. This also implies that the capability test is not configuration specific or locked to non-open technology.
Discoverable (discover)
~~~~~~~~~~~~~~~~~~~~~~~
Capability being tested is Service Discoverable (can be found in Keystone and via service introspection).
Documented (doc)
~~~~~~~~~~~~~~~~
The capability is well documented, including both the interface and the expected behavior.
Future Direction (future)
~~~~~~~~~~~~~~~~~~~~~~~~~
The capability reflects the future technical direction as defined by the project technical teams and the Technical Committee.
Stable (stable)
~~~~~~~~~~~~~~~
A capability that whose API has changed in more than two releases. Meant to select for capabilities that are stable and not under active development.
Used By Clients (clients)
~~~~~~~~~~~~~~~~~~~~~~~~~
The capabilities are widely used by common OpenStack clients, including the openstack client, nova client, neutron client, and so on. This criterion pertains mostly to API versioning. For example, if v2 of a given API is not used by other OpenStack clients but v1 is, then v2 doesn't achieve the 'used by clients' criterion.
Used By Tools (tools)
~~~~~~~~~~~~~~~~~~~~~
Capabilities that are widely used outside of the OpenStack client ecosystem. Example tools include GopherCloud, jClouds, Fog, and so on.
Core Criteria Not Considered
----------------------------
Foundation (foundation)
~~~~~~~~~~~~~~~~~~~~~~~
The capability is a fundamental requirement for must-pass tests, or is depended on by other capabilities. add-ons are additions to core capabilities, and by definition will not in general be foundational for other capabilities.
Proximity Cluster (proximity)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
A capability that is related to another set of core capabilitity. The intent is to ensure that related capabilities are selected for and managed together. add-ons are standable sets, and will not relate to other capabilities
Widely Deployed (deployed)
~~~~~~~~~~~~~~~~~~~~~~~~~~
The capabilities are widely deployed capabilities. We favor capabilities that are supported by multiple public cloud providers and private cloud products. This capability was not considered, as by their nature add-on programs are optional and may not be widely deployed across clouds.

View File

@@ -1 +0,0 @@
guidelines/dns.2022.11.json

View File

@@ -1,192 +0,0 @@
{
"metadata": {
"id": "dns.2018.02",
"schema": "2.0",
"reference": "https://opendev.org/openinfra/interop/raw/branch/master/doc/source/schema/2.0.json",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/dns.next.json",
"scoring": {
"cutoff_score": 60,
"criteria": {
"atomic": {
"name": "Atomic",
"description": "The capabilities are unique and cannot be built out of other must-pass capabilities.",
"weight": 6
},
"clients": {
"name": "Used By Clients",
"description": "The capabilities are widely used by common OpenStack clients, including the openstack client, nova client, neutron client, and so on. This criterion pertains mostly to API versioning. For example, if v2 of a given API is not used by other OpenStack clients but v1 is, then v2 doesn't achieve the 'used by clients' criterion.",
"weight": 10
},
"complete": {
"name": "Complete",
"description": "Where the code being tested has a designated area of alternate implementation (add-on framework) as per the Core Principles, there should be parity in capability tested across add-on implementations. This also implies that the capability test is not configuration specific or locked to non-open technology.",
"weight": 8
},
"discover": {
"name": "Discoverable",
"description": "Capability being tested is Service Discoverable (can be found in Keystone and via service introspection).",
"weight": 8
},
"doc": {
"name": "Documented",
"description": "The capability is well documented, including both the interface and the expected behavior.",
"weight": 8
},
"future": {
"name": "Future Direction",
"description": "The capability reflects the future technical direction as defined by theproject technical teams and the Technical Committee.",
"weight": 11
},
"stable": {
"name": "Stable",
"description": "A capability that whose API has changed in more than two releases. Meant to select for capabilities that are stable and not under active development.",
"weight": 9
},
"sticky": {
"name": "Core In Last Release",
"description": "A capability whose API was present in the previous guideline release. Discourages the disruption of replacing the API a capability uses, or removing a capability from core.",
"weight": 9
},
"tools": {
"name": "Used By Tools",
"description": "Capabilities that are widely used outside of the OpenStack client ecosystem. Example tools include GopherCloud, jClouds, Fog, and so on.",
"weight": 6
}
}
},
"os_trademark_approval": {
"target_approval": "2018.02",
"releases": ["newton", "ocata", "pike", "queens"],
"status": "superseded"
}
},
"add-ons": {
"DNS": {
"description": "OpenStack Powered with DNS",
"components": [
{ "name": "os_powered_dns" }
],
"required_platform_components": [
{
"name": "os_powered_compute",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/guidelines/2018.02.json"
}
]
}
},
"components": {
"os_powered_dns": {
"capabilities": {
"required": [
"dns-record-crud",
"dns-zone-crud"
],
"advisory": [
],
"deprecated": [
],
"removed": [
]
},
"designated_sections": {
"required": [
"designate"
]
}
}
},
"capabilities": {
"dns-record-crud": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Operations to create, update, and delete dns records.",
"project": "designate",
"tests": {
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_all_recordset_types": {
"idempotent_id": "id-d03b69a5-5052-43bc-a38a-b511b6b34304",
"flagged": {
"date": "2021-09-09",
"reason": "[D401] The test represents series of tests. Each test from the series should have its own id. Skipped until this bug is resolved: https://bugs.launchpad.net/designate/+bug/1943115"
}
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_delete_recordset": {
"idempotent_id": "id-855399c1-8806-4ae5-aa31-cb8a6f35e218"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_list_recordsets": {
"idempotent_id": "id-5964f730-5546-46e6-9105-5030e9c492b2"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_show_recordsets": {
"idempotent_id": "id-84c13cb2-9020-4c1e-aeb0-c348d9a70caa"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_update_recordset": {
"idempotent_id": "id-8d41c85f-09f9-48be-a202-92d1bdf5c796"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_update_recordset_one_field": {
"idempotent_id": "id-60904cc5-148b-4e3b-a0c6-35656dc8d44c"
}
}
},
"dns-zone-crud": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Operations to create, update, and delete zones.",
"project": "designate",
"tests": {
"designate_tempest_plugin.tests.scenario.v2.test_zones.ZonesTest.test_create_and_delete_zone": {
"idempotent_id": "id-d0648f53-4114-45bd-8792-462a82f69d32"
},
"designate_tempest_plugin.tests.api.v2.test_zones.ZonesTest.test_show_zone": {
"idempotent_id": "id-02ca5d6a-86ce-4f02-9d94-9e5db55c3055"
},
"designate_tempest_plugin.tests.api.v2.test_zones.ZonesTest.test_list_zone": {
"idempotent_id": "id-5bfa3cfe-5bc8-443b-bf48-cfba44cbb247"
},
"designate_tempest_plugin.tests.api.v2.test_zones.ZonesTest.test_update_zone": {
"idempotent_id": "id-123f51cb-19d5-48a9-aacc-476742c02141"
}
}
}
},
"designated_sections": {
"designate": {
"required": {
"guidance": "API and Central code, allowing for plugins and excluding storage and scheduler filters",
"sections": {
"api": {
"description": "The designate API, allowing for plugins",
"designated": true
},
"central": {
"description": "Designate central code, excluding storage and scheduler filters",
"designated": true
}
}
}
}
},
"test_repositories": {
"designate-tempest-plugin": {
"repository": "https://opendev.org/openstack/designate-tempest-plugin/",
"reference": "master",
"description": "OpenStack Designate Test Plugin Repository"
}
}
}

View File

@@ -1,194 +0,0 @@
{
"metadata": {
"id": "dns.2018.11",
"schema": "2.0",
"reference": "https://opendev.org/openinfra/interop/raw/branch/master/doc/source/schema/2.0.json",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/dns.2018.11.json",
"scoring": {
"cutoff_score": 60,
"criteria": {
"atomic": {
"name": "Atomic",
"description": "The capabilities are unique and cannot be built out of other must-pass capabilities.",
"weight": 6
},
"clients": {
"name": "Used By Clients",
"description": "The capabilities are widely used by common OpenStack clients, including the openstack client, nova client, neutron client, and so on. This criterion pertains mostly to API versioning. For example, if v2 of a given API is not used by other OpenStack clients but v1 is, then v2 doesn't achieve the 'used by clients' criterion.",
"weight": 10
},
"complete": {
"name": "Complete",
"description": "Where the code being tested has a designated area of alternate implementation (add-on framework) as per the Core Principles, there should be parity in capability tested across add-on implementations. This also implies that the capability test is not configuration specific or locked to non-open technology.",
"weight": 8
},
"discover": {
"name": "Discoverable",
"description": "Capability being tested is Service Discoverable (can be found in Keystone and via service introspection).",
"weight": 8
},
"doc": {
"name": "Documented",
"description": "The capability is well documented, including both the interface and the expected behavior.",
"weight": 8
},
"future": {
"name": "Future Direction",
"description": "The capability reflects the future technical direction as defined by theproject technical teams and the Technical Committee.",
"weight": 11
},
"stable": {
"name": "Stable",
"description": "A capability that whose API has changed in more than two releases. Meant to select for capabilities that are stable and not under active development.",
"weight": 9
},
"sticky": {
"name": "Core In Last Release",
"description": "A capability whose API was present in the previous guideline release. Discourages the disruption of replacing the API a capability uses, or removing a capability from core.",
"weight": 9
},
"tools": {
"name": "Used By Tools",
"description": "Capabilities that are widely used outside of the OpenStack client ecosystem. Example tools include GopherCloud, jClouds, Fog, and so on.",
"weight": 6
}
}
},
"os_trademark_approval": {
"target_approval": "2018.11",
"releases": ["ocata", "pike", "queens", "rocky", "stein"],
"status": "superseded"
}
},
"add-ons": {
"DNS": {
"description": "OpenStack Powered with DNS",
"components": [
{ "name": "os_powered_dns" }
],
"required_platform_components": [
{
"name": "os_powered_compute",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/guidelines/2018.11.json"
}
]
}
},
"components": {
"os_powered_dns": {
"capabilities": {
"required": [
"dns-record-crud",
"dns-zone-crud"
],
"advisory": [
],
"deprecated": [
],
"removed": [
]
},
"designated_sections": {
"required": [
"designate"
]
}
}
},
"capabilities": {
"dns-record-crud": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Operations to create, update, and delete dns records.",
"project": "designate",
"required_since": "2018.02",
"tests": {
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_all_recordset_types": {
"idempotent_id": "id-d03b69a5-5052-43bc-a38a-b511b6b34304",
"flagged": {
"date": "2021-09-09",
"reason": "[D401] The test represents series of tests. Each test from the series should have its own id. Skipped until this bug is resolved: https://bugs.launchpad.net/designate/+bug/1943115"
}
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_delete_recordset": {
"idempotent_id": "id-855399c1-8806-4ae5-aa31-cb8a6f35e218"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_list_recordsets": {
"idempotent_id": "id-5964f730-5546-46e6-9105-5030e9c492b2"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_show_recordsets": {
"idempotent_id": "id-84c13cb2-9020-4c1e-aeb0-c348d9a70caa"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_update_recordset": {
"idempotent_id": "id-8d41c85f-09f9-48be-a202-92d1bdf5c796"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_update_recordset_one_field": {
"idempotent_id": "id-60904cc5-148b-4e3b-a0c6-35656dc8d44c"
}
}
},
"dns-zone-crud": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Operations to create, update, and delete zones.",
"project": "designate",
"required_since": "2018.02",
"tests": {
"designate_tempest_plugin.tests.scenario.v2.test_zones.ZonesTest.test_create_and_delete_zone": {
"idempotent_id": "id-d0648f53-4114-45bd-8792-462a82f69d32"
},
"designate_tempest_plugin.tests.api.v2.test_zones.ZonesTest.test_show_zone": {
"idempotent_id": "id-02ca5d6a-86ce-4f02-9d94-9e5db55c3055"
},
"designate_tempest_plugin.tests.api.v2.test_zones.ZonesTest.test_list_zone": {
"idempotent_id": "id-5bfa3cfe-5bc8-443b-bf48-cfba44cbb247"
},
"designate_tempest_plugin.tests.api.v2.test_zones.ZonesTest.test_update_zone": {
"idempotent_id": "id-123f51cb-19d5-48a9-aacc-476742c02141"
}
}
}
},
"designated_sections": {
"designate": {
"required": {
"guidance": "API and Central code, allowing for plugins and excluding storage and scheduler filters",
"sections": {
"api": {
"description": "The designate API, allowing for plugins",
"designated": true
},
"central": {
"description": "Designate central code, excluding storage and scheduler filters",
"designated": true
}
}
}
}
},
"test_repositories": {
"designate-tempest-plugin": {
"repository": "https://opendev.org/openstack/designate-tempest-plugin/",
"reference": "master",
"description": "OpenStack Designate Test Plugin Repository"
}
}
}

View File

@@ -1,195 +0,0 @@
{
"metadata": {
"id": "dns.2019.06",
"schema": "2.0",
"reference": "https://opendev.org/openinfra/interop/raw/branch/master/doc/source/schema/2.0.json",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/dns.2019.06.json",
"scoring": {
"cutoff_score": 60,
"criteria": {
"atomic": {
"name": "Atomic",
"description": "The capabilities are unique and cannot be built out of other must-pass capabilities.",
"weight": 6
},
"clients": {
"name": "Used By Clients",
"description": "The capabilities are widely used by common OpenStack clients, including the openstack client, nova client, neutron client, and so on. This criterion pertains mostly to API versioning. For example, if v2 of a given API is not used by other OpenStack clients but v1 is, then v2 doesn't achieve the 'used by clients' criterion.",
"weight": 10
},
"complete": {
"name": "Complete",
"description": "Where the code being tested has a designated area of alternate implementation (add-on framework) as per the Core Principles, there should be parity in capability tested across add-on implementations. This also implies that the capability test is not configuration specific or locked to non-open technology.",
"weight": 8
},
"discover": {
"name": "Discoverable",
"description": "Capability being tested is Service Discoverable (can be found in Keystone and via service introspection).",
"weight": 8
},
"doc": {
"name": "Documented",
"description": "The capability is well documented, including both the interface and the expected behavior.",
"weight": 8
},
"future": {
"name": "Future Direction",
"description": "The capability reflects the future technical direction as defined by theproject technical teams and the Technical Committee.",
"weight": 11
},
"stable": {
"name": "Stable",
"description": "A capability that whose API has changed in more than two releases. Meant to select for capabilities that are stable and not under active development.",
"weight": 9
},
"sticky": {
"name": "Core In Last Release",
"description": "A capability whose API was present in the previous guideline release. Discourages the disruption of replacing the API a capability uses, or removing a capability from core.",
"weight": 9
},
"tools": {
"name": "Used By Tools",
"description": "Capabilities that are widely used outside of the OpenStack client ecosystem. Example tools include GopherCloud, jClouds, Fog, and so on.",
"weight": 6
}
}
},
"os_trademark_approval": {
"target_approval": "2019.06",
"replaces": "dns.2018.11",
"releases": ["queens", "rocky", "stein", "train"],
"status": "superseded"
}
},
"add-ons": {
"DNS": {
"description": "OpenStack Powered with DNS",
"components": [
{ "name": "os_powered_dns" }
],
"required_platform_components": [
{
"name": "os_powered_compute",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/guidelines/2019.06.json"
}
]
}
},
"components": {
"os_powered_dns": {
"capabilities": {
"required": [
"dns-record-crud",
"dns-zone-crud"
],
"advisory": [
],
"deprecated": [
],
"removed": [
]
},
"designated_sections": {
"required": [
"designate"
]
}
}
},
"capabilities": {
"dns-record-crud": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Operations to create, update, and delete dns records.",
"project": "designate",
"required_since": "2018.02",
"tests": {
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_all_recordset_types": {
"idempotent_id": "id-d03b69a5-5052-43bc-a38a-b511b6b34304",
"flagged": {
"date": "2021-09-09",
"reason": "[D401] The test represents series of tests. Each test from the series should have its own id. Skipped until this bug is resolved: https://bugs.launchpad.net/designate/+bug/1943115"
}
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_delete_recordset": {
"idempotent_id": "id-855399c1-8806-4ae5-aa31-cb8a6f35e218"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_list_recordsets": {
"idempotent_id": "id-5964f730-5546-46e6-9105-5030e9c492b2"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_show_recordsets": {
"idempotent_id": "id-84c13cb2-9020-4c1e-aeb0-c348d9a70caa"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_update_recordset": {
"idempotent_id": "id-8d41c85f-09f9-48be-a202-92d1bdf5c796"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_update_recordset_one_field": {
"idempotent_id": "id-60904cc5-148b-4e3b-a0c6-35656dc8d44c"
}
}
},
"dns-zone-crud": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Operations to create, update, and delete zones.",
"project": "designate",
"required_since": "2018.02",
"tests": {
"designate_tempest_plugin.tests.scenario.v2.test_zones.ZonesTest.test_create_and_delete_zone": {
"idempotent_id": "id-d0648f53-4114-45bd-8792-462a82f69d32"
},
"designate_tempest_plugin.tests.api.v2.test_zones.ZonesTest.test_show_zone": {
"idempotent_id": "id-02ca5d6a-86ce-4f02-9d94-9e5db55c3055"
},
"designate_tempest_plugin.tests.api.v2.test_zones.ZonesTest.test_list_zone": {
"idempotent_id": "id-5bfa3cfe-5bc8-443b-bf48-cfba44cbb247"
},
"designate_tempest_plugin.tests.api.v2.test_zones.ZonesTest.test_update_zone": {
"idempotent_id": "id-123f51cb-19d5-48a9-aacc-476742c02141"
}
}
}
},
"designated_sections": {
"designate": {
"required": {
"guidance": "API and Central code, allowing for plugins and excluding storage and scheduler filters",
"sections": {
"api": {
"description": "The designate API, allowing for plugins",
"designated": true
},
"central": {
"description": "Designate central code, excluding storage and scheduler filters",
"designated": true
}
}
}
}
},
"test_repositories": {
"designate-tempest-plugin": {
"repository": "https://opendev.org/openstack/designate-tempest-plugin/",
"reference": "master",
"description": "OpenStack Designate Test Plugin Repository"
}
}
}

View File

@@ -1,195 +0,0 @@
{
"metadata": {
"id": "dns.2019.11",
"schema": "2.0",
"reference": "https://opendev.org/openinfra/interop/raw/branch/master/doc/source/schema/2.0.json",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/dns.2019.11.json",
"scoring": {
"cutoff_score": 60,
"criteria": {
"atomic": {
"name": "Atomic",
"description": "The capabilities are unique and cannot be built out of other must-pass capabilities.",
"weight": 6
},
"clients": {
"name": "Used By Clients",
"description": "The capabilities are widely used by common OpenStack clients, including the openstack client, nova client, neutron client, and so on. This criterion pertains mostly to API versioning. For example, if v2 of a given API is not used by other OpenStack clients but v1 is, then v2 doesn't achieve the 'used by clients' criterion.",
"weight": 10
},
"complete": {
"name": "Complete",
"description": "Where the code being tested has a designated area of alternate implementation (add-on framework) as per the Core Principles, there should be parity in capability tested across add-on implementations. This also implies that the capability test is not configuration specific or locked to non-open technology.",
"weight": 8
},
"discover": {
"name": "Discoverable",
"description": "Capability being tested is Service Discoverable (can be found in Keystone and via service introspection).",
"weight": 8
},
"doc": {
"name": "Documented",
"description": "The capability is well documented, including both the interface and the expected behavior.",
"weight": 8
},
"future": {
"name": "Future Direction",
"description": "The capability reflects the future technical direction as defined by theproject technical teams and the Technical Committee.",
"weight": 11
},
"stable": {
"name": "Stable",
"description": "A capability that whose API has changed in more than two releases. Meant to select for capabilities that are stable and not under active development.",
"weight": 9
},
"sticky": {
"name": "Core In Last Release",
"description": "A capability whose API was present in the previous guideline release. Discourages the disruption of replacing the API a capability uses, or removing a capability from core.",
"weight": 9
},
"tools": {
"name": "Used By Tools",
"description": "Capabilities that are widely used outside of the OpenStack client ecosystem. Example tools include GopherCloud, jClouds, Fog, and so on.",
"weight": 6
}
}
},
"os_trademark_approval": {
"target_approval": "2019.11",
"replaces": "dns.2019.06",
"releases": ["rocky", "stein", "train", "ussuri"],
"status": "approved"
}
},
"add-ons": {
"DNS": {
"description": "OpenStack Powered with DNS",
"components": [
{ "name": "os_powered_dns" }
],
"required_platform_components": [
{
"name": "os_powered_compute",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/guidelines/2019.11.json"
}
]
}
},
"components": {
"os_powered_dns": {
"capabilities": {
"required": [
"dns-record-crud",
"dns-zone-crud"
],
"advisory": [
],
"deprecated": [
],
"removed": [
]
},
"designated_sections": {
"required": [
"designate"
]
}
}
},
"capabilities": {
"dns-record-crud": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Operations to create, update, and delete dns records.",
"project": "designate",
"required_since": "2018.02",
"tests": {
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_all_recordset_types": {
"idempotent_id": "id-d03b69a5-5052-43bc-a38a-b511b6b34304",
"flagged": {
"date": "2021-09-09",
"reason": "[D401] The test represents series of tests. Each test from the series should have its own id. Skipped until this bug is resolved: https://bugs.launchpad.net/designate/+bug/1943115"
}
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_delete_recordset": {
"idempotent_id": "id-855399c1-8806-4ae5-aa31-cb8a6f35e218"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_list_recordsets": {
"idempotent_id": "id-5964f730-5546-46e6-9105-5030e9c492b2"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_show_recordsets": {
"idempotent_id": "id-84c13cb2-9020-4c1e-aeb0-c348d9a70caa"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_update_recordset": {
"idempotent_id": "id-8d41c85f-09f9-48be-a202-92d1bdf5c796"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_update_recordset_one_field": {
"idempotent_id": "id-60904cc5-148b-4e3b-a0c6-35656dc8d44c"
}
}
},
"dns-zone-crud": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Operations to create, update, and delete zones.",
"project": "designate",
"required_since": "2018.02",
"tests": {
"designate_tempest_plugin.tests.scenario.v2.test_zones.ZonesTest.test_create_and_delete_zone": {
"idempotent_id": "id-d0648f53-4114-45bd-8792-462a82f69d32"
},
"designate_tempest_plugin.tests.api.v2.test_zones.ZonesTest.test_show_zone": {
"idempotent_id": "id-02ca5d6a-86ce-4f02-9d94-9e5db55c3055"
},
"designate_tempest_plugin.tests.api.v2.test_zones.ZonesTest.test_list_zone": {
"idempotent_id": "id-5bfa3cfe-5bc8-443b-bf48-cfba44cbb247"
},
"designate_tempest_plugin.tests.api.v2.test_zones.ZonesTest.test_update_zone": {
"idempotent_id": "id-123f51cb-19d5-48a9-aacc-476742c02141"
}
}
}
},
"designated_sections": {
"designate": {
"required": {
"guidance": "API and Central code, allowing for plugins and excluding storage and scheduler filters",
"sections": {
"api": {
"description": "The designate API, allowing for plugins",
"designated": true
},
"central": {
"description": "Designate central code, excluding storage and scheduler filters",
"designated": true
}
}
}
}
},
"test_repositories": {
"designate-tempest-plugin": {
"repository": "https://opendev.org/openstack/designate-tempest-plugin/",
"reference": "master",
"description": "OpenStack Designate Test Plugin Repository"
}
}
}

View File

@@ -1,195 +0,0 @@
{
"metadata": {
"id": "dns.2020.06",
"schema": "2.0",
"reference": "https://opendev.org/openinfra/interop/raw/branch/master/doc/source/schema/2.0.json",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/dns.2020.06.json",
"scoring": {
"cutoff_score": 60,
"criteria": {
"atomic": {
"name": "Atomic",
"description": "The capabilities are unique and cannot be built out of other must-pass capabilities.",
"weight": 6
},
"clients": {
"name": "Used By Clients",
"description": "The capabilities are widely used by common OpenStack clients, including the openstack client, nova client, neutron client, and so on. This criterion pertains mostly to API versioning. For example, if v2 of a given API is not used by other OpenStack clients but v1 is, then v2 doesn't achieve the 'used by clients' criterion.",
"weight": 10
},
"complete": {
"name": "Complete",
"description": "Where the code being tested has a designated area of alternate implementation (add-on framework) as per the Core Principles, there should be parity in capability tested across add-on implementations. This also implies that the capability test is not configuration specific or locked to non-open technology.",
"weight": 8
},
"discover": {
"name": "Discoverable",
"description": "Capability being tested is Service Discoverable (can be found in Keystone and via service introspection).",
"weight": 8
},
"doc": {
"name": "Documented",
"description": "The capability is well documented, including both the interface and the expected behavior.",
"weight": 8
},
"future": {
"name": "Future Direction",
"description": "The capability reflects the future technical direction as defined by theproject technical teams and the Technical Committee.",
"weight": 11
},
"stable": {
"name": "Stable",
"description": "A capability that whose API has changed in more than two releases. Meant to select for capabilities that are stable and not under active development.",
"weight": 9
},
"sticky": {
"name": "Core In Last Release",
"description": "A capability whose API was present in the previous guideline release. Discourages the disruption of replacing the API a capability uses, or removing a capability from core.",
"weight": 9
},
"tools": {
"name": "Used By Tools",
"description": "Capabilities that are widely used outside of the OpenStack client ecosystem. Example tools include GopherCloud, jClouds, Fog, and so on.",
"weight": 6
}
}
},
"os_trademark_approval": {
"target_approval": "2020.06",
"replaces": "dns.2019.11",
"releases": ["stein", "train", "ussuri","victoria"],
"status": "superseded"
}
},
"add-ons": {
"DNS": {
"description": "OpenStack Powered with DNS",
"components": [
{ "name": "os_powered_dns" }
],
"required_platform_components": [
{
"name": "os_powered_compute",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/guidelines/2020.06.json"
}
]
}
},
"components": {
"os_powered_dns": {
"capabilities": {
"required": [
"dns-record-crud",
"dns-zone-crud"
],
"advisory": [
],
"deprecated": [
],
"removed": [
]
},
"designated_sections": {
"required": [
"designate"
]
}
}
},
"capabilities": {
"dns-record-crud": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Operations to create, update, and delete dns records.",
"project": "designate",
"required_since": "2018.02",
"tests": {
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_all_recordset_types": {
"idempotent_id": "id-d03b69a5-5052-43bc-a38a-b511b6b34304",
"flagged": {
"date": "2021-09-09",
"reason": "[D401] The test represents series of tests. Each test from the series should have its own id. Skipped until this bug is resolved: https://bugs.launchpad.net/designate/+bug/1943115"
}
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_delete_recordset": {
"idempotent_id": "id-855399c1-8806-4ae5-aa31-cb8a6f35e218"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_list_recordsets": {
"idempotent_id": "id-5964f730-5546-46e6-9105-5030e9c492b2"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_show_recordsets": {
"idempotent_id": "id-84c13cb2-9020-4c1e-aeb0-c348d9a70caa"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_update_recordset": {
"idempotent_id": "id-8d41c85f-09f9-48be-a202-92d1bdf5c796"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_update_recordset_one_field": {
"idempotent_id": "id-60904cc5-148b-4e3b-a0c6-35656dc8d44c"
}
}
},
"dns-zone-crud": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Operations to create, update, and delete zones.",
"project": "designate",
"required_since": "2018.02",
"tests": {
"designate_tempest_plugin.tests.scenario.v2.test_zones.ZonesTest.test_create_and_delete_zone": {
"idempotent_id": "id-d0648f53-4114-45bd-8792-462a82f69d32"
},
"designate_tempest_plugin.tests.api.v2.test_zones.ZonesTest.test_show_zone": {
"idempotent_id": "id-02ca5d6a-86ce-4f02-9d94-9e5db55c3055"
},
"designate_tempest_plugin.tests.api.v2.test_zones.ZonesTest.test_list_zone": {
"idempotent_id": "id-5bfa3cfe-5bc8-443b-bf48-cfba44cbb247"
},
"designate_tempest_plugin.tests.api.v2.test_zones.ZonesTest.test_update_zone": {
"idempotent_id": "id-123f51cb-19d5-48a9-aacc-476742c02141"
}
}
}
},
"designated_sections": {
"designate": {
"required": {
"guidance": "API and Central code, allowing for plugins and excluding storage and scheduler filters",
"sections": {
"api": {
"description": "The designate API, allowing for plugins",
"designated": true
},
"central": {
"description": "Designate central code, excluding storage and scheduler filters",
"designated": true
}
}
}
}
},
"test_repositories": {
"designate-tempest-plugin": {
"repository": "https://opendev.org/openstack/designate-tempest-plugin/",
"reference": "master",
"description": "OpenStack Designate Test Plugin Repository"
}
}
}

View File

@@ -1,195 +0,0 @@
{
"metadata": {
"id": "dns.2020.11",
"schema": "2.0",
"reference": "https://opendev.org/openinfra/interop/raw/branch/master/doc/source/schema/2.0.json",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/dns.2020.11.json",
"scoring": {
"cutoff_score": 60,
"criteria": {
"atomic": {
"name": "Atomic",
"description": "The capabilities are unique and cannot be built out of other must-pass capabilities.",
"weight": 6
},
"clients": {
"name": "Used By Clients",
"description": "The capabilities are widely used by common OpenStack clients, including the openstack client, nova client, neutron client, and so on. This criterion pertains mostly to API versioning. For example, if v2 of a given API is not used by other OpenStack clients but v1 is, then v2 doesn't achieve the 'used by clients' criterion.",
"weight": 10
},
"complete": {
"name": "Complete",
"description": "Where the code being tested has a designated area of alternate implementation (add-on framework) as per the Core Principles, there should be parity in capability tested across add-on implementations. This also implies that the capability test is not configuration specific or locked to non-open technology.",
"weight": 8
},
"discover": {
"name": "Discoverable",
"description": "Capability being tested is Service Discoverable (can be found in Keystone and via service introspection).",
"weight": 8
},
"doc": {
"name": "Documented",
"description": "The capability is well documented, including both the interface and the expected behavior.",
"weight": 8
},
"future": {
"name": "Future Direction",
"description": "The capability reflects the future technical direction as defined by theproject technical teams and the Technical Committee.",
"weight": 11
},
"stable": {
"name": "Stable",
"description": "A capability that whose API has changed in more than two releases. Meant to select for capabilities that are stable and not under active development.",
"weight": 9
},
"sticky": {
"name": "Core In Last Release",
"description": "A capability whose API was present in the previous guideline release. Discourages the disruption of replacing the API a capability uses, or removing a capability from core.",
"weight": 9
},
"tools": {
"name": "Used By Tools",
"description": "Capabilities that are widely used outside of the OpenStack client ecosystem. Example tools include GopherCloud, jClouds, Fog, and so on.",
"weight": 6
}
}
},
"os_trademark_approval": {
"target_approval": "dns.2020.11",
"replaces": "dns.2020.06",
"releases": ["train", "ussuri","victoria", "wallaby"],
"status": "approved"
}
},
"add-ons": {
"DNS": {
"description": "OpenStack Powered with DNS",
"components": [
{ "name": "os_powered_dns" }
],
"required_platform_components": [
{
"name": "os_powered_compute",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/guidelines/2020.11.json"
}
]
}
},
"components": {
"os_powered_dns": {
"capabilities": {
"required": [
"dns-record-crud",
"dns-zone-crud"
],
"advisory": [
],
"deprecated": [
],
"removed": [
]
},
"designated_sections": {
"required": [
"designate"
]
}
}
},
"capabilities": {
"dns-record-crud": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Operations to create, update, and delete dns records.",
"project": "designate",
"required_since": "2018.02",
"tests": {
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_all_recordset_types": {
"idempotent_id": "id-d03b69a5-5052-43bc-a38a-b511b6b34304",
"flagged": {
"date": "2021-09-09",
"reason": "[D401] The test represents series of tests. Each test from the series should have its own id. Skipped until this bug is resolved: https://bugs.launchpad.net/designate/+bug/1943115"
}
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_delete_recordset": {
"idempotent_id": "id-855399c1-8806-4ae5-aa31-cb8a6f35e218"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_list_recordsets": {
"idempotent_id": "id-5964f730-5546-46e6-9105-5030e9c492b2"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_show_recordsets": {
"idempotent_id": "id-84c13cb2-9020-4c1e-aeb0-c348d9a70caa"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_update_recordset": {
"idempotent_id": "id-8d41c85f-09f9-48be-a202-92d1bdf5c796"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_update_recordset_one_field": {
"idempotent_id": "id-60904cc5-148b-4e3b-a0c6-35656dc8d44c"
}
}
},
"dns-zone-crud": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Operations to create, update, and delete zones.",
"project": "designate",
"required_since": "2018.02",
"tests": {
"designate_tempest_plugin.tests.scenario.v2.test_zones.ZonesTest.test_create_and_delete_zone": {
"idempotent_id": "id-d0648f53-4114-45bd-8792-462a82f69d32"
},
"designate_tempest_plugin.tests.api.v2.test_zones.ZonesTest.test_show_zone": {
"idempotent_id": "id-02ca5d6a-86ce-4f02-9d94-9e5db55c3055"
},
"designate_tempest_plugin.tests.api.v2.test_zones.ZonesTest.test_list_zones": {
"idempotent_id": "id-5bfa3cfe-5bc8-443b-bf48-cfba44cbb247"
},
"designate_tempest_plugin.tests.api.v2.test_zones.ZonesTest.test_update_zone": {
"idempotent_id": "id-123f51cb-19d5-48a9-aacc-476742c02141"
}
}
}
},
"designated_sections": {
"designate": {
"required": {
"guidance": "API and Central code, allowing for plugins and excluding storage and scheduler filters",
"sections": {
"api": {
"description": "The designate API, allowing for plugins",
"designated": true
},
"central": {
"description": "Designate central code, excluding storage and scheduler filters",
"designated": true
}
}
}
}
},
"test_repositories": {
"designate-tempest-plugin": {
"repository": "https://opendev.org/openstack/designate-tempest-plugin/",
"reference": "5da3047851aae36f09e0b52f79523426fec6a104",
"description": "OpenStack Designate Test Plugin Repository"
}
}
}

View File

@@ -1,215 +0,0 @@
{
"metadata": {
"id": "dns.2021.11",
"schema": "2.0",
"reference": "https://opendev.org/openinfra/interop/raw/branch/master/doc/source/schema/2.0.json",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/dns.2021.11.json",
"scoring": {
"cutoff_score": 60,
"criteria": {
"atomic": {
"name": "Atomic",
"description": "The capabilities are unique and cannot be built out of other must-pass capabilities.",
"weight": 6
},
"clients": {
"name": "Used By Clients",
"description": "The capabilities are widely used by common OpenStack clients, including the openstack client, nova client, neutron client, and so on. This criterion pertains mostly to API versioning. For example, if v2 of a given API is not used by other OpenStack clients but v1 is, then v2 doesn't achieve the 'used by clients' criterion.",
"weight": 10
},
"complete": {
"name": "Complete",
"description": "Where the code being tested has a designated area of alternate implementation (add-on framework) as per the Core Principles, there should be parity in capability tested across add-on implementations. This also implies that the capability test is not configuration specific or locked to non-open technology.",
"weight": 8
},
"discover": {
"name": "Discoverable",
"description": "Capability being tested is Service Discoverable (can be found in Keystone and via service introspection).",
"weight": 8
},
"doc": {
"name": "Documented",
"description": "The capability is well documented, including both the interface and the expected behavior.",
"weight": 8
},
"future": {
"name": "Future Direction",
"description": "The capability reflects the future technical direction as defined by theproject technical teams and the Technical Committee.",
"weight": 11
},
"stable": {
"name": "Stable",
"description": "A capability that whose API has changed in more than two releases. Meant to select for capabilities that are stable and not under active development.",
"weight": 9
},
"sticky": {
"name": "Core In Last Release",
"description": "A capability whose API was present in the previous guideline release. Discourages the disruption of replacing the API a capability uses, or removing a capability from core.",
"weight": 9
},
"tools": {
"name": "Used By Tools",
"description": "Capabilities that are widely used outside of the OpenStack client ecosystem. Example tools include GopherCloud, jClouds, Fog, and so on.",
"weight": 6
}
}
},
"os_trademark_approval": {
"target_approval": "2021.11",
"replaces": "dns.2020.11",
"releases": ["victoria", "wallaby", "xena", "yoga"],
"status": "approved"
}
},
"add-ons": {
"DNS": {
"description": "OpenStack Powered with DNS",
"components": [
{ "name": "os_powered_dns" }
],
"required_platform_components": [
{
"name": "os_powered_compute",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/guidelines/2021.11.json"
}
]
}
},
"components": {
"os_powered_dns": {
"capabilities": {
"required": [
"dns-record-crud",
"dns-zone-crud"
],
"advisory": [
],
"deprecated": [
],
"removed": [
]
},
"designated_sections": {
"required": [
"designate"
]
}
}
},
"capabilities": {
"dns-record-crud": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Operations to create, update, and delete dns records.",
"project": "designate",
"required_since": "2018.02",
"tests": {
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_recordset_type_A": {
"idempotent_id": "id-d03b69a5-5052-43bc-a38a-b511b6b34304"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_recordset_type_AAAA": {
"idempotent_id": "id-ac110198-d58a-4a18-aceb-414d7e513d49"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_recordset_type_SRV_TCP": {
"idempotent_id": "id-6c22a3f9-3f4d-4b32-bdf2-5237851ed25e"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_recordset_type_SRV_UDP": {
"idempotent_id": "id-59c1aa42-278e-4f7b-a6a1-4320d5daf1fd"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_recordset_type_CNAME": {
"idempotent_id": "id-1ac46f94-f03a-4f85-b84f-826a2660b927"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_recordset_type_MX_at_APEX": {
"idempotent_id": "id-bf872487-7975-4a96-bb03-d24e393a0ce8"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_recordset_type_MX_under_APEX": {
"idempotent_id": "id-96fe72a4-a81c-4a01-a81f-39ebafad115c"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_recordset_type_SSHFP": {
"idempotent_id": "id-481496f1-917a-40d5-89fd-4a3794c24215"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_recordset_type_TXT": {
"idempotent_id": "id-8e7ecedb-5c35-46f8-ae0e-39e4aaabc97d"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_delete_recordset": {
"idempotent_id": "id-855399c1-8806-4ae5-aa31-cb8a6f35e218"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_list_recordsets": {
"idempotent_id": "id-5964f730-5546-46e6-9105-5030e9c492b2"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_show_recordsets": {
"idempotent_id": "id-84c13cb2-9020-4c1e-aeb0-c348d9a70caa"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_update_recordset": {
"idempotent_id": "id-8d41c85f-09f9-48be-a202-92d1bdf5c796"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_update_recordset_one_field": {
"idempotent_id": "id-60904cc5-148b-4e3b-a0c6-35656dc8d44c"
}
}
},
"dns-zone-crud": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Operations to create, update, and delete zones.",
"project": "designate",
"required_since": "2018.02",
"tests": {
"designate_tempest_plugin.tests.scenario.v2.test_zones.ZonesTest.test_create_and_delete_zone": {
"idempotent_id": "id-d0648f53-4114-45bd-8792-462a82f69d32"
},
"designate_tempest_plugin.tests.api.v2.test_zones.ZonesTest.test_show_zone": {
"idempotent_id": "id-02ca5d6a-86ce-4f02-9d94-9e5db55c3055"
},
"designate_tempest_plugin.tests.api.v2.test_zones.ZonesTest.test_list_zones": {
"idempotent_id": "id-5bfa3cfe-5bc8-443b-bf48-cfba44cbb247"
},
"designate_tempest_plugin.tests.api.v2.test_zones.ZonesTest.test_update_zone": {
"idempotent_id": "id-123f51cb-19d5-48a9-aacc-476742c02141"
}
}
}
},
"designated_sections": {
"designate": {
"required": {
"guidance": "API and Central code, allowing for plugins and excluding storage and scheduler filters",
"sections": {
"api": {
"description": "The designate API, allowing for plugins",
"designated": true
},
"central": {
"description": "Designate central code, excluding storage and scheduler filters",
"designated": true
}
}
}
}
},
"test_repositories": {
"designate-tempest-plugin": {
"repository": "https://opendev.org/openstack/designate-tempest-plugin/",
"reference": "f871a0e74f91e417adae5d7dd2a6cc17a62ba347",
"description": "OpenStack Designate Test Plugin Repository"
}
}
}

View File

@@ -1,215 +0,0 @@
{
"metadata": {
"id": "dns.2022.06",
"schema": "2.0",
"reference": "https://opendev.org/openinfra/interop/raw/branch/master/doc/source/schema/2.0.json",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/dns.2022.06.json",
"scoring": {
"cutoff_score": 60,
"criteria": {
"atomic": {
"name": "Atomic",
"description": "The capabilities are unique and cannot be built out of other must-pass capabilities.",
"weight": 6
},
"clients": {
"name": "Used By Clients",
"description": "The capabilities are widely used by common OpenStack clients, including the openstack client, nova client, neutron client, and so on. This criterion pertains mostly to API versioning. For example, if v2 of a given API is not used by other OpenStack clients but v1 is, then v2 doesn't achieve the 'used by clients' criterion.",
"weight": 10
},
"complete": {
"name": "Complete",
"description": "Where the code being tested has a designated area of alternate implementation (add-on framework) as per the Core Principles, there should be parity in capability tested across add-on implementations. This also implies that the capability test is not configuration specific or locked to non-open technology.",
"weight": 8
},
"discover": {
"name": "Discoverable",
"description": "Capability being tested is Service Discoverable (can be found in Keystone and via service introspection).",
"weight": 8
},
"doc": {
"name": "Documented",
"description": "The capability is well documented, including both the interface and the expected behavior.",
"weight": 8
},
"future": {
"name": "Future Direction",
"description": "The capability reflects the future technical direction as defined by theproject technical teams and the Technical Committee.",
"weight": 11
},
"stable": {
"name": "Stable",
"description": "A capability that whose API has changed in more than two releases. Meant to select for capabilities that are stable and not under active development.",
"weight": 9
},
"sticky": {
"name": "Core In Last Release",
"description": "A capability whose API was present in the previous guideline release. Discourages the disruption of replacing the API a capability uses, or removing a capability from core.",
"weight": 9
},
"tools": {
"name": "Used By Tools",
"description": "Capabilities that are widely used outside of the OpenStack client ecosystem. Example tools include GopherCloud, jClouds, Fog, and so on.",
"weight": 6
}
}
},
"os_trademark_approval": {
"target_approval": "dns.2022.06",
"replaces": "dns.2021.11",
"releases": ["wallaby", "xena", "yoga", "zed"],
"status": "approved"
}
},
"add-ons": {
"DNS": {
"description": "OpenStack Powered with DNS",
"components": [
{ "name": "os_powered_dns" }
],
"required_platform_components": [
{
"name": "os_powered_compute",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/guidelines/2022.06.json"
}
]
}
},
"components": {
"os_powered_dns": {
"capabilities": {
"required": [
"dns-record-crud",
"dns-zone-crud"
],
"advisory": [
],
"deprecated": [
],
"removed": [
]
},
"designated_sections": {
"required": [
"designate"
]
}
}
},
"capabilities": {
"dns-record-crud": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Operations to create, update, and delete dns records.",
"project": "designate",
"required_since": "2018.02",
"tests": {
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_recordset_type_A": {
"idempotent_id": "id-d03b69a5-5052-43bc-a38a-b511b6b34304"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_recordset_type_AAAA": {
"idempotent_id": "id-ac110198-d58a-4a18-aceb-414d7e513d49"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_recordset_type_SRV_TCP": {
"idempotent_id": "id-6c22a3f9-3f4d-4b32-bdf2-5237851ed25e"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_recordset_type_SRV_UDP": {
"idempotent_id": "id-59c1aa42-278e-4f7b-a6a1-4320d5daf1fd"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_recordset_type_CNAME": {
"idempotent_id": "id-1ac46f94-f03a-4f85-b84f-826a2660b927"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_recordset_type_MX_at_APEX": {
"idempotent_id": "id-bf872487-7975-4a96-bb03-d24e393a0ce8"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_recordset_type_MX_under_APEX": {
"idempotent_id": "id-96fe72a4-a81c-4a01-a81f-39ebafad115c"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_recordset_type_SSHFP": {
"idempotent_id": "id-481496f1-917a-40d5-89fd-4a3794c24215"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_recordset_type_TXT": {
"idempotent_id": "id-8e7ecedb-5c35-46f8-ae0e-39e4aaabc97d"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_delete_recordset": {
"idempotent_id": "id-855399c1-8806-4ae5-aa31-cb8a6f35e218"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_list_recordsets": {
"idempotent_id": "id-5964f730-5546-46e6-9105-5030e9c492b2"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_show_recordsets": {
"idempotent_id": "id-84c13cb2-9020-4c1e-aeb0-c348d9a70caa"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_update_recordset": {
"idempotent_id": "id-8d41c85f-09f9-48be-a202-92d1bdf5c796"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_update_recordset_one_field": {
"idempotent_id": "id-60904cc5-148b-4e3b-a0c6-35656dc8d44c"
}
}
},
"dns-zone-crud": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Operations to create, update, and delete zones.",
"project": "designate",
"required_since": "2018.02",
"tests": {
"designate_tempest_plugin.tests.scenario.v2.test_zones.ZonesTest.test_create_and_delete_zone": {
"idempotent_id": "id-d0648f53-4114-45bd-8792-462a82f69d32"
},
"designate_tempest_plugin.tests.api.v2.test_zones.ZonesTest.test_show_zone": {
"idempotent_id": "id-02ca5d6a-86ce-4f02-9d94-9e5db55c3055"
},
"designate_tempest_plugin.tests.api.v2.test_zones.ZonesTest.test_list_zones": {
"idempotent_id": "id-5bfa3cfe-5bc8-443b-bf48-cfba44cbb247"
},
"designate_tempest_plugin.tests.api.v2.test_zones.ZonesTest.test_update_zone": {
"idempotent_id": "id-123f51cb-19d5-48a9-aacc-476742c02141"
}
}
}
},
"designated_sections": {
"designate": {
"required": {
"guidance": "API and Central code, allowing for plugins and excluding storage and scheduler filters",
"sections": {
"api": {
"description": "The designate API, allowing for plugins",
"designated": true
},
"central": {
"description": "Designate central code, excluding storage and scheduler filters",
"designated": true
}
}
}
}
},
"test_repositories": {
"designate-tempest-plugin": {
"repository": "https://opendev.org/openstack/designate-tempest-plugin/",
"reference": "dcfa7c0372e41dd7a7c208ce04209f978de6539a",
"description": "OpenStack Designate Test Plugin Repository"
}
}
}

View File

@@ -1,215 +0,0 @@
{
"metadata": {
"id": "dns.2022.11",
"schema": "2.0",
"reference": "https://opendev.org/openinfra/interop/raw/branch/master/doc/source/schema/2.0.json",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/dns.2022.11.json",
"scoring": {
"cutoff_score": 60,
"criteria": {
"atomic": {
"name": "Atomic",
"description": "The capabilities are unique and cannot be built out of other must-pass capabilities.",
"weight": 6
},
"clients": {
"name": "Used By Clients",
"description": "The capabilities are widely used by common OpenStack clients, including the openstack client, nova client, neutron client, and so on. This criterion pertains mostly to API versioning. For example, if v2 of a given API is not used by other OpenStack clients but v1 is, then v2 doesn't achieve the 'used by clients' criterion.",
"weight": 10
},
"complete": {
"name": "Complete",
"description": "Where the code being tested has a designated area of alternate implementation (add-on framework) as per the Core Principles, there should be parity in capability tested across add-on implementations. This also implies that the capability test is not configuration specific or locked to non-open technology.",
"weight": 8
},
"discover": {
"name": "Discoverable",
"description": "Capability being tested is Service Discoverable (can be found in Keystone and via service introspection).",
"weight": 8
},
"doc": {
"name": "Documented",
"description": "The capability is well documented, including both the interface and the expected behavior.",
"weight": 8
},
"future": {
"name": "Future Direction",
"description": "The capability reflects the future technical direction as defined by theproject technical teams and the Technical Committee.",
"weight": 11
},
"stable": {
"name": "Stable",
"description": "A capability that whose API has changed in more than two releases. Meant to select for capabilities that are stable and not under active development.",
"weight": 9
},
"sticky": {
"name": "Core In Last Release",
"description": "A capability whose API was present in the previous guideline release. Discourages the disruption of replacing the API a capability uses, or removing a capability from core.",
"weight": 9
},
"tools": {
"name": "Used By Tools",
"description": "Capabilities that are widely used outside of the OpenStack client ecosystem. Example tools include GopherCloud, jClouds, Fog, and so on.",
"weight": 6
}
}
},
"os_trademark_approval": {
"target_approval": "dns.2022.11",
"replaces": "dns.2022.06",
"releases": ["xena", "yoga", "zed", "antelope"],
"status": "draft"
}
},
"add-ons": {
"DNS": {
"description": "OpenStack Powered with DNS",
"components": [
{ "name": "os_powered_dns" }
],
"required_platform_components": [
{
"name": "os_powered_compute",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/guidelines/2022.11.json"
}
]
}
},
"components": {
"os_powered_dns": {
"capabilities": {
"required": [
"dns-record-crud",
"dns-zone-crud"
],
"advisory": [
],
"deprecated": [
],
"removed": [
]
},
"designated_sections": {
"required": [
"designate"
]
}
}
},
"capabilities": {
"dns-record-crud": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Operations to create, update, and delete dns records.",
"project": "designate",
"required_since": "2018.02",
"tests": {
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_recordset_type_A": {
"idempotent_id": "id-d03b69a5-5052-43bc-a38a-b511b6b34304"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_recordset_type_AAAA": {
"idempotent_id": "id-ac110198-d58a-4a18-aceb-414d7e513d49"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_recordset_type_SRV_TCP": {
"idempotent_id": "id-6c22a3f9-3f4d-4b32-bdf2-5237851ed25e"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_recordset_type_SRV_UDP": {
"idempotent_id": "id-59c1aa42-278e-4f7b-a6a1-4320d5daf1fd"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_recordset_type_CNAME": {
"idempotent_id": "id-1ac46f94-f03a-4f85-b84f-826a2660b927"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_recordset_type_MX_at_APEX": {
"idempotent_id": "id-bf872487-7975-4a96-bb03-d24e393a0ce8"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_recordset_type_MX_under_APEX": {
"idempotent_id": "id-96fe72a4-a81c-4a01-a81f-39ebafad115c"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_recordset_type_SSHFP": {
"idempotent_id": "id-481496f1-917a-40d5-89fd-4a3794c24215"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_recordset_type_TXT": {
"idempotent_id": "id-8e7ecedb-5c35-46f8-ae0e-39e4aaabc97d"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_delete_recordset": {
"idempotent_id": "id-855399c1-8806-4ae5-aa31-cb8a6f35e218"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_list_recordsets": {
"idempotent_id": "id-5964f730-5546-46e6-9105-5030e9c492b2"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_show_recordsets": {
"idempotent_id": "id-84c13cb2-9020-4c1e-aeb0-c348d9a70caa"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_update_recordset": {
"idempotent_id": "id-8d41c85f-09f9-48be-a202-92d1bdf5c796"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_update_recordset_one_field": {
"idempotent_id": "id-60904cc5-148b-4e3b-a0c6-35656dc8d44c"
}
}
},
"dns-zone-crud": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Operations to create, update, and delete zones.",
"project": "designate",
"required_since": "2018.02",
"tests": {
"designate_tempest_plugin.tests.scenario.v2.test_zones.ZonesTest.test_create_and_delete_zone": {
"idempotent_id": "id-d0648f53-4114-45bd-8792-462a82f69d32"
},
"designate_tempest_plugin.tests.api.v2.test_zones.ZonesTest.test_show_zone": {
"idempotent_id": "id-02ca5d6a-86ce-4f02-9d94-9e5db55c3055"
},
"designate_tempest_plugin.tests.api.v2.test_zones.ZonesTest.test_list_zones": {
"idempotent_id": "id-5bfa3cfe-5bc8-443b-bf48-cfba44cbb247"
},
"designate_tempest_plugin.tests.api.v2.test_zones.ZonesTest.test_update_zone": {
"idempotent_id": "id-123f51cb-19d5-48a9-aacc-476742c02141"
}
}
}
},
"designated_sections": {
"designate": {
"required": {
"guidance": "API and Central code, allowing for plugins and excluding storage and scheduler filters",
"sections": {
"api": {
"description": "The designate API, allowing for plugins",
"designated": true
},
"central": {
"description": "Designate central code, excluding storage and scheduler filters",
"designated": true
}
}
}
}
},
"test_repositories": {
"designate-tempest-plugin": {
"repository": "https://opendev.org/openstack/designate-tempest-plugin/",
"reference": "dcfa7c0372e41dd7a7c208ce04209f978de6539a",
"description": "OpenStack Designate Test Plugin Repository"
}
}
}

View File

@@ -1,215 +0,0 @@
{
"metadata": {
"id": "dns.next",
"schema": "2.0",
"reference": "https://opendev.org/openinfra/interop/raw/branch/master/doc/source/schema/2.0.json",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/dns.next.json",
"scoring": {
"cutoff_score": 60,
"criteria": {
"atomic": {
"name": "Atomic",
"description": "The capabilities are unique and cannot be built out of other must-pass capabilities.",
"weight": 6
},
"clients": {
"name": "Used By Clients",
"description": "The capabilities are widely used by common OpenStack clients, including the openstack client, nova client, neutron client, and so on. This criterion pertains mostly to API versioning. For example, if v2 of a given API is not used by other OpenStack clients but v1 is, then v2 doesn't achieve the 'used by clients' criterion.",
"weight": 10
},
"complete": {
"name": "Complete",
"description": "Where the code being tested has a designated area of alternate implementation (add-on framework) as per the Core Principles, there should be parity in capability tested across add-on implementations. This also implies that the capability test is not configuration specific or locked to non-open technology.",
"weight": 8
},
"discover": {
"name": "Discoverable",
"description": "Capability being tested is Service Discoverable (can be found in Keystone and via service introspection).",
"weight": 8
},
"doc": {
"name": "Documented",
"description": "The capability is well documented, including both the interface and the expected behavior.",
"weight": 8
},
"future": {
"name": "Future Direction",
"description": "The capability reflects the future technical direction as defined by theproject technical teams and the Technical Committee.",
"weight": 11
},
"stable": {
"name": "Stable",
"description": "A capability that whose API has changed in more than two releases. Meant to select for capabilities that are stable and not under active development.",
"weight": 9
},
"sticky": {
"name": "Core In Last Release",
"description": "A capability whose API was present in the previous guideline release. Discourages the disruption of replacing the API a capability uses, or removing a capability from core.",
"weight": 9
},
"tools": {
"name": "Used By Tools",
"description": "Capabilities that are widely used outside of the OpenStack client ecosystem. Example tools include GopherCloud, jClouds, Fog, and so on.",
"weight": 6
}
}
},
"os_trademark_approval": {
"target_approval": "dns.2023.11",
"replaces": "dns.2022.11",
"releases": ["xena", "yoga", "zed", "antelope"],
"status": "draft"
}
},
"add-ons": {
"DNS": {
"description": "OpenStack Powered with DNS",
"components": [
{ "name": "os_powered_dns" }
],
"required_platform_components": [
{
"name": "os_powered_compute",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/guidelines/next.json"
}
]
}
},
"components": {
"os_powered_dns": {
"capabilities": {
"required": [
"dns-record-crud",
"dns-zone-crud"
],
"advisory": [
],
"deprecated": [
],
"removed": [
]
},
"designated_sections": {
"required": [
"designate"
]
}
}
},
"capabilities": {
"dns-record-crud": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Operations to create, update, and delete dns records.",
"project": "designate",
"required_since": "2018.02",
"tests": {
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_recordset_type_A": {
"idempotent_id": "id-d03b69a5-5052-43bc-a38a-b511b6b34304"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_recordset_type_AAAA": {
"idempotent_id": "id-ac110198-d58a-4a18-aceb-414d7e513d49"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_recordset_type_SRV_TCP": {
"idempotent_id": "id-6c22a3f9-3f4d-4b32-bdf2-5237851ed25e"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_recordset_type_SRV_UDP": {
"idempotent_id": "id-59c1aa42-278e-4f7b-a6a1-4320d5daf1fd"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_recordset_type_CNAME": {
"idempotent_id": "id-1ac46f94-f03a-4f85-b84f-826a2660b927"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_recordset_type_MX_at_APEX": {
"idempotent_id": "id-bf872487-7975-4a96-bb03-d24e393a0ce8"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_recordset_type_MX_under_APEX": {
"idempotent_id": "id-96fe72a4-a81c-4a01-a81f-39ebafad115c"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_recordset_type_SSHFP": {
"idempotent_id": "id-481496f1-917a-40d5-89fd-4a3794c24215"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_recordset_type_TXT": {
"idempotent_id": "id-8e7ecedb-5c35-46f8-ae0e-39e4aaabc97d"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_delete_recordset": {
"idempotent_id": "id-855399c1-8806-4ae5-aa31-cb8a6f35e218"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_list_recordsets": {
"idempotent_id": "id-5964f730-5546-46e6-9105-5030e9c492b2"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_show_recordsets": {
"idempotent_id": "id-84c13cb2-9020-4c1e-aeb0-c348d9a70caa"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_update_recordset": {
"idempotent_id": "id-8d41c85f-09f9-48be-a202-92d1bdf5c796"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_update_recordset_one_field": {
"idempotent_id": "id-60904cc5-148b-4e3b-a0c6-35656dc8d44c"
}
}
},
"dns-zone-crud": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Operations to create, update, and delete zones.",
"project": "designate",
"required_since": "2018.02",
"tests": {
"designate_tempest_plugin.tests.scenario.v2.test_zones.ZonesTest.test_create_and_delete_zone": {
"idempotent_id": "id-d0648f53-4114-45bd-8792-462a82f69d32"
},
"designate_tempest_plugin.tests.api.v2.test_zones.ZonesTest.test_show_zone": {
"idempotent_id": "id-02ca5d6a-86ce-4f02-9d94-9e5db55c3055"
},
"designate_tempest_plugin.tests.api.v2.test_zones.ZonesTest.test_list_zones": {
"idempotent_id": "id-5bfa3cfe-5bc8-443b-bf48-cfba44cbb247"
},
"designate_tempest_plugin.tests.api.v2.test_zones.ZonesTest.test_update_zone": {
"idempotent_id": "id-123f51cb-19d5-48a9-aacc-476742c02141"
}
}
}
},
"designated_sections": {
"designate": {
"required": {
"guidance": "API and Central code, allowing for plugins and excluding storage and scheduler filters",
"sections": {
"api": {
"description": "The designate API, allowing for plugins",
"designated": true
},
"central": {
"description": "Designate central code, excluding storage and scheduler filters",
"designated": true
}
}
}
}
},
"test_repositories": {
"designate-tempest-plugin": {
"repository": "https://opendev.org/openstack/designate-tempest-plugin/",
"reference": "dcfa7c0372e41dd7a7c208ce04209f978de6539a",
"description": "OpenStack Designate Test Plugin Repository"
}
}
}

View File

@@ -1,228 +0,0 @@
{
"metadata": {
"id": "key_manager.2022.11",
"schema": "2.0",
"reference": "https://opendev.org/openinfra/interop/raw/branch/master/doc/source/schema/2.0.json",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/key_manager.2022.11.json",
"scoring": {
"cutoff_score": 60,
"criteria": {
"atomic": {
"name": "Atomic",
"description": "The capabilities are unique and cannot be built out of other must-pass capabilities.",
"weight": 6
},
"clients": {
"name": "Used By Clients",
"description": "The capabilities are widely used by common OpenStack clients, including the openstack client, nova client, neutron client, and so on. This criterion pertains mostly to API versioning. For example, if v2 of a given API is not used by other OpenStack clients but v1 is, then v2 doesn't achieve the 'used by clients' criterion.",
"weight": 10
},
"complete": {
"name": "Complete",
"description": "Where the code being tested has a designated area of alternate implementation (add-on framework) as per the Core Principles, there should be parity in capability tested across add-on implementations. This also implies that the capability test is not configuration specific or locked to non-open technology.",
"weight": 8
},
"discover": {
"name": "Discoverable",
"description": "Capability being tested is Service Discoverable (can be found in Keystone and via service introspection).",
"weight": 8
},
"doc": {
"name": "Documented",
"description": "The capability is well documented, including both the interface and the expected behavior.",
"weight": 8
},
"future": {
"name": "Future Direction",
"description": "The capability reflects the future technical direction as defined by theproject technical teams and the Technical Committee.",
"weight": 11
},
"stable": {
"name": "Stable",
"description": "A capability that whose API has changed in more than two releases. Meant to select for capabilities that are stable and not under active development.",
"weight": 9
},
"sticky": {
"name": "Core In Last Release",
"description": "A capability whose API was present in the previous guideline release. Discourages the disruption of replacing the API a capability uses, or removing a capability from core.",
"weight": 9
},
"tools": {
"name": "Used By Tools",
"description": "Capabilities that are widely used outside of the OpenStack client ecosystem. Example tools include GopherCloud, jClouds, Fog, and so on.",
"weight": 6
}
}
},
"os_trademark_approval": {
"target_approval": "key_manager.2022.11",
"replaces": "",
"releases": ["xena", "yoga", "zed", "antelope"],
"status": "draft"
}
},
"add-ons": {
"key_manager": {
"description": "OpenStack Powered with Key Manager",
"components": [
{ "name": "os_powered_key_manager" }
],
"required_platform_components": [
{
"name": "os_powered_compute",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/guidelines/2022.11.json"
}
]
}
},
"components": {
"os_powered_key_manager": {
"capabilities": {
"required": [
],
"advisory": [
"secret-CRUD",
"secret-generation",
"secret-management",
"system-management"
],
"deprecated": [
],
"removed": [
]
},
"designated_sections": {
"required": [
"barbican"
]
}
}
},
"capabilities": {
"secret-CRUD": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Tests provider list API and field filtering.",
"project": "barbican",
"required_since": "",
"tests": {
"barbican_tempest_plugin.tests.api.test_secrets.SecretsTest.test_create_delete_empty_secret": {
"idempotent_id": "id-d5fb4ae4-c418-4405-9701-95fc6877aeb9"
},
"barbican_tempest_plugin.tests.api.test_secrets.SecretsTest.test_create_delete_symmetric_key": {
"idempotent_id": "id-9aee2ad3-5b61-4451-8ccc-a727bbe4618a"
},
"barbican_tempest_plugin.tests.api.test_secrets.SecretsTest.test_get_and_put_payload": {
"idempotent_id": "id-c5caa619-1e43-4724-8d94-a61ff7025a07"
},
"barbican_tempest_plugin.tests.api.test_secrets.SecretsTest.test_get_secret_metadata": {
"idempotent_id": "id-f5608620-f1f7-45a5-ac0a-e1c17d1f2f42"
},
"barbican_tempest_plugin.tests.api.test_secrets.SecretsTest.test_list_secrets": {
"idempotent_id": "id-79ec555d-215d-4006-bcf0-ab4c6cb0b9ff"
}
}
},
"secret-generation": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Tests provider list API and field filtering.",
"project": "barbican",
"required_since": "",
"tests": {
"barbican_tempest_plugin.tests.api.test_orders.OrdersTest.test_create_list_delete_orders": {
"idempotent_id": "id-077c1729-1950-4e62-a29c-daba4aa186ad"
}
}
},
"secret-management": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Tests provider list API and field filtering.",
"project": "barbican",
"required_since": "",
"tests": {
"barbican_tempest_plugin.tests.api.test_consumers.ConsumersTest.test_add_delete_consumers_in_container": {
"idempotent_id": "id-7d46a170-6b3b-4f4d-903a-b29aebb93289"
},
"barbican_tempest_plugin.tests.api.test_containers.ContainersTest.test_add_to_delete_from_container": {
"idempotent_id": "id-af10a78d-b1f8-440d-8b89-639861f16fd0"
},
"barbican_tempest_plugin.tests.api.test_containers.ContainersTest.test_create_list_delete_empty_container": {
"idempotent_id": "id-2e13d4bb-54de-463a-a358-0fb9a221d8f3"
},
"barbican_tempest_plugin.tests.api.test_secret_metadata.SecretMetadataTest.test_secret_metadata": {
"idempotent_id": "id-2b0c1707-afc3-4674-a6c6-4dc42f318117"
}
}
},
"system-management": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Tests provider list API and field filtering.",
"project": "barbican",
"required_since": "",
"tests": {
"barbican_tempest_plugin.tests.api.test_quotas.QuotasTest.test_get_effective_quota": {
"idempotent_id": "id-47ebc42b-0e53-4060-b1a1-55bee2c7c43f"
}
}
}
},
"designated_sections": {
"barbican": {
"required": {
"guidance": "Key Manager solution.",
"sections": {
"api": {
"description": "This tests Barbican API.",
"designated": true
}
}
}
}
},
"test_repositories": {
"barbican-tempest-plugin": {
"repository": "https://opendev.org/openstack/barbican-tempest-plugin/",
"reference": "a32eaf0dd8a4cd1825f69b97dc7ac51519ec07d7",
"description": "OpenStack Barbican Test Plugin Repository"
}
}
}

View File

@@ -1,228 +0,0 @@
{
"metadata": {
"id": "key_manager.next",
"schema": "2.0",
"reference": "https://opendev.org/openinfra/interop/raw/branch/master/doc/source/schema/2.0.json",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/key_manager.next.json",
"scoring": {
"cutoff_score": 60,
"criteria": {
"atomic": {
"name": "Atomic",
"description": "The capabilities are unique and cannot be built out of other must-pass capabilities.",
"weight": 6
},
"clients": {
"name": "Used By Clients",
"description": "The capabilities are widely used by common OpenStack clients, including the openstack client, nova client, neutron client, and so on. This criterion pertains mostly to API versioning. For example, if v2 of a given API is not used by other OpenStack clients but v1 is, then v2 doesn't achieve the 'used by clients' criterion.",
"weight": 10
},
"complete": {
"name": "Complete",
"description": "Where the code being tested has a designated area of alternate implementation (add-on framework) as per the Core Principles, there should be parity in capability tested across add-on implementations. This also implies that the capability test is not configuration specific or locked to non-open technology.",
"weight": 8
},
"discover": {
"name": "Discoverable",
"description": "Capability being tested is Service Discoverable (can be found in Keystone and via service introspection).",
"weight": 8
},
"doc": {
"name": "Documented",
"description": "The capability is well documented, including both the interface and the expected behavior.",
"weight": 8
},
"future": {
"name": "Future Direction",
"description": "The capability reflects the future technical direction as defined by theproject technical teams and the Technical Committee.",
"weight": 11
},
"stable": {
"name": "Stable",
"description": "A capability that whose API has changed in more than two releases. Meant to select for capabilities that are stable and not under active development.",
"weight": 9
},
"sticky": {
"name": "Core In Last Release",
"description": "A capability whose API was present in the previous guideline release. Discourages the disruption of replacing the API a capability uses, or removing a capability from core.",
"weight": 9
},
"tools": {
"name": "Used By Tools",
"description": "Capabilities that are widely used outside of the OpenStack client ecosystem. Example tools include GopherCloud, jClouds, Fog, and so on.",
"weight": 6
}
}
},
"os_trademark_approval": {
"target_approval": "key_manager.2023.11",
"replaces": "key_manager.2022.11",
"releases": ["xena", "yoga", "zed", "antelope"],
"status": "draft"
}
},
"add-ons": {
"key_manager": {
"description": "OpenStack Powered with Key Manager",
"components": [
{ "name": "os_powered_key_manager" }
],
"required_platform_components": [
{
"name": "os_powered_compute",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/guidelines/next.json"
}
]
}
},
"components": {
"os_powered_key_manager": {
"capabilities": {
"required": [
],
"advisory": [
"secret-CRUD",
"secret-generation",
"secret-management",
"system-management"
],
"deprecated": [
],
"removed": [
]
},
"designated_sections": {
"required": [
"barbican"
]
}
}
},
"capabilities": {
"secret-CRUD": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Tests provider list API and field filtering.",
"project": "barbican",
"required_since": "",
"tests": {
"barbican_tempest_plugin.tests.api.test_secrets.SecretsTest.test_create_delete_empty_secret": {
"idempotent_id": "id-d5fb4ae4-c418-4405-9701-95fc6877aeb9"
},
"barbican_tempest_plugin.tests.api.test_secrets.SecretsTest.test_create_delete_symmetric_key": {
"idempotent_id": "id-9aee2ad3-5b61-4451-8ccc-a727bbe4618a"
},
"barbican_tempest_plugin.tests.api.test_secrets.SecretsTest.test_get_and_put_payload": {
"idempotent_id": "id-c5caa619-1e43-4724-8d94-a61ff7025a07"
},
"barbican_tempest_plugin.tests.api.test_secrets.SecretsTest.test_get_secret_metadata": {
"idempotent_id": "id-f5608620-f1f7-45a5-ac0a-e1c17d1f2f42"
},
"barbican_tempest_plugin.tests.api.test_secrets.SecretsTest.test_list_secrets": {
"idempotent_id": "id-79ec555d-215d-4006-bcf0-ab4c6cb0b9ff"
}
}
},
"secret-generation": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Tests provider list API and field filtering.",
"project": "barbican",
"required_since": "",
"tests": {
"barbican_tempest_plugin.tests.api.test_orders.OrdersTest.test_create_list_delete_orders": {
"idempotent_id": "id-077c1729-1950-4e62-a29c-daba4aa186ad"
}
}
},
"secret-management": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Tests provider list API and field filtering.",
"project": "barbican",
"required_since": "",
"tests": {
"barbican_tempest_plugin.tests.api.test_consumers.ConsumersTest.test_add_delete_consumers_in_container": {
"idempotent_id": "id-7d46a170-6b3b-4f4d-903a-b29aebb93289"
},
"barbican_tempest_plugin.tests.api.test_containers.ContainersTest.test_add_to_delete_from_container": {
"idempotent_id": "id-af10a78d-b1f8-440d-8b89-639861f16fd0"
},
"barbican_tempest_plugin.tests.api.test_containers.ContainersTest.test_create_list_delete_empty_container": {
"idempotent_id": "id-2e13d4bb-54de-463a-a358-0fb9a221d8f3"
},
"barbican_tempest_plugin.tests.api.test_secret_metadata.SecretMetadataTest.test_secret_metadata": {
"idempotent_id": "id-2b0c1707-afc3-4674-a6c6-4dc42f318117"
}
}
},
"system-management": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Tests provider list API and field filtering.",
"project": "barbican",
"required_since": "",
"tests": {
"barbican_tempest_plugin.tests.api.test_quotas.QuotasTest.test_get_effective_quota": {
"idempotent_id": "id-47ebc42b-0e53-4060-b1a1-55bee2c7c43f"
}
}
}
},
"designated_sections": {
"barbican": {
"required": {
"guidance": "Key Manager solution.",
"sections": {
"api": {
"description": "This tests Barbican API.",
"designated": true
}
}
}
}
},
"test_repositories": {
"barbican-tempest-plugin": {
"repository": "https://opendev.org/openstack/barbican-tempest-plugin/",
"reference": "a32eaf0dd8a4cd1825f69b97dc7ac51519ec07d7",
"description": "OpenStack Barbican Test Plugin Repository"
}
}
}

View File

@@ -1,358 +0,0 @@
{
"metadata": {
"id": "load_balancer.2022.11",
"schema": "2.0",
"reference": "https://opendev.org/openinfra/interop/raw/branch/master/doc/source/schema/2.0.json",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/load_balancer.2022.11.json",
"scoring": {
"cutoff_score": 60,
"criteria": {
"atomic": {
"name": "Atomic",
"description": "The capabilities are unique and cannot be built out of other must-pass capabilities.",
"weight": 6
},
"clients": {
"name": "Used By Clients",
"description": "The capabilities are widely used by common OpenStack clients, including the openstack client, nova client, neutron client, and so on. This criterion pertains mostly to API versioning. For example, if v2 of a given API is not used by other OpenStack clients but v1 is, then v2 doesn't achieve the 'used by clients' criterion.",
"weight": 10
},
"complete": {
"name": "Complete",
"description": "Where the code being tested has a designated area of alternate implementation (add-on framework) as per the Core Principles, there should be parity in capability tested across add-on implementations. This also implies that the capability test is not configuration specific or locked to non-open technology.",
"weight": 8
},
"discover": {
"name": "Discoverable",
"description": "Capability being tested is Service Discoverable (can be found in Keystone and via service introspection).",
"weight": 8
},
"doc": {
"name": "Documented",
"description": "The capability is well documented, including both the interface and the expected behavior.",
"weight": 8
},
"future": {
"name": "Future Direction",
"description": "The capability reflects the future technical direction as defined by theproject technical teams and the Technical Committee.",
"weight": 11
},
"stable": {
"name": "Stable",
"description": "A capability that whose API has changed in more than two releases. Meant to select for capabilities that are stable and not under active development.",
"weight": 9
},
"sticky": {
"name": "Core In Last Release",
"description": "A capability whose API was present in the previous guideline release. Discourages the disruption of replacing the API a capability uses, or removing a capability from core.",
"weight": 9
},
"tools": {
"name": "Used By Tools",
"description": "Capabilities that are widely used outside of the OpenStack client ecosystem. Example tools include GopherCloud, jClouds, Fog, and so on.",
"weight": 6
}
}
},
"os_trademark_approval": {
"target_approval": "load_balancer.2022.11",
"replaces": "",
"releases": ["xena", "yoga", "zed", "antelope"],
"status": "draft"
}
},
"add-ons": {
"load_balancer": {
"description": "OpenStack Powered with Load Balancer",
"components": [
{ "name": "os_powered_load_balancer" }
],
"required_platform_components": [
{
"name": "os_powered_compute",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/guidelines/2022.11.json"
}
]
}
},
"components": {
"os_powered_load_balancer": {
"capabilities": {
"required": [
],
"advisory": [
"provider-list",
"load-balancer-CRUD",
"create-listener",
"show-listener",
"show-listener-stats",
"list-listeners",
"update-listener",
"delete-listener"
],
"deprecated": [
],
"removed": [
]
},
"designated_sections": {
"required": [
"octavia"
]
}
}
},
"capabilities": {
"provider-list": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Tests provider list API and field filtering.",
"project": "octavia",
"required_since": "",
"tests": {
"octavia_tempest_plugin.tests.api.v2.test_provider.ProviderAPITest.test_provider_list": {
"idempotent_id": "id-8b94e0cc-a24d-4c29-bc8e-53f58214dc67"
}
}
},
"load-balancer-CRUD": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Tests CRUD operations with load balancer.",
"project": "octavia",
"required_since": "",
"tests": {
"octavia_tempest_plugin.tests.api.v2.test_load_balancer.LoadBalancerAPITest.test_load_balancer_ipv4_create": {
"idempotent_id": "id-61c6343c-a5d2-4b9f-8c7d-34ea83f0596b"
},
"octavia_tempest_plugin.tests.api.v2.test_load_balancer.LoadBalancerAPITest.test_load_balancer_ipv6_create": {
"idempotent_id": "id-fc9996de-4f55-4fc4-b8ef-a4b9170c7078"
},
"octavia_tempest_plugin.tests.api.v2.test_load_balancer.LoadBalancerAPITest.test_load_balancer_list": {
"idempotent_id": "id-6546ef3c-c0e2-46af-b892-f795f4d01119"
},
"octavia_tempest_plugin.tests.api.v2.test_load_balancer.LoadBalancerAPITest.test_load_balancer_show": {
"idempotent_id": "id-826ae612-8717-4c64-a8a7-cb9570a85870"
},
"octavia_tempest_plugin.tests.api.v2.test_load_balancer.LoadBalancerAPITest.test_load_balancer_show_stats": {
"idempotent_id": "id-105afcba-4dd6-46d6-8fa4-bd7330aa1259"
},
"octavia_tempest_plugin.tests.api.v2.test_load_balancer.LoadBalancerAPITest.test_load_balancer_show_status": {
"idempotent_id": "id-60acc1b0-fa46-41f8-b526-c81ae2f42c30"
},
"octavia_tempest_plugin.tests.api.v2.test_load_balancer.LoadBalancerAPITest.test_load_balancer_delete": {
"idempotent_id": "id-643ef031-c800-45f2-b229-3c8f8b37c829"
},
"octavia_tempest_plugin.tests.api.v2.test_load_balancer.LoadBalancerAPITest.test_load_balancer_delete_cascade": {
"idempotent_id": "id-abd784e3-485f-442a-85da-d91365c6b5dd"
},
"octavia_tempest_plugin.tests.api.v2.test_load_balancer.LoadBalancerAPITest.test_load_balancer_update": {
"idempotent_id": "id-b75a4d15-49d2-4149-a745-635eed1aacc3"
},
"octavia_tempest_plugin.tests.api.v2.test_load_balancer.LoadBalancerAPITest.test_load_balancer_delete_cascade": {
"idempotent_id": "id-abd784e3-485f-442a-85da-d91365c6b5dd"
}
}
},
"create-listener": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Tests listener create and basic show APIs.",
"project": "octavia",
"required_since": "",
"tests": {
"octavia_tempest_plugin.tests.api.v2.test_listener.ListenerAPITest.test_http_listener_create": {
"idempotent_id": "id-88d0ec83-7b08-48d9-96e2-0df1d2f8cd98"
},
"octavia_tempest_plugin.tests.api.v2.test_listener.ListenerAPITest.test_tcp_listener_create": {
"idempotent_id": "id-45580065-5653-436b-aaff-dc465fa0a542"
},
"octavia_tempest_plugin.tests.api.v2.test_listener.ListenerAPITest.test_udp_listener_create": {
"idempotent_id": "id-7b53f336-47bc-45ae-bbd7-4342ef0673fc"
}
}
},
"show-listener": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Tests listener show API.",
"project": "octavia",
"required_since": "",
"tests": {
"octavia_tempest_plugin.tests.api.v2.test_listener.ListenerAPITest.test_http_listener_show": {
"idempotent_id": "id-6e299eae-6907-4dfc-89c2-e57709d25d3d"
},
"octavia_tempest_plugin.tests.api.v2.test_listener.ListenerAPITest.test_tcp_listener_show": {
"idempotent_id": "id-1fcbbee2-b697-4890-b6bf-d308ac1c94cd"
},
"octavia_tempest_plugin.tests.api.v2.test_listener.ListenerAPITest.test_udp_listener_show": {
"idempotent_id": "id-1dea3a6b-c95b-4e91-b591-1aa9cbcd0d1d"
}
}
},
"show-listener-stats": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Tests listener show statistics API.",
"project": "octavia",
"required_since": "",
"tests": {
"octavia_tempest_plugin.tests.api.v2.test_listener.ListenerAPITest.test_http_listener_show_stats": {
"idempotent_id": "id-6f14a6c1-945e-43bc-8215-410c8a5edb25"
},
"octavia_tempest_plugin.tests.api.v2.test_listener.ListenerAPITest.test_tcp_listener_show_stats": {
"idempotent_id": "id-8a999856-f448-498c-b891-21af449b5208"
},
"octavia_tempest_plugin.tests.api.v2.test_listener.ListenerAPITest.test_udp_listener_show_stats": {
"idempotent_id": "id-a4c1f199-923b-41e4-a134-c91e590e20c4"
}
}
},
"list-listeners": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Tests listener list API and field filtering.",
"project": "octavia",
"required_since": "",
"tests": {
"octavia_tempest_plugin.tests.api.v2.test_listener.ListenerAPITest.test_http_listener_list": {
"idempotent_id": "id-78ba6eb0-178c-477e-9156-b6775ca7b271"
},
"octavia_tempest_plugin.tests.api.v2.test_listener.ListenerAPITest.test_tcp_listener_list": {
"idempotent_id": "id-1cd476e2-7788-415e-bcaf-c377acfc9794"
},
"octavia_tempest_plugin.tests.api.v2.test_listener.ListenerAPITest.test_udp_listener_list": {
"idempotent_id": "id-c08fb77e-b317-4d6f-b430-91f5b27ebac6"
}
}
},
"update-listener": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Tests listener update and show APIs.",
"project": "octavia",
"required_since": "",
"tests": {
"octavia_tempest_plugin.tests.api.v2.test_listener.ListenerAPITest.test_http_listener_update": {
"idempotent_id": "id-aaae0298-5778-4c7e-a27a-01549a71b319"
},
"octavia_tempest_plugin.tests.api.v2.test_listener.ListenerAPITest.test_tcp_listener_update": {
"idempotent_id": "id-8d933121-db03-4ccc-8b77-4e879064a9ba"
},
"octavia_tempest_plugin.tests.api.v2.test_listener.ListenerAPITest.test_udp_listener_update": {
"idempotent_id": "id-fd02dbfd-39ce-41c2-b181-54fc7ad91707"
}
}
},
"delete-listener": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Tests listener create and delete APIs.",
"project": "octavia",
"required_since": "",
"tests": {
"octavia_tempest_plugin.tests.api.v2.test_listener.ListenerAPITest.test_http_listener_delete": {
"idempotent_id": "id-16f11c82-f069-4592-8954-81b35a98e3b7"
},
"octavia_tempest_plugin.tests.api.v2.test_listener.ListenerAPITest.test_tcp_listener_delete": {
"idempotent_id": "id-f5ca019d-2b33-48f9-9c2d-2ec169b423ca"
},
"octavia_tempest_plugin.tests.api.v2.test_listener.ListenerAPITest.test_udp_listener_delete": {
"idempotent_id": "id-86bd9717-e3e9-41e3-86c4-888c64455926"
}
}
}
},
"designated_sections": {
"octavia": {
"required": {
"guidance": "Load Balancing solution.",
"sections": {
"api": {
"description": "Octavia API for managing load balancers.",
"designated": true
}
}
}
}
},
"test_repositories": {
"octavia-tempest-plugin": {
"repository": "https://opendev.org/openstack/octavia-tempest-plugin/",
"reference": "5486b8af9238677d4975493a8cc1afb62f56d8bc",
"description": "OpenStack Octavia Test Plugin Repository"
}
}
}

View File

@@ -1,358 +0,0 @@
{
"metadata": {
"id": "load_balancer.next",
"schema": "2.0",
"reference": "https://opendev.org/openinfra/interop/raw/branch/master/doc/source/schema/2.0.json",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/load_balancer.next.json",
"scoring": {
"cutoff_score": 60,
"criteria": {
"atomic": {
"name": "Atomic",
"description": "The capabilities are unique and cannot be built out of other must-pass capabilities.",
"weight": 6
},
"clients": {
"name": "Used By Clients",
"description": "The capabilities are widely used by common OpenStack clients, including the openstack client, nova client, neutron client, and so on. This criterion pertains mostly to API versioning. For example, if v2 of a given API is not used by other OpenStack clients but v1 is, then v2 doesn't achieve the 'used by clients' criterion.",
"weight": 10
},
"complete": {
"name": "Complete",
"description": "Where the code being tested has a designated area of alternate implementation (add-on framework) as per the Core Principles, there should be parity in capability tested across add-on implementations. This also implies that the capability test is not configuration specific or locked to non-open technology.",
"weight": 8
},
"discover": {
"name": "Discoverable",
"description": "Capability being tested is Service Discoverable (can be found in Keystone and via service introspection).",
"weight": 8
},
"doc": {
"name": "Documented",
"description": "The capability is well documented, including both the interface and the expected behavior.",
"weight": 8
},
"future": {
"name": "Future Direction",
"description": "The capability reflects the future technical direction as defined by theproject technical teams and the Technical Committee.",
"weight": 11
},
"stable": {
"name": "Stable",
"description": "A capability that whose API has changed in more than two releases. Meant to select for capabilities that are stable and not under active development.",
"weight": 9
},
"sticky": {
"name": "Core In Last Release",
"description": "A capability whose API was present in the previous guideline release. Discourages the disruption of replacing the API a capability uses, or removing a capability from core.",
"weight": 9
},
"tools": {
"name": "Used By Tools",
"description": "Capabilities that are widely used outside of the OpenStack client ecosystem. Example tools include GopherCloud, jClouds, Fog, and so on.",
"weight": 6
}
}
},
"os_trademark_approval": {
"target_approval": "load_balancer.2023.11",
"replaces": "load_balancer.2022.11",
"releases": ["xena", "yoga", "zed", "antelope"],
"status": "draft"
}
},
"add-ons": {
"load_balancer": {
"description": "OpenStack Powered with Load Balancer",
"components": [
{ "name": "os_powered_load_balancer" }
],
"required_platform_components": [
{
"name": "os_powered_compute",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/guidelines/next.json"
}
]
}
},
"components": {
"os_powered_load_balancer": {
"capabilities": {
"required": [
],
"advisory": [
"provider-list",
"load-balancer-CRUD",
"create-listener",
"show-listener",
"show-listener-stats",
"list-listeners",
"update-listener",
"delete-listener"
],
"deprecated": [
],
"removed": [
]
},
"designated_sections": {
"required": [
"octavia"
]
}
}
},
"capabilities": {
"provider-list": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Tests provider list API and field filtering.",
"project": "octavia",
"required_since": "",
"tests": {
"octavia_tempest_plugin.tests.api.v2.test_provider.ProviderAPITest.test_provider_list": {
"idempotent_id": "id-8b94e0cc-a24d-4c29-bc8e-53f58214dc67"
}
}
},
"load-balancer-CRUD": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Tests CRUD operations with load balancer.",
"project": "octavia",
"required_since": "",
"tests": {
"octavia_tempest_plugin.tests.api.v2.test_load_balancer.LoadBalancerAPITest.test_load_balancer_ipv4_create": {
"idempotent_id": "id-61c6343c-a5d2-4b9f-8c7d-34ea83f0596b"
},
"octavia_tempest_plugin.tests.api.v2.test_load_balancer.LoadBalancerAPITest.test_load_balancer_ipv6_create": {
"idempotent_id": "id-fc9996de-4f55-4fc4-b8ef-a4b9170c7078"
},
"octavia_tempest_plugin.tests.api.v2.test_load_balancer.LoadBalancerAPITest.test_load_balancer_list": {
"idempotent_id": "id-6546ef3c-c0e2-46af-b892-f795f4d01119"
},
"octavia_tempest_plugin.tests.api.v2.test_load_balancer.LoadBalancerAPITest.test_load_balancer_show": {
"idempotent_id": "id-826ae612-8717-4c64-a8a7-cb9570a85870"
},
"octavia_tempest_plugin.tests.api.v2.test_load_balancer.LoadBalancerAPITest.test_load_balancer_show_stats": {
"idempotent_id": "id-105afcba-4dd6-46d6-8fa4-bd7330aa1259"
},
"octavia_tempest_plugin.tests.api.v2.test_load_balancer.LoadBalancerAPITest.test_load_balancer_show_status": {
"idempotent_id": "id-60acc1b0-fa46-41f8-b526-c81ae2f42c30"
},
"octavia_tempest_plugin.tests.api.v2.test_load_balancer.LoadBalancerAPITest.test_load_balancer_delete": {
"idempotent_id": "id-643ef031-c800-45f2-b229-3c8f8b37c829"
},
"octavia_tempest_plugin.tests.api.v2.test_load_balancer.LoadBalancerAPITest.test_load_balancer_delete_cascade": {
"idempotent_id": "id-abd784e3-485f-442a-85da-d91365c6b5dd"
},
"octavia_tempest_plugin.tests.api.v2.test_load_balancer.LoadBalancerAPITest.test_load_balancer_update": {
"idempotent_id": "id-b75a4d15-49d2-4149-a745-635eed1aacc3"
},
"octavia_tempest_plugin.tests.api.v2.test_load_balancer.LoadBalancerAPITest.test_load_balancer_delete_cascade": {
"idempotent_id": "id-abd784e3-485f-442a-85da-d91365c6b5dd"
}
}
},
"create-listener": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Tests listener create and basic show APIs.",
"project": "octavia",
"required_since": "",
"tests": {
"octavia_tempest_plugin.tests.api.v2.test_listener.ListenerAPITest.test_http_listener_create": {
"idempotent_id": "id-88d0ec83-7b08-48d9-96e2-0df1d2f8cd98"
},
"octavia_tempest_plugin.tests.api.v2.test_listener.ListenerAPITest.test_tcp_listener_create": {
"idempotent_id": "id-45580065-5653-436b-aaff-dc465fa0a542"
},
"octavia_tempest_plugin.tests.api.v2.test_listener.ListenerAPITest.test_udp_listener_create": {
"idempotent_id": "id-7b53f336-47bc-45ae-bbd7-4342ef0673fc"
}
}
},
"show-listener": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Tests listener show API.",
"project": "octavia",
"required_since": "",
"tests": {
"octavia_tempest_plugin.tests.api.v2.test_listener.ListenerAPITest.test_http_listener_show": {
"idempotent_id": "id-6e299eae-6907-4dfc-89c2-e57709d25d3d"
},
"octavia_tempest_plugin.tests.api.v2.test_listener.ListenerAPITest.test_tcp_listener_show": {
"idempotent_id": "id-1fcbbee2-b697-4890-b6bf-d308ac1c94cd"
},
"octavia_tempest_plugin.tests.api.v2.test_listener.ListenerAPITest.test_udp_listener_show": {
"idempotent_id": "id-1dea3a6b-c95b-4e91-b591-1aa9cbcd0d1d"
}
}
},
"show-listener-stats": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Tests listener show statistics API.",
"project": "octavia",
"required_since": "",
"tests": {
"octavia_tempest_plugin.tests.api.v2.test_listener.ListenerAPITest.test_http_listener_show_stats": {
"idempotent_id": "id-6f14a6c1-945e-43bc-8215-410c8a5edb25"
},
"octavia_tempest_plugin.tests.api.v2.test_listener.ListenerAPITest.test_tcp_listener_show_stats": {
"idempotent_id": "id-8a999856-f448-498c-b891-21af449b5208"
},
"octavia_tempest_plugin.tests.api.v2.test_listener.ListenerAPITest.test_udp_listener_show_stats": {
"idempotent_id": "id-a4c1f199-923b-41e4-a134-c91e590e20c4"
}
}
},
"list-listeners": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Tests listener list API and field filtering.",
"project": "octavia",
"required_since": "",
"tests": {
"octavia_tempest_plugin.tests.api.v2.test_listener.ListenerAPITest.test_http_listener_list": {
"idempotent_id": "id-78ba6eb0-178c-477e-9156-b6775ca7b271"
},
"octavia_tempest_plugin.tests.api.v2.test_listener.ListenerAPITest.test_tcp_listener_list": {
"idempotent_id": "id-1cd476e2-7788-415e-bcaf-c377acfc9794"
},
"octavia_tempest_plugin.tests.api.v2.test_listener.ListenerAPITest.test_udp_listener_list": {
"idempotent_id": "id-c08fb77e-b317-4d6f-b430-91f5b27ebac6"
}
}
},
"update-listener": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Tests listener update and show APIs.",
"project": "octavia",
"required_since": "",
"tests": {
"octavia_tempest_plugin.tests.api.v2.test_listener.ListenerAPITest.test_http_listener_update": {
"idempotent_id": "id-aaae0298-5778-4c7e-a27a-01549a71b319"
},
"octavia_tempest_plugin.tests.api.v2.test_listener.ListenerAPITest.test_tcp_listener_update": {
"idempotent_id": "id-8d933121-db03-4ccc-8b77-4e879064a9ba"
},
"octavia_tempest_plugin.tests.api.v2.test_listener.ListenerAPITest.test_udp_listener_update": {
"idempotent_id": "id-fd02dbfd-39ce-41c2-b181-54fc7ad91707"
}
}
},
"delete-listener": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Tests listener create and delete APIs.",
"project": "octavia",
"required_since": "",
"tests": {
"octavia_tempest_plugin.tests.api.v2.test_listener.ListenerAPITest.test_http_listener_delete": {
"idempotent_id": "id-16f11c82-f069-4592-8954-81b35a98e3b7"
},
"octavia_tempest_plugin.tests.api.v2.test_listener.ListenerAPITest.test_tcp_listener_delete": {
"idempotent_id": "id-f5ca019d-2b33-48f9-9c2d-2ec169b423ca"
},
"octavia_tempest_plugin.tests.api.v2.test_listener.ListenerAPITest.test_udp_listener_delete": {
"idempotent_id": "id-86bd9717-e3e9-41e3-86c4-888c64455926"
}
}
}
},
"designated_sections": {
"octavia": {
"required": {
"guidance": "Load Balancing solution.",
"sections": {
"api": {
"description": "Octavia API for managing load balancers.",
"designated": true
}
}
}
}
},
"test_repositories": {
"octavia-tempest-plugin": {
"repository": "https://opendev.org/openstack/octavia-tempest-plugin/",
"reference": "5486b8af9238677d4975493a8cc1afb62f56d8bc",
"description": "OpenStack Octavia Test Plugin Repository"
}
}
}

View File

@@ -1,719 +0,0 @@
{
"metadata": {
"id": "orchestration.next",
"schema": "2.0",
"reference": "https://opendev.org/openinfra/interop/raw/branch/master/doc/source/schema/2.0.json",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/orchestration.next.json",
"scoring": {
"cutoff_score": 60,
"criteria": {
"atomic": {
"name": "Atomic",
"description": "The capabilities are unique and cannot be built out of other must-pass capabilities.",
"weight": 6
},
"clients": {
"name": "Used By Clients",
"description": "The capabilities are widely used by common OpenStack clients, including the openstack client, nova client, neutron client, and so on. This criterion pertains mostly to API versioning. For example, if v2 of a given API is not used by other OpenStack clients but v1 is, then v2 doesn't achieve the 'used by clients' criterion.",
"weight": 10
},
"complete": {
"name": "Complete",
"description": "Where the code being tested has a designated area of alternate implementation (add-on framework) as per the Core Principles, there should be parity in capability tested across add-on implementations. This also implies that the capability test is not configuration specific or locked to non-open technology.",
"weight": 8
},
"discover": {
"name": "Discoverable",
"description": "Capability being tested is Service Discoverable (can be found in Keystone and via service introspection).",
"weight": 8
},
"doc": {
"name": "Documented",
"description": "The capability is well documented, including both the interface and the expected behavior.",
"weight": 8
},
"future": {
"name": "Future Direction",
"description": "The capability reflects the future technical direction as defined by theproject technical teams and the Technical Committee.",
"weight": 11
},
"stable": {
"name": "Stable",
"description": "A capability that whose API has changed in more than two releases. Meant to select for capabilities that are stable and not under active development.",
"weight": 9
},
"sticky": {
"name": "Core In Last Release",
"description": "A capability whose API was present in the previous guideline release. Discourages the disruption of replacing the API a capability uses, or removing a capability from core.",
"weight": 9
},
"tools": {
"name": "Used By Tools",
"description": "Capabilities that are widely used outside of the OpenStack client ecosystem. Example tools include GopherCloud, jClouds, Fog, and so on.",
"weight": 6
}
}
},
"os_trademark_approval": {
"target_approval": "2018.02",
"releases": ["newton", "ocata", "pike", "queens"],
"status": "superseded"
}
},
"add-ons": {
"Orchestration": {
"description": "OpenStack Powered with Orchestration",
"components": [
{ "name": "os_powered_orchestration" }
],
"required_platform_components": [
{
"name": "os_powered_compute",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/guidelines/2018.02.json"
}
]
}
},
"components": {
"os_powered_orchestration": {
"capabilities": {
"required": [
"stack-create",
"stack-delete",
"stack-environment-parameter",
"stack-output",
"stack-list",
"stack-list-resource-types",
"stack-list-template-functions",
"stack-list-template-versions",
"stack-mark-resource-unhealthy",
"stack-resource-type-template",
"stack-show",
"stack-show-resource",
"stack-show-resource-type",
"stack-show-unhealthy-resource",
"stack-signal-resource",
"stack-template"
],
"advisory": [
"stack-update",
"stack-list-resources",
"stack-hook",
"stack-preview",
"stack-software-config",
"stack-event",
"stack-tag"
],
"deprecated": [
],
"removed": [
]
},
"designated_sections": {
"required": [
"heat"
]
}
}
},
"capabilities": {
"stack-create": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Create new stacks.",
"project": "heat",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_create_empty_stack.test_request": {
"idempotent_id": "id-bde1b827-65fb-47ea-909f-82537e6260d3"
},
"heat_tempest_plugin.tests.api.test_heat_api.resources_create_stack_with_resources.test_request": {
"idempotent_id": "id-947be7b2-503d-41f5-9843-61be50954f13"
},
"heat_tempest_plugin.tests.scenario.test_base_resources.BasicResourcesTest.test_base_resources_integration": {
"idempotent_id": "id-bd151ea4-2dcd-4440-9bf0-eff63a98e5d4"
}
}
},
"stack-update": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Update stacks.",
"project": "heat",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_update_stack.test_request": {
"idempotent_id": "id-6bb1ec02-dd19-4b2c-9a6d-866ce666650f"
},
"heat_tempest_plugin.tests.api.test_heat_api.stacks_patch_update_stack.test_request": {
"idempotent_id": "id-927cea42-a35b-4664-b209-ab2cb34e6ef4"
}
}
},
"stack-delete": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Delete stacks.",
"project": "heat",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_delete_empty_stack.test_request": {
"idempotent_id": "id-7eca55fe-8300-43b6-a6b8-fb2d99b51911"
},
"heat_tempest_plugin.tests.api.test_heat_api.environments_delete_envstack.test_request": {
"idempotent_id": "id-0efde180-cc0e-4f2c-bb18-fa345e8d21ad"
},
"heat_tempest_plugin.tests.api.test_heat_api.resources_delete_stack_with_resources.test_request": {
"idempotent_id": "id-0edc4fdc-811d-4d27-a0dd-6ec4db2bda6e"
}
}
},
"stack-environment-parameter": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Create an environment with parameters.",
"project": "heat",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.environments_environment_with_parameter.test_request": {
"idempotent_id": "id-8281d088-0c80-4071-a13d-333b309be6ca"
}
}
},
"stack-output": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Get the output of a stack.",
"project": "heat",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.environments_get_stack_output.test_request": {
"idempotent_id": "id-f60dd8df-82d1-4228-8926-54d65ebd12e1"
},
"heat_tempest_plugin.tests.functional.test_stack_outputs.StackOutputsTest.test_outputs": {
"idempotent_id": "id-a886dd67-4506-4a37-82ae-43f0a7d83f35"
},
"heat_tempest_plugin.tests.functional.test_stack_outputs.StackOutputsTest.test_outputs_update_new_resource": {
"idempotent_id": "id-aea0e495-4c77-4033-8c43-3351e9cb7b48"
},
"heat_tempest_plugin.tests.functional.test_stack_outputs.StackOutputsTest.test_output_error_nested": {
"idempotent_id": "id-993a403c-c6e2-475d-a65d-a82b8c9e0c22"
}
}
},
"stack-list": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List stacks.",
"project": "heat",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_stack_list.test_request": {
"idempotent_id": "id-39c0245e-6055-41cf-9f0e-15adfe55ded6"
}
}
},
"stack-list-resources": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List available resources.",
"project": "heat",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_list_filtered_resources.test_request": {
"idempotent_id": "id-da07d3d2-9ccc-4fa1-9b1b-9cb3074fe9b9"
},
"heat_tempest_plugin.tests.api.test_heat_api.resources_list_resources.test_request": {
"idempotent_id": "id-ec53f10d-a89a-4243-8706-629a01ea890f"
},
"heat_tempest_plugin.tests.functional.test_resources_list.ResourcesList.test_filtering_with_depend": {
"idempotent_id": "id-b65b5c82-68b0-42c9-82a0-c0e74e9ad906"
},
"heat_tempest_plugin.tests.functional.test_resources_list.ResourcesList.test_required_by": {
"idempotent_id": "id-97a65d53-b449-4a43-8283-42d43b165756"
}
}
},
"stack-list-resource-types": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List available resource types.",
"project": "heat",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resourcetypes_list_resource_types.test_request": {
"idempotent_id": "id-5b4db88b-d171-4400-b7a7-a7dc8f597d31"
}
}
},
"stack-list-template-versions": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List template versions.",
"project": "heat",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.templates_list_template_versions.test_request": {
"idempotent_id": "id-cbc28c20-e740-43ef-a01b-b1a39f4a0db3"
}
}
},
"stack-list-template-functions": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List template functions.",
"project": "heat",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.templates_list_template_functions.test_request": {
"idempotent_id": "id-721ff23c-8527-480f-a090-1c915b4f8430"
}
}
},
"stack-mark-resource-unhealthy": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Mark a resource as unhealthy.",
"project": "heat",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_mark_resource_unhealthy.test_request": {
"idempotent_id": "id-6031516b-3a8f-4d1b-8990-81a571b5f956"
}
}
},
"stack-resource-type-template": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show resource type template.",
"project": "heat",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resourcetypes_resource_type_template.test_request": {
"idempotent_id": "id-5a2164eb-645a-4245-acd7-b222a715fc09"
}
}
},
"stack-show": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show the empty stack.",
"project": "heat",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_show_empty_stack.test_request": {
"idempotent_id": "id-89b233fe-0d55-4959-9289-0b5dabe4e4c9"
}
}
},
"stack-show-resource": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show a resource.",
"project": "heat",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_show_resource.test_request": {
"idempotent_id": "id-2cbcedc5-0aa7-454e-bf89-a3dd5d379dc1"
}
}
},
"stack-show-resource-type": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show a resource type.",
"project": "heat",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resourcetypes_show_resource_type.test_request": {
"idempotent_id": "id-cc05d1ef-17f1-430e-bea1-0f6766f7d0b4"
}
}
},
"stack-show-unhealthy-resource": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show unhealthy resources.",
"project": "heat",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_show_unhealthy_resource.test_request": {
"idempotent_id": "id-9e784490-2e88-49af-8ee7-c4c6aba2be64"
}
}
},
"stack-signal-resource": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Send a signal to a resource.",
"project": "heat",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_signal_resource.test_request": {
"idempotent_id": "id-c65a047c-8c7b-4b44-9f5f-bf1069751c5c"
}
}
},
"stack-template": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Validate templates.",
"project": "heat",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.templates_template_validate.test_request": {
"idempotent_id": "id-f307139b-03d0-4006-92b7-81c86c949727"
},
"heat_tempest_plugin.tests.functional.test_templates.TemplateAPITest.test_get_stack_template": {
"idempotent_id": "id-ac6ebc41-bd6a-4df4-80e5-f4b9ae3b5506"
},
"heat_tempest_plugin.tests.functional.test_templates.TemplateAPITest.test_resource_types": {
"idempotent_id": "id-9f9a2fc0-f029-4d1f-a2eb-f019b9f75944"
},
"heat_tempest_plugin.tests.functional.test_templates.TemplateAPITest.test_show_resource_template": {
"idempotent_id": "id-fafbdcd0-eec3-4e6f-9c88-1e4835d085cf"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_basic": {
"idempotent_id": "id-b65a80c2-a507-4deb-9e7e-43181cc05211"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_override_default": {
"idempotent_id": "id-bf27371d-e202-4bae-9f13-2ef137958517"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_override_none": {
"idempotent_id": "id-0278e03d-ed50-4909-b29d-9c4267d3fcd6"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_basic_required_param": {
"idempotent_id": "id-acb1435b-f1db-4427-9121-7e3144ddb81e"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_fail_version": {
"idempotent_id": "id-7aac1feb-8256-4f70-8459-5e9780d28904"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_parameter_groups": {
"idempotent_id": "id-6a6472d2-71fa-4ebe-a2b6-20878838555b"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_nested_off": {
"idempotent_id": "id-5100cf18-f52a-47a2-880c-d540edad149f"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_nested_on": {
"idempotent_id": "id-480bcf64-25ae-49c7-b147-7cbc27d09cea"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_nested_on_multiple": {
"idempotent_id": "id-a0bb07f0-2e10-4226-a205-a7eb04df415f"
},
"heat_tempest_plugin.tests.functional.test_unicode_template.StackUnicodeTemplateTest.test_template_validate_basic": {
"idempotent_id": "id-871cc5dd-7550-494d-8c6d-9d549a8c0305"
},
"heat_tempest_plugin.tests.functional.test_unicode_template.StackUnicodeTemplateTest.test_template_validate_override_default": {
"idempotent_id": "id-e84c76b8-a5e5-45e7-9c4b-4c160d1c385f"
},
"heat_tempest_plugin.tests.functional.test_unicode_template.StackUnicodeTemplateTest.test_stack_preview": {
"idempotent_id": "id-66338945-a3ae-4e3a-aa17-ab802ceb00b1"
},
"heat_tempest_plugin.tests.functional.test_unicode_template.StackUnicodeTemplateTest.test_create_stack": {
"idempotent_id": "id-d2c4a10c-3cb4-4efd-889d-695a0acbd04f"
}
}
},
"stack-hook": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Set and unset hook",
"project": "heat",
"tests": {
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_create": {
"idempotent_id": "id-f14cbe86-0392-474a-9f28-bb561745698d"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_update_nochange": {
"idempotent_id": "id-75009076-96eb-43af-b4df-f002704737d2"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_update_replace": {
"idempotent_id": "id-9f03d1e0-a2d2-42fc-a9c6-47db05b9c8ed"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_update_in_place": {
"idempotent_id": "id-15c4f97d-5e06-40c6-83af-0e57d5afaff9"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_create_nested": {
"idempotent_id": "id-7d96b5f4-4aba-493d-b098-4beea4654a2b"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_create_wildcard": {
"idempotent_id": "id-cffc0783-3add-4f0c-ac66-03c90f6feeb0"
}
}
},
"stack-preview": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Preview stack",
"project": "heat",
"tests": {
"heat_tempest_plugin.tests.functional.test_preview.StackPreviewTest.test_basic_pass": {
"idempotent_id": "id-4c2c062d-4723-42c0-a113-3307dd4ceb12"
},
"heat_tempest_plugin.tests.functional.test_preview.StackPreviewTest.test_basic_fail": {
"idempotent_id": "id-54e69a54-762d-479e-a4f4-1fbf21af01c6"
},
"heat_tempest_plugin.tests.functional.test_preview.StackPreviewTest.test_nested_pass": {
"idempotent_id": "id-0449113c-ff90-4f2b-8825-27ea35c1983f"
},
"heat_tempest_plugin.tests.functional.test_preview.StackPreviewTest.test_res_group_with_nested_template:Wherej": {
"idempotent_id": "id-6ca8ddfc-106f-4ecc-83f7-fca31d0c85ca"
}
}
},
"stack-software-config": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Software config deployment",
"project": "heat",
"tests": {
"heat_tempest_plugin.tests.functional.test_software_config.ParallelDeploymentsTest.test_deployments_metadata": {
"idempotent_id": "id-8ee231ff-f80a-4a17-a860-5cda87e18ad0"
},
"heat_tempest_plugin.tests.functional.test_software_config.ParallelDeploymentsTest.test_deployments_timeout_failed": {
"idempotent_id": "id-bd539232-b999-4bec-b47d-ff4822fc8b82"
}
}
},
"stack-event": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Stack event.",
"project": "heat",
"tests": {
"heat_tempest_plugin.tests.functional.test_stack_events.StackEventsTest.test_event": {
"idempotent_id": "id-620f4f7c-74f8-48a4-a8b0-d06d0337f133"
}
}
},
"stack-tag": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Tag Stack.",
"project": "heat",
"tests": {
"heat_tempest_plugin.tests.functional.test_stack_tags.StackTagTest.test_stack_tag": {
"idempotent_id": "id-67332e51-b427-42d5-ad8d-fd2ec334f361"
},
"heat_tempest_plugin.tests.functional.test_stack_tags.StackTagTest.test_hidden_stack": {
"idempotent_id": "id-5ed79584-0684-4f9c-ae8e-44a8f874ec79"
}
}
}
},
"designated_sections": {
"heat": {
"required": {
"guidance": "Must at a minimum include resources for OpenStack Powered Compute components.",
"comment": "As a templating language, some clouds may include more or less code depending on offered resources.",
"sections": {
"resource class": {
"description": "Must include class 'Resource', as it is the basis for all resources.",
"designated": true
},
"template versions": {
"description": "Must contain corresponding hot template versions (and make it up to date with your OpenStack release) which code entry lists in 'heat.templates' under setup.cfg of heat repo. And make sure hot template functionality for versions are compatible with the corresponding versions.",
"designated": true
}
}
}
}
},
"test_repositories": {
"heat": {
"repository": "https://opendev.org/openstack/heat-tempest-plugin/",
"reference": "master",
"description": "OpenStack Heat Tempest Test Plugin Repository"
}
}
}

View File

@@ -1,742 +0,0 @@
{
"metadata": {
"id": "orchestration.2018.11",
"schema": "2.0",
"reference": "https://opendev.org/openinfra/interop/raw/branch/master/doc/source/schema/2.0.json",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/orchestration.2018.11.json",
"scoring": {
"cutoff_score": 60,
"criteria": {
"atomic": {
"name": "Atomic",
"description": "The capabilities are unique and cannot be built out of other must-pass capabilities.",
"weight": 6
},
"clients": {
"name": "Used By Clients",
"description": "The capabilities are widely used by common OpenStack clients, including the openstack client, nova client, neutron client, and so on. This criterion pertains mostly to API versioning. For example, if v2 of a given API is not used by other OpenStack clients but v1 is, then v2 doesn't achieve the 'used by clients' criterion.",
"weight": 10
},
"complete": {
"name": "Complete",
"description": "Where the code being tested has a designated area of alternate implementation (add-on framework) as per the Core Principles, there should be parity in capability tested across add-on implementations. This also implies that the capability test is not configuration specific or locked to non-open technology.",
"weight": 8
},
"discover": {
"name": "Discoverable",
"description": "Capability being tested is Service Discoverable (can be found in Keystone and via service introspection).",
"weight": 8
},
"doc": {
"name": "Documented",
"description": "The capability is well documented, including both the interface and the expected behavior.",
"weight": 8
},
"future": {
"name": "Future Direction",
"description": "The capability reflects the future technical direction as defined by theproject technical teams and the Technical Committee.",
"weight": 11
},
"stable": {
"name": "Stable",
"description": "A capability that whose API has changed in more than two releases. Meant to select for capabilities that are stable and not under active development.",
"weight": 9
},
"sticky": {
"name": "Core In Last Release",
"description": "A capability whose API was present in the previous guideline release. Discourages the disruption of replacing the API a capability uses, or removing a capability from core.",
"weight": 9
},
"tools": {
"name": "Used By Tools",
"description": "Capabilities that are widely used outside of the OpenStack client ecosystem. Example tools include GopherCloud, jClouds, Fog, and so on.",
"weight": 6
}
}
},
"os_trademark_approval": {
"target_approval": "orchestration.2018.11",
"replaces": "orchestration.2018.02",
"releases": ["ocata", "pike", "queens", "rocky", "stein"],
"status": "superseded"
}
},
"add-ons": {
"Orchestration": {
"description": "OpenStack Powered with Orchestration",
"components": [
{ "name": "os_powered_orchestration" }
],
"required_platform_components": [
{
"name": "os_powered_compute",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/guidelines/2018.11.json"
}
]
}
},
"components": {
"os_powered_orchestration": {
"capabilities": {
"required": [
"stack-create",
"stack-delete",
"stack-environment-parameter",
"stack-event",
"stack-hook",
"stack-list",
"stack-output",
"stack-preview",
"stack-list-resources",
"stack-list-resource-types",
"stack-list-template-functions",
"stack-list-template-versions",
"stack-mark-resource-unhealthy",
"stack-resource-type-template",
"stack-show",
"stack-show-resource",
"stack-show-resource-type",
"stack-show-unhealthy-resource",
"stack-signal-resource",
"stack-software-config",
"stack-tag",
"stack-template",
"stack-update"
],
"advisory": [
],
"deprecated": [
],
"removed": [
]
},
"designated_sections": {
"required": [
"heat"
]
}
}
},
"capabilities": {
"stack-create": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Create new stacks.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_create_empty_stack.test_request": {
"idempotent_id": "id-bde1b827-65fb-47ea-909f-82537e6260d3"
},
"heat_tempest_plugin.tests.api.test_heat_api.resources_create_stack_with_resources.test_request": {
"idempotent_id": "id-947be7b2-503d-41f5-9843-61be50954f13"
},
"heat_tempest_plugin.tests.scenario.test_base_resources.BasicResourcesTest.test_base_resources_integration": {
"idempotent_id": "id-bd151ea4-2dcd-4440-9bf0-eff63a98e5d4"
}
}
},
"stack-update": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Update stacks.",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_update_stack.test_request": {
"idempotent_id": "id-6bb1ec02-dd19-4b2c-9a6d-866ce666650f"
},
"heat_tempest_plugin.tests.api.test_heat_api.stacks_patch_update_stack.test_request": {
"idempotent_id": "id-927cea42-a35b-4664-b209-ab2cb34e6ef4"
}
}
},
"stack-delete": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Delete stacks.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_delete_empty_stack.test_request": {
"idempotent_id": "id-7eca55fe-8300-43b6-a6b8-fb2d99b51911"
},
"heat_tempest_plugin.tests.api.test_heat_api.environments_delete_envstack.test_request": {
"idempotent_id": "id-0efde180-cc0e-4f2c-bb18-fa345e8d21ad"
},
"heat_tempest_plugin.tests.api.test_heat_api.resources_delete_stack_with_resources.test_request": {
"idempotent_id": "id-0edc4fdc-811d-4d27-a0dd-6ec4db2bda6e"
}
}
},
"stack-environment-parameter": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Create an environment with parameters.",
"project": "heat",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.environments_environment_with_parameter.test_request": {
"idempotent_id": "id-8281d088-0c80-4071-a13d-333b309be6ca"
}
}
},
"stack-output": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Get the output of a stack.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.environments_get_stack_output.test_request": {
"idempotent_id": "id-f60dd8df-82d1-4228-8926-54d65ebd12e1"
},
"heat_tempest_plugin.tests.functional.test_stack_outputs.StackOutputsTest.test_outputs": {
"idempotent_id": "id-a886dd67-4506-4a37-82ae-43f0a7d83f35"
},
"heat_tempest_plugin.tests.functional.test_stack_outputs.StackOutputsTest.test_outputs_update_new_resource": {
"idempotent_id": "id-aea0e495-4c77-4033-8c43-3351e9cb7b48"
},
"heat_tempest_plugin.tests.functional.test_stack_outputs.StackOutputsTest.test_output_error_nested": {
"idempotent_id": "id-993a403c-c6e2-475d-a65d-a82b8c9e0c22"
}
}
},
"stack-list": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List stacks.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_stack_list.test_request": {
"idempotent_id": "id-39c0245e-6055-41cf-9f0e-15adfe55ded6"
}
}
},
"stack-list-resources": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List available resources.",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_list_filtered_resources.test_request": {
"idempotent_id": "id-da07d3d2-9ccc-4fa1-9b1b-9cb3074fe9b9"
},
"heat_tempest_plugin.tests.api.test_heat_api.resources_list_resources.test_request": {
"idempotent_id": "id-ec53f10d-a89a-4243-8706-629a01ea890f"
},
"heat_tempest_plugin.tests.functional.test_resources_list.ResourcesList.test_filtering_with_depend": {
"idempotent_id": "id-b65b5c82-68b0-42c9-82a0-c0e74e9ad906"
},
"heat_tempest_plugin.tests.functional.test_resources_list.ResourcesList.test_required_by": {
"idempotent_id": "id-97a65d53-b449-4a43-8283-42d43b165756"
}
}
},
"stack-list-resource-types": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List available resource types.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resourcetypes_list_resource_types.test_request": {
"idempotent_id": "id-5b4db88b-d171-4400-b7a7-a7dc8f597d31"
}
}
},
"stack-list-template-versions": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List template versions.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.templates_list_template_versions.test_request": {
"idempotent_id": "id-cbc28c20-e740-43ef-a01b-b1a39f4a0db3"
}
}
},
"stack-list-template-functions": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List template functions.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.templates_list_template_functions.test_request": {
"idempotent_id": "id-721ff23c-8527-480f-a090-1c915b4f8430"
}
}
},
"stack-mark-resource-unhealthy": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Mark a resource as unhealthy.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_mark_resource_unhealthy.test_request": {
"idempotent_id": "id-6031516b-3a8f-4d1b-8990-81a571b5f956"
}
}
},
"stack-resource-type-template": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show resource type template.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resourcetypes_resource_type_template.test_request": {
"idempotent_id": "id-5a2164eb-645a-4245-acd7-b222a715fc09"
}
}
},
"stack-show": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show the empty stack.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_show_empty_stack.test_request": {
"idempotent_id": "id-89b233fe-0d55-4959-9289-0b5dabe4e4c9"
}
}
},
"stack-show-resource": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show a resource.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_show_resource.test_request": {
"idempotent_id": "id-2cbcedc5-0aa7-454e-bf89-a3dd5d379dc1"
}
}
},
"stack-show-resource-type": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show a resource type.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resourcetypes_show_resource_type.test_request": {
"idempotent_id": "id-cc05d1ef-17f1-430e-bea1-0f6766f7d0b4"
}
}
},
"stack-show-unhealthy-resource": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show unhealthy resources.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_show_unhealthy_resource.test_request": {
"idempotent_id": "id-9e784490-2e88-49af-8ee7-c4c6aba2be64"
}
}
},
"stack-signal-resource": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Send a signal to a resource.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_signal_resource.test_request": {
"idempotent_id": "id-c65a047c-8c7b-4b44-9f5f-bf1069751c5c"
}
}
},
"stack-template": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Validate templates.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.templates_template_validate.test_request": {
"idempotent_id": "id-f307139b-03d0-4006-92b7-81c86c949727"
},
"heat_tempest_plugin.tests.functional.test_templates.TemplateAPITest.test_get_stack_template": {
"idempotent_id": "id-ac6ebc41-bd6a-4df4-80e5-f4b9ae3b5506"
},
"heat_tempest_plugin.tests.functional.test_templates.TemplateAPITest.test_resource_types": {
"idempotent_id": "id-9f9a2fc0-f029-4d1f-a2eb-f019b9f75944"
},
"heat_tempest_plugin.tests.functional.test_templates.TemplateAPITest.test_show_resource_template": {
"idempotent_id": "id-fafbdcd0-eec3-4e6f-9c88-1e4835d085cf"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_basic": {
"idempotent_id": "id-b65a80c2-a507-4deb-9e7e-43181cc05211"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_override_default": {
"idempotent_id": "id-bf27371d-e202-4bae-9f13-2ef137958517"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_override_none": {
"idempotent_id": "id-0278e03d-ed50-4909-b29d-9c4267d3fcd6"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_basic_required_param": {
"idempotent_id": "id-acb1435b-f1db-4427-9121-7e3144ddb81e"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_fail_version": {
"idempotent_id": "id-7aac1feb-8256-4f70-8459-5e9780d28904"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_parameter_groups": {
"idempotent_id": "id-6a6472d2-71fa-4ebe-a2b6-20878838555b"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_nested_off": {
"idempotent_id": "id-5100cf18-f52a-47a2-880c-d540edad149f"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_nested_on": {
"idempotent_id": "id-480bcf64-25ae-49c7-b147-7cbc27d09cea"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_nested_on_multiple": {
"idempotent_id": "id-a0bb07f0-2e10-4226-a205-a7eb04df415f"
},
"heat_tempest_plugin.tests.functional.test_unicode_template.StackUnicodeTemplateTest.test_template_validate_basic": {
"idempotent_id": "id-871cc5dd-7550-494d-8c6d-9d549a8c0305"
},
"heat_tempest_plugin.tests.functional.test_unicode_template.StackUnicodeTemplateTest.test_template_validate_override_default": {
"idempotent_id": "id-e84c76b8-a5e5-45e7-9c4b-4c160d1c385f"
},
"heat_tempest_plugin.tests.functional.test_unicode_template.StackUnicodeTemplateTest.test_stack_preview": {
"idempotent_id": "id-66338945-a3ae-4e3a-aa17-ab802ceb00b1"
},
"heat_tempest_plugin.tests.functional.test_unicode_template.StackUnicodeTemplateTest.test_create_stack": {
"idempotent_id": "id-d2c4a10c-3cb4-4efd-889d-695a0acbd04f"
}
}
},
"stack-hook": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Set and unset hook",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_create": {
"idempotent_id": "id-f14cbe86-0392-474a-9f28-bb561745698d"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_update_nochange": {
"idempotent_id": "id-75009076-96eb-43af-b4df-f002704737d2"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_update_replace": {
"idempotent_id": "id-9f03d1e0-a2d2-42fc-a9c6-47db05b9c8ed"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_update_in_place": {
"idempotent_id": "id-15c4f97d-5e06-40c6-83af-0e57d5afaff9"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_create_nested": {
"idempotent_id": "id-7d96b5f4-4aba-493d-b098-4beea4654a2b"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_create_wildcard": {
"idempotent_id": "id-cffc0783-3add-4f0c-ac66-03c90f6feeb0"
}
}
},
"stack-preview": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Preview stack",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.functional.test_preview.StackPreviewTest.test_basic_pass": {
"idempotent_id": "id-4c2c062d-4723-42c0-a113-3307dd4ceb12"
},
"heat_tempest_plugin.tests.functional.test_preview.StackPreviewTest.test_basic_fail": {
"idempotent_id": "id-54e69a54-762d-479e-a4f4-1fbf21af01c6"
},
"heat_tempest_plugin.tests.functional.test_preview.StackPreviewTest.test_nested_pass": {
"idempotent_id": "id-0449113c-ff90-4f2b-8825-27ea35c1983f"
},
"heat_tempest_plugin.tests.functional.test_preview.StackPreviewTest.test_res_group_with_nested_template:Wherej": {
"idempotent_id": "id-6ca8ddfc-106f-4ecc-83f7-fca31d0c85ca"
}
}
},
"stack-software-config": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Software config deployment",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.functional.test_software_config.ParallelDeploymentsTest.test_deployments_metadata": {
"idempotent_id": "id-8ee231ff-f80a-4a17-a860-5cda87e18ad0"
},
"heat_tempest_plugin.tests.functional.test_software_config.ParallelDeploymentsTest.test_deployments_timeout_failed": {
"idempotent_id": "id-bd539232-b999-4bec-b47d-ff4822fc8b82"
}
}
},
"stack-event": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Stack event.",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.functional.test_stack_events.StackEventsTest.test_event": {
"idempotent_id": "id-620f4f7c-74f8-48a4-a8b0-d06d0337f133"
}
}
},
"stack-tag": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Tag Stack.",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.functional.test_stack_tags.StackTagTest.test_stack_tag": {
"idempotent_id": "id-67332e51-b427-42d5-ad8d-fd2ec334f361"
},
"heat_tempest_plugin.tests.functional.test_stack_tags.StackTagTest.test_hidden_stack": {
"idempotent_id": "id-5ed79584-0684-4f9c-ae8e-44a8f874ec79"
}
}
}
},
"designated_sections": {
"heat": {
"required": {
"guidance": "Must at a minimum include resources for OpenStack Powered Compute components.",
"comment": "As a templating language, some clouds may include more or less code depending on offered resources.",
"sections": {
"resource class": {
"description": "Must include class 'Resource', as it is the basis for all resources.",
"designated": true
},
"template versions": {
"description": "Must contain corresponding hot template versions (and make it up to date with your OpenStack release) which code entry lists in 'heat.templates' under setup.cfg of heat repo. And make sure hot template functionality for versions are compatible with the corresponding versions.",
"designated": true
}
}
}
}
},
"test_repositories": {
"heat": {
"repository": "https://opendev.org/openstack/heat-tempest-plugin/",
"reference": "master",
"description": "OpenStack Heat Tempest Test Plugin Repository"
}
}
}

View File

@@ -1,742 +0,0 @@
{
"metadata": {
"id": "orchestration.2019.06",
"schema": "2.0",
"reference": "https://opendev.org/openinfra/interop/raw/branch/master/doc/source/schema/2.0.json",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/orchestration.2019.06.json",
"scoring": {
"cutoff_score": 60,
"criteria": {
"atomic": {
"name": "Atomic",
"description": "The capabilities are unique and cannot be built out of other must-pass capabilities.",
"weight": 6
},
"clients": {
"name": "Used By Clients",
"description": "The capabilities are widely used by common OpenStack clients, including the openstack client, nova client, neutron client, and so on. This criterion pertains mostly to API versioning. For example, if v2 of a given API is not used by other OpenStack clients but v1 is, then v2 doesn't achieve the 'used by clients' criterion.",
"weight": 10
},
"complete": {
"name": "Complete",
"description": "Where the code being tested has a designated area of alternate implementation (add-on framework) as per the Core Principles, there should be parity in capability tested across add-on implementations. This also implies that the capability test is not configuration specific or locked to non-open technology.",
"weight": 8
},
"discover": {
"name": "Discoverable",
"description": "Capability being tested is Service Discoverable (can be found in Keystone and via service introspection).",
"weight": 8
},
"doc": {
"name": "Documented",
"description": "The capability is well documented, including both the interface and the expected behavior.",
"weight": 8
},
"future": {
"name": "Future Direction",
"description": "The capability reflects the future technical direction as defined by theproject technical teams and the Technical Committee.",
"weight": 11
},
"stable": {
"name": "Stable",
"description": "A capability that whose API has changed in more than two releases. Meant to select for capabilities that are stable and not under active development.",
"weight": 9
},
"sticky": {
"name": "Core In Last Release",
"description": "A capability whose API was present in the previous guideline release. Discourages the disruption of replacing the API a capability uses, or removing a capability from core.",
"weight": 9
},
"tools": {
"name": "Used By Tools",
"description": "Capabilities that are widely used outside of the OpenStack client ecosystem. Example tools include GopherCloud, jClouds, Fog, and so on.",
"weight": 6
}
}
},
"os_trademark_approval": {
"target_approval": "orchestration.2019.06",
"replaces": "orchestration.2018.11",
"releases": ["queens", "rocky", "stein", "train"],
"status": "superseded"
}
},
"add-ons": {
"Orchestration": {
"description": "OpenStack Powered with Orchestration",
"components": [
{ "name": "os_powered_orchestration" }
],
"required_platform_components": [
{
"name": "os_powered_compute",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/guidelines/2019.06.json"
}
]
}
},
"components": {
"os_powered_orchestration": {
"capabilities": {
"required": [
"stack-create",
"stack-delete",
"stack-environment-parameter",
"stack-event",
"stack-hook",
"stack-list",
"stack-output",
"stack-preview",
"stack-list-resources",
"stack-list-resource-types",
"stack-list-template-functions",
"stack-list-template-versions",
"stack-mark-resource-unhealthy",
"stack-resource-type-template",
"stack-show",
"stack-show-resource",
"stack-show-resource-type",
"stack-show-unhealthy-resource",
"stack-signal-resource",
"stack-software-config",
"stack-tag",
"stack-template",
"stack-update"
],
"advisory": [
],
"deprecated": [
],
"removed": [
]
},
"designated_sections": {
"required": [
"heat"
]
}
}
},
"capabilities": {
"stack-create": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Create new stacks.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_create_empty_stack.test_request": {
"idempotent_id": "id-bde1b827-65fb-47ea-909f-82537e6260d3"
},
"heat_tempest_plugin.tests.api.test_heat_api.resources_create_stack_with_resources.test_request": {
"idempotent_id": "id-947be7b2-503d-41f5-9843-61be50954f13"
},
"heat_tempest_plugin.tests.scenario.test_base_resources.BasicResourcesTest.test_base_resources_integration": {
"idempotent_id": "id-bd151ea4-2dcd-4440-9bf0-eff63a98e5d4"
}
}
},
"stack-update": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Update stacks.",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_update_stack.test_request": {
"idempotent_id": "id-6bb1ec02-dd19-4b2c-9a6d-866ce666650f"
},
"heat_tempest_plugin.tests.api.test_heat_api.stacks_patch_update_stack.test_request": {
"idempotent_id": "id-927cea42-a35b-4664-b209-ab2cb34e6ef4"
}
}
},
"stack-delete": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Delete stacks.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_delete_empty_stack.test_request": {
"idempotent_id": "id-7eca55fe-8300-43b6-a6b8-fb2d99b51911"
},
"heat_tempest_plugin.tests.api.test_heat_api.environments_delete_envstack.test_request": {
"idempotent_id": "id-0efde180-cc0e-4f2c-bb18-fa345e8d21ad"
},
"heat_tempest_plugin.tests.api.test_heat_api.resources_delete_stack_with_resources.test_request": {
"idempotent_id": "id-0edc4fdc-811d-4d27-a0dd-6ec4db2bda6e"
}
}
},
"stack-environment-parameter": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Create an environment with parameters.",
"project": "heat",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.environments_environment_with_parameter.test_request": {
"idempotent_id": "id-8281d088-0c80-4071-a13d-333b309be6ca"
}
}
},
"stack-output": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Get the output of a stack.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.environments_get_stack_output.test_request": {
"idempotent_id": "id-f60dd8df-82d1-4228-8926-54d65ebd12e1"
},
"heat_tempest_plugin.tests.functional.test_stack_outputs.StackOutputsTest.test_outputs": {
"idempotent_id": "id-a886dd67-4506-4a37-82ae-43f0a7d83f35"
},
"heat_tempest_plugin.tests.functional.test_stack_outputs.StackOutputsTest.test_outputs_update_new_resource": {
"idempotent_id": "id-aea0e495-4c77-4033-8c43-3351e9cb7b48"
},
"heat_tempest_plugin.tests.functional.test_stack_outputs.StackOutputsTest.test_output_error_nested": {
"idempotent_id": "id-993a403c-c6e2-475d-a65d-a82b8c9e0c22"
}
}
},
"stack-list": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List stacks.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_stack_list.test_request": {
"idempotent_id": "id-39c0245e-6055-41cf-9f0e-15adfe55ded6"
}
}
},
"stack-list-resources": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List available resources.",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_list_filtered_resources.test_request": {
"idempotent_id": "id-da07d3d2-9ccc-4fa1-9b1b-9cb3074fe9b9"
},
"heat_tempest_plugin.tests.api.test_heat_api.resources_list_resources.test_request": {
"idempotent_id": "id-ec53f10d-a89a-4243-8706-629a01ea890f"
},
"heat_tempest_plugin.tests.functional.test_resources_list.ResourcesList.test_filtering_with_depend": {
"idempotent_id": "id-b65b5c82-68b0-42c9-82a0-c0e74e9ad906"
},
"heat_tempest_plugin.tests.functional.test_resources_list.ResourcesList.test_required_by": {
"idempotent_id": "id-97a65d53-b449-4a43-8283-42d43b165756"
}
}
},
"stack-list-resource-types": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List available resource types.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resourcetypes_list_resource_types.test_request": {
"idempotent_id": "id-5b4db88b-d171-4400-b7a7-a7dc8f597d31"
}
}
},
"stack-list-template-versions": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List template versions.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.templates_list_template_versions.test_request": {
"idempotent_id": "id-cbc28c20-e740-43ef-a01b-b1a39f4a0db3"
}
}
},
"stack-list-template-functions": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List template functions.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.templates_list_template_functions.test_request": {
"idempotent_id": "id-721ff23c-8527-480f-a090-1c915b4f8430"
}
}
},
"stack-mark-resource-unhealthy": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Mark a resource as unhealthy.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_mark_resource_unhealthy.test_request": {
"idempotent_id": "id-6031516b-3a8f-4d1b-8990-81a571b5f956"
}
}
},
"stack-resource-type-template": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show resource type template.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resourcetypes_resource_type_template.test_request": {
"idempotent_id": "id-5a2164eb-645a-4245-acd7-b222a715fc09"
}
}
},
"stack-show": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show the empty stack.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_show_empty_stack.test_request": {
"idempotent_id": "id-89b233fe-0d55-4959-9289-0b5dabe4e4c9"
}
}
},
"stack-show-resource": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show a resource.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_show_resource.test_request": {
"idempotent_id": "id-2cbcedc5-0aa7-454e-bf89-a3dd5d379dc1"
}
}
},
"stack-show-resource-type": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show a resource type.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resourcetypes_show_resource_type.test_request": {
"idempotent_id": "id-cc05d1ef-17f1-430e-bea1-0f6766f7d0b4"
}
}
},
"stack-show-unhealthy-resource": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show unhealthy resources.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_show_unhealthy_resource.test_request": {
"idempotent_id": "id-9e784490-2e88-49af-8ee7-c4c6aba2be64"
}
}
},
"stack-signal-resource": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Send a signal to a resource.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_signal_resource.test_request": {
"idempotent_id": "id-c65a047c-8c7b-4b44-9f5f-bf1069751c5c"
}
}
},
"stack-template": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Validate templates.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.templates_template_validate.test_request": {
"idempotent_id": "id-f307139b-03d0-4006-92b7-81c86c949727"
},
"heat_tempest_plugin.tests.functional.test_templates.TemplateAPITest.test_get_stack_template": {
"idempotent_id": "id-ac6ebc41-bd6a-4df4-80e5-f4b9ae3b5506"
},
"heat_tempest_plugin.tests.functional.test_templates.TemplateAPITest.test_resource_types": {
"idempotent_id": "id-9f9a2fc0-f029-4d1f-a2eb-f019b9f75944"
},
"heat_tempest_plugin.tests.functional.test_templates.TemplateAPITest.test_show_resource_template": {
"idempotent_id": "id-fafbdcd0-eec3-4e6f-9c88-1e4835d085cf"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_basic": {
"idempotent_id": "id-b65a80c2-a507-4deb-9e7e-43181cc05211"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_override_default": {
"idempotent_id": "id-bf27371d-e202-4bae-9f13-2ef137958517"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_override_none": {
"idempotent_id": "id-0278e03d-ed50-4909-b29d-9c4267d3fcd6"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_basic_required_param": {
"idempotent_id": "id-acb1435b-f1db-4427-9121-7e3144ddb81e"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_fail_version": {
"idempotent_id": "id-7aac1feb-8256-4f70-8459-5e9780d28904"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_parameter_groups": {
"idempotent_id": "id-6a6472d2-71fa-4ebe-a2b6-20878838555b"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_nested_off": {
"idempotent_id": "id-5100cf18-f52a-47a2-880c-d540edad149f"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_nested_on": {
"idempotent_id": "id-480bcf64-25ae-49c7-b147-7cbc27d09cea"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_nested_on_multiple": {
"idempotent_id": "id-a0bb07f0-2e10-4226-a205-a7eb04df415f"
},
"heat_tempest_plugin.tests.functional.test_unicode_template.StackUnicodeTemplateTest.test_template_validate_basic": {
"idempotent_id": "id-871cc5dd-7550-494d-8c6d-9d549a8c0305"
},
"heat_tempest_plugin.tests.functional.test_unicode_template.StackUnicodeTemplateTest.test_template_validate_override_default": {
"idempotent_id": "id-e84c76b8-a5e5-45e7-9c4b-4c160d1c385f"
},
"heat_tempest_plugin.tests.functional.test_unicode_template.StackUnicodeTemplateTest.test_stack_preview": {
"idempotent_id": "id-66338945-a3ae-4e3a-aa17-ab802ceb00b1"
},
"heat_tempest_plugin.tests.functional.test_unicode_template.StackUnicodeTemplateTest.test_create_stack": {
"idempotent_id": "id-d2c4a10c-3cb4-4efd-889d-695a0acbd04f"
}
}
},
"stack-hook": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Set and unset hook",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_create": {
"idempotent_id": "id-f14cbe86-0392-474a-9f28-bb561745698d"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_update_nochange": {
"idempotent_id": "id-75009076-96eb-43af-b4df-f002704737d2"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_update_replace": {
"idempotent_id": "id-9f03d1e0-a2d2-42fc-a9c6-47db05b9c8ed"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_update_in_place": {
"idempotent_id": "id-15c4f97d-5e06-40c6-83af-0e57d5afaff9"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_create_nested": {
"idempotent_id": "id-7d96b5f4-4aba-493d-b098-4beea4654a2b"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_create_wildcard": {
"idempotent_id": "id-cffc0783-3add-4f0c-ac66-03c90f6feeb0"
}
}
},
"stack-preview": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Preview stack",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.functional.test_preview.StackPreviewTest.test_basic_pass": {
"idempotent_id": "id-4c2c062d-4723-42c0-a113-3307dd4ceb12"
},
"heat_tempest_plugin.tests.functional.test_preview.StackPreviewTest.test_basic_fail": {
"idempotent_id": "id-54e69a54-762d-479e-a4f4-1fbf21af01c6"
},
"heat_tempest_plugin.tests.functional.test_preview.StackPreviewTest.test_nested_pass": {
"idempotent_id": "id-0449113c-ff90-4f2b-8825-27ea35c1983f"
},
"heat_tempest_plugin.tests.functional.test_preview.StackPreviewTest.test_res_group_with_nested_template:Wherej": {
"idempotent_id": "id-6ca8ddfc-106f-4ecc-83f7-fca31d0c85ca"
}
}
},
"stack-software-config": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Software config deployment",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.functional.test_software_config.ParallelDeploymentsTest.test_deployments_metadata": {
"idempotent_id": "id-8ee231ff-f80a-4a17-a860-5cda87e18ad0"
},
"heat_tempest_plugin.tests.functional.test_software_config.ParallelDeploymentsTest.test_deployments_timeout_failed": {
"idempotent_id": "id-bd539232-b999-4bec-b47d-ff4822fc8b82"
}
}
},
"stack-event": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Stack event.",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.functional.test_stack_events.StackEventsTest.test_event": {
"idempotent_id": "id-620f4f7c-74f8-48a4-a8b0-d06d0337f133"
}
}
},
"stack-tag": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Tag Stack.",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.functional.test_stack_tags.StackTagTest.test_stack_tag": {
"idempotent_id": "id-67332e51-b427-42d5-ad8d-fd2ec334f361"
},
"heat_tempest_plugin.tests.functional.test_stack_tags.StackTagTest.test_hidden_stack": {
"idempotent_id": "id-5ed79584-0684-4f9c-ae8e-44a8f874ec79"
}
}
}
},
"designated_sections": {
"heat": {
"required": {
"guidance": "Must at a minimum include resources for OpenStack Powered Compute components.",
"comment": "As a templating language, some clouds may include more or less code depending on offered resources.",
"sections": {
"resource class": {
"description": "Must include class 'Resource', as it is the basis for all resources.",
"designated": true
},
"template versions": {
"description": "Must contain corresponding hot template versions (and make it up to date with your OpenStack release) which code entry lists in 'heat.templates' under setup.cfg of heat repo. And make sure hot template functionality for versions are compatible with the corresponding versions.",
"designated": true
}
}
}
}
},
"test_repositories": {
"heat": {
"repository": "https://opendev.org/openstack/heat-tempest-plugin/",
"reference": "master",
"description": "OpenStack Heat Tempest Test Plugin Repository"
}
}
}

View File

@@ -1,742 +0,0 @@
{
"metadata": {
"id": "orchestration.2019.11",
"schema": "2.0",
"reference": "https://opendev.org/openinfra/interop/raw/branch/master/doc/source/schema/2.0.json",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/orchestration.2019.11.json",
"scoring": {
"cutoff_score": 60,
"criteria": {
"atomic": {
"name": "Atomic",
"description": "The capabilities are unique and cannot be built out of other must-pass capabilities.",
"weight": 6
},
"clients": {
"name": "Used By Clients",
"description": "The capabilities are widely used by common OpenStack clients, including the openstack client, nova client, neutron client, and so on. This criterion pertains mostly to API versioning. For example, if v2 of a given API is not used by other OpenStack clients but v1 is, then v2 doesn't achieve the 'used by clients' criterion.",
"weight": 10
},
"complete": {
"name": "Complete",
"description": "Where the code being tested has a designated area of alternate implementation (add-on framework) as per the Core Principles, there should be parity in capability tested across add-on implementations. This also implies that the capability test is not configuration specific or locked to non-open technology.",
"weight": 8
},
"discover": {
"name": "Discoverable",
"description": "Capability being tested is Service Discoverable (can be found in Keystone and via service introspection).",
"weight": 8
},
"doc": {
"name": "Documented",
"description": "The capability is well documented, including both the interface and the expected behavior.",
"weight": 8
},
"future": {
"name": "Future Direction",
"description": "The capability reflects the future technical direction as defined by theproject technical teams and the Technical Committee.",
"weight": 11
},
"stable": {
"name": "Stable",
"description": "A capability that whose API has changed in more than two releases. Meant to select for capabilities that are stable and not under active development.",
"weight": 9
},
"sticky": {
"name": "Core In Last Release",
"description": "A capability whose API was present in the previous guideline release. Discourages the disruption of replacing the API a capability uses, or removing a capability from core.",
"weight": 9
},
"tools": {
"name": "Used By Tools",
"description": "Capabilities that are widely used outside of the OpenStack client ecosystem. Example tools include GopherCloud, jClouds, Fog, and so on.",
"weight": 6
}
}
},
"os_trademark_approval": {
"target_approval": "orchestration.2019.11",
"replaces": "orchestration.2019.06",
"releases": ["rocky", "stein", "train", "ussuri"],
"status": "approved"
}
},
"add-ons": {
"Orchestration": {
"description": "OpenStack Powered with Orchestration",
"components": [
{ "name": "os_powered_orchestration" }
],
"required_platform_components": [
{
"name": "os_powered_compute",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/guidelines/2019.11.json"
}
]
}
},
"components": {
"os_powered_orchestration": {
"capabilities": {
"required": [
"stack-create",
"stack-delete",
"stack-environment-parameter",
"stack-event",
"stack-hook",
"stack-list",
"stack-output",
"stack-preview",
"stack-list-resources",
"stack-list-resource-types",
"stack-list-template-functions",
"stack-list-template-versions",
"stack-mark-resource-unhealthy",
"stack-resource-type-template",
"stack-show",
"stack-show-resource",
"stack-show-resource-type",
"stack-show-unhealthy-resource",
"stack-signal-resource",
"stack-software-config",
"stack-tag",
"stack-template",
"stack-update"
],
"advisory": [
],
"deprecated": [
],
"removed": [
]
},
"designated_sections": {
"required": [
"heat"
]
}
}
},
"capabilities": {
"stack-create": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Create new stacks.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_create_empty_stack.test_request": {
"idempotent_id": "id-bde1b827-65fb-47ea-909f-82537e6260d3"
},
"heat_tempest_plugin.tests.api.test_heat_api.resources_create_stack_with_resources.test_request": {
"idempotent_id": "id-947be7b2-503d-41f5-9843-61be50954f13"
},
"heat_tempest_plugin.tests.scenario.test_base_resources.BasicResourcesTest.test_base_resources_integration": {
"idempotent_id": "id-bd151ea4-2dcd-4440-9bf0-eff63a98e5d4"
}
}
},
"stack-update": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Update stacks.",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_update_stack.test_request": {
"idempotent_id": "id-6bb1ec02-dd19-4b2c-9a6d-866ce666650f"
},
"heat_tempest_plugin.tests.api.test_heat_api.stacks_patch_update_stack.test_request": {
"idempotent_id": "id-927cea42-a35b-4664-b209-ab2cb34e6ef4"
}
}
},
"stack-delete": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Delete stacks.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_delete_empty_stack.test_request": {
"idempotent_id": "id-7eca55fe-8300-43b6-a6b8-fb2d99b51911"
},
"heat_tempest_plugin.tests.api.test_heat_api.environments_delete_envstack.test_request": {
"idempotent_id": "id-0efde180-cc0e-4f2c-bb18-fa345e8d21ad"
},
"heat_tempest_plugin.tests.api.test_heat_api.resources_delete_stack_with_resources.test_request": {
"idempotent_id": "id-0edc4fdc-811d-4d27-a0dd-6ec4db2bda6e"
}
}
},
"stack-environment-parameter": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Create an environment with parameters.",
"project": "heat",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.environments_environment_with_parameter.test_request": {
"idempotent_id": "id-8281d088-0c80-4071-a13d-333b309be6ca"
}
}
},
"stack-output": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Get the output of a stack.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.environments_get_stack_output.test_request": {
"idempotent_id": "id-f60dd8df-82d1-4228-8926-54d65ebd12e1"
},
"heat_tempest_plugin.tests.functional.test_stack_outputs.StackOutputsTest.test_outputs": {
"idempotent_id": "id-a886dd67-4506-4a37-82ae-43f0a7d83f35"
},
"heat_tempest_plugin.tests.functional.test_stack_outputs.StackOutputsTest.test_outputs_update_new_resource": {
"idempotent_id": "id-aea0e495-4c77-4033-8c43-3351e9cb7b48"
},
"heat_tempest_plugin.tests.functional.test_stack_outputs.StackOutputsTest.test_output_error_nested": {
"idempotent_id": "id-993a403c-c6e2-475d-a65d-a82b8c9e0c22"
}
}
},
"stack-list": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List stacks.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_stack_list.test_request": {
"idempotent_id": "id-39c0245e-6055-41cf-9f0e-15adfe55ded6"
}
}
},
"stack-list-resources": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List available resources.",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_list_filtered_resources.test_request": {
"idempotent_id": "id-da07d3d2-9ccc-4fa1-9b1b-9cb3074fe9b9"
},
"heat_tempest_plugin.tests.api.test_heat_api.resources_list_resources.test_request": {
"idempotent_id": "id-ec53f10d-a89a-4243-8706-629a01ea890f"
},
"heat_tempest_plugin.tests.functional.test_resources_list.ResourcesList.test_filtering_with_depend": {
"idempotent_id": "id-b65b5c82-68b0-42c9-82a0-c0e74e9ad906"
},
"heat_tempest_plugin.tests.functional.test_resources_list.ResourcesList.test_required_by": {
"idempotent_id": "id-97a65d53-b449-4a43-8283-42d43b165756"
}
}
},
"stack-list-resource-types": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List available resource types.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resourcetypes_list_resource_types.test_request": {
"idempotent_id": "id-5b4db88b-d171-4400-b7a7-a7dc8f597d31"
}
}
},
"stack-list-template-versions": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List template versions.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.templates_list_template_versions.test_request": {
"idempotent_id": "id-cbc28c20-e740-43ef-a01b-b1a39f4a0db3"
}
}
},
"stack-list-template-functions": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List template functions.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.templates_list_template_functions.test_request": {
"idempotent_id": "id-721ff23c-8527-480f-a090-1c915b4f8430"
}
}
},
"stack-mark-resource-unhealthy": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Mark a resource as unhealthy.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_mark_resource_unhealthy.test_request": {
"idempotent_id": "id-6031516b-3a8f-4d1b-8990-81a571b5f956"
}
}
},
"stack-resource-type-template": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show resource type template.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resourcetypes_resource_type_template.test_request": {
"idempotent_id": "id-5a2164eb-645a-4245-acd7-b222a715fc09"
}
}
},
"stack-show": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show the empty stack.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_show_empty_stack.test_request": {
"idempotent_id": "id-89b233fe-0d55-4959-9289-0b5dabe4e4c9"
}
}
},
"stack-show-resource": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show a resource.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_show_resource.test_request": {
"idempotent_id": "id-2cbcedc5-0aa7-454e-bf89-a3dd5d379dc1"
}
}
},
"stack-show-resource-type": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show a resource type.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resourcetypes_show_resource_type.test_request": {
"idempotent_id": "id-cc05d1ef-17f1-430e-bea1-0f6766f7d0b4"
}
}
},
"stack-show-unhealthy-resource": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show unhealthy resources.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_show_unhealthy_resource.test_request": {
"idempotent_id": "id-9e784490-2e88-49af-8ee7-c4c6aba2be64"
}
}
},
"stack-signal-resource": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Send a signal to a resource.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_signal_resource.test_request": {
"idempotent_id": "id-c65a047c-8c7b-4b44-9f5f-bf1069751c5c"
}
}
},
"stack-template": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Validate templates.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.templates_template_validate.test_request": {
"idempotent_id": "id-f307139b-03d0-4006-92b7-81c86c949727"
},
"heat_tempest_plugin.tests.functional.test_templates.TemplateAPITest.test_get_stack_template": {
"idempotent_id": "id-ac6ebc41-bd6a-4df4-80e5-f4b9ae3b5506"
},
"heat_tempest_plugin.tests.functional.test_templates.TemplateAPITest.test_resource_types": {
"idempotent_id": "id-9f9a2fc0-f029-4d1f-a2eb-f019b9f75944"
},
"heat_tempest_plugin.tests.functional.test_templates.TemplateAPITest.test_show_resource_template": {
"idempotent_id": "id-fafbdcd0-eec3-4e6f-9c88-1e4835d085cf"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_basic": {
"idempotent_id": "id-b65a80c2-a507-4deb-9e7e-43181cc05211"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_override_default": {
"idempotent_id": "id-bf27371d-e202-4bae-9f13-2ef137958517"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_override_none": {
"idempotent_id": "id-0278e03d-ed50-4909-b29d-9c4267d3fcd6"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_basic_required_param": {
"idempotent_id": "id-acb1435b-f1db-4427-9121-7e3144ddb81e"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_fail_version": {
"idempotent_id": "id-7aac1feb-8256-4f70-8459-5e9780d28904"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_parameter_groups": {
"idempotent_id": "id-6a6472d2-71fa-4ebe-a2b6-20878838555b"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_nested_off": {
"idempotent_id": "id-5100cf18-f52a-47a2-880c-d540edad149f"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_nested_on": {
"idempotent_id": "id-480bcf64-25ae-49c7-b147-7cbc27d09cea"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_nested_on_multiple": {
"idempotent_id": "id-a0bb07f0-2e10-4226-a205-a7eb04df415f"
},
"heat_tempest_plugin.tests.functional.test_unicode_template.StackUnicodeTemplateTest.test_template_validate_basic": {
"idempotent_id": "id-871cc5dd-7550-494d-8c6d-9d549a8c0305"
},
"heat_tempest_plugin.tests.functional.test_unicode_template.StackUnicodeTemplateTest.test_template_validate_override_default": {
"idempotent_id": "id-e84c76b8-a5e5-45e7-9c4b-4c160d1c385f"
},
"heat_tempest_plugin.tests.functional.test_unicode_template.StackUnicodeTemplateTest.test_stack_preview": {
"idempotent_id": "id-66338945-a3ae-4e3a-aa17-ab802ceb00b1"
},
"heat_tempest_plugin.tests.functional.test_unicode_template.StackUnicodeTemplateTest.test_create_stack": {
"idempotent_id": "id-d2c4a10c-3cb4-4efd-889d-695a0acbd04f"
}
}
},
"stack-hook": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Set and unset hook",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_create": {
"idempotent_id": "id-f14cbe86-0392-474a-9f28-bb561745698d"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_update_nochange": {
"idempotent_id": "id-75009076-96eb-43af-b4df-f002704737d2"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_update_replace": {
"idempotent_id": "id-9f03d1e0-a2d2-42fc-a9c6-47db05b9c8ed"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_update_in_place": {
"idempotent_id": "id-15c4f97d-5e06-40c6-83af-0e57d5afaff9"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_create_nested": {
"idempotent_id": "id-7d96b5f4-4aba-493d-b098-4beea4654a2b"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_create_wildcard": {
"idempotent_id": "id-cffc0783-3add-4f0c-ac66-03c90f6feeb0"
}
}
},
"stack-preview": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Preview stack",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.functional.test_preview.StackPreviewTest.test_basic_pass": {
"idempotent_id": "id-4c2c062d-4723-42c0-a113-3307dd4ceb12"
},
"heat_tempest_plugin.tests.functional.test_preview.StackPreviewTest.test_basic_fail": {
"idempotent_id": "id-54e69a54-762d-479e-a4f4-1fbf21af01c6"
},
"heat_tempest_plugin.tests.functional.test_preview.StackPreviewTest.test_nested_pass": {
"idempotent_id": "id-0449113c-ff90-4f2b-8825-27ea35c1983f"
},
"heat_tempest_plugin.tests.functional.test_preview.StackPreviewTest.test_res_group_with_nested_template:Wherej": {
"idempotent_id": "id-6ca8ddfc-106f-4ecc-83f7-fca31d0c85ca"
}
}
},
"stack-software-config": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Software config deployment",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.functional.test_software_config.ParallelDeploymentsTest.test_deployments_metadata": {
"idempotent_id": "id-8ee231ff-f80a-4a17-a860-5cda87e18ad0"
},
"heat_tempest_plugin.tests.functional.test_software_config.ParallelDeploymentsTest.test_deployments_timeout_failed": {
"idempotent_id": "id-bd539232-b999-4bec-b47d-ff4822fc8b82"
}
}
},
"stack-event": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Stack event.",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.functional.test_stack_events.StackEventsTest.test_event": {
"idempotent_id": "id-620f4f7c-74f8-48a4-a8b0-d06d0337f133"
}
}
},
"stack-tag": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Tag Stack.",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.functional.test_stack_tags.StackTagTest.test_stack_tag": {
"idempotent_id": "id-67332e51-b427-42d5-ad8d-fd2ec334f361"
},
"heat_tempest_plugin.tests.functional.test_stack_tags.StackTagTest.test_hidden_stack": {
"idempotent_id": "id-5ed79584-0684-4f9c-ae8e-44a8f874ec79"
}
}
}
},
"designated_sections": {
"heat": {
"required": {
"guidance": "Must at a minimum include resources for OpenStack Powered Compute components.",
"comment": "As a templating language, some clouds may include more or less code depending on offered resources.",
"sections": {
"resource class": {
"description": "Must include class 'Resource', as it is the basis for all resources.",
"designated": true
},
"template versions": {
"description": "Must contain corresponding hot template versions (and make it up to date with your OpenStack release) which code entry lists in 'heat.templates' under setup.cfg of heat repo. And make sure hot template functionality for versions are compatible with the corresponding versions.",
"designated": true
}
}
}
}
},
"test_repositories": {
"heat": {
"repository": "https://opendev.org/openstack/heat-tempest-plugin/",
"reference": "master",
"description": "OpenStack Heat Tempest Test Plugin Repository"
}
}
}

View File

@@ -1,742 +0,0 @@
{
"metadata": {
"id": "orchestration.2020.06",
"schema": "2.0",
"reference": "https://opendev.org/openinfra/interop/raw/branch/master/doc/source/schema/2.0.json",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/orchestration.2020.06.json",
"scoring": {
"cutoff_score": 60,
"criteria": {
"atomic": {
"name": "Atomic",
"description": "The capabilities are unique and cannot be built out of other must-pass capabilities.",
"weight": 6
},
"clients": {
"name": "Used By Clients",
"description": "The capabilities are widely used by common OpenStack clients, including the openstack client, nova client, neutron client, and so on. This criterion pertains mostly to API versioning. For example, if v2 of a given API is not used by other OpenStack clients but v1 is, then v2 doesn't achieve the 'used by clients' criterion.",
"weight": 10
},
"complete": {
"name": "Complete",
"description": "Where the code being tested has a designated area of alternate implementation (add-on framework) as per the Core Principles, there should be parity in capability tested across add-on implementations. This also implies that the capability test is not configuration specific or locked to non-open technology.",
"weight": 8
},
"discover": {
"name": "Discoverable",
"description": "Capability being tested is Service Discoverable (can be found in Keystone and via service introspection).",
"weight": 8
},
"doc": {
"name": "Documented",
"description": "The capability is well documented, including both the interface and the expected behavior.",
"weight": 8
},
"future": {
"name": "Future Direction",
"description": "The capability reflects the future technical direction as defined by theproject technical teams and the Technical Committee.",
"weight": 11
},
"stable": {
"name": "Stable",
"description": "A capability that whose API has changed in more than two releases. Meant to select for capabilities that are stable and not under active development.",
"weight": 9
},
"sticky": {
"name": "Core In Last Release",
"description": "A capability whose API was present in the previous guideline release. Discourages the disruption of replacing the API a capability uses, or removing a capability from core.",
"weight": 9
},
"tools": {
"name": "Used By Tools",
"description": "Capabilities that are widely used outside of the OpenStack client ecosystem. Example tools include GopherCloud, jClouds, Fog, and so on.",
"weight": 6
}
}
},
"os_trademark_approval": {
"target_approval": "orchestration.2020.06",
"replaces": "orchestration.2019.11",
"releases": ["stein", "train", "ussuri", "victoria"],
"status": "superseded"
}
},
"add-ons": {
"Orchestration": {
"description": "OpenStack Powered with Orchestration",
"components": [
{ "name": "os_powered_orchestration" }
],
"required_platform_components": [
{
"name": "os_powered_compute",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/guidelines/2020.06.json"
}
]
}
},
"components": {
"os_powered_orchestration": {
"capabilities": {
"required": [
"stack-create",
"stack-delete",
"stack-environment-parameter",
"stack-event",
"stack-hook",
"stack-list",
"stack-output",
"stack-preview",
"stack-list-resources",
"stack-list-resource-types",
"stack-list-template-functions",
"stack-list-template-versions",
"stack-mark-resource-unhealthy",
"stack-resource-type-template",
"stack-show",
"stack-show-resource",
"stack-show-resource-type",
"stack-show-unhealthy-resource",
"stack-signal-resource",
"stack-software-config",
"stack-tag",
"stack-template",
"stack-update"
],
"advisory": [
],
"deprecated": [
],
"removed": [
]
},
"designated_sections": {
"required": [
"heat"
]
}
}
},
"capabilities": {
"stack-create": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Create new stacks.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_create_empty_stack.test_request": {
"idempotent_id": "id-bde1b827-65fb-47ea-909f-82537e6260d3"
},
"heat_tempest_plugin.tests.api.test_heat_api.resources_create_stack_with_resources.test_request": {
"idempotent_id": "id-947be7b2-503d-41f5-9843-61be50954f13"
},
"heat_tempest_plugin.tests.scenario.test_base_resources.BasicResourcesTest.test_base_resources_integration": {
"idempotent_id": "id-bd151ea4-2dcd-4440-9bf0-eff63a98e5d4"
}
}
},
"stack-update": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Update stacks.",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_update_stack.test_request": {
"idempotent_id": "id-6bb1ec02-dd19-4b2c-9a6d-866ce666650f"
},
"heat_tempest_plugin.tests.api.test_heat_api.stacks_patch_update_stack.test_request": {
"idempotent_id": "id-927cea42-a35b-4664-b209-ab2cb34e6ef4"
}
}
},
"stack-delete": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Delete stacks.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_delete_empty_stack.test_request": {
"idempotent_id": "id-7eca55fe-8300-43b6-a6b8-fb2d99b51911"
},
"heat_tempest_plugin.tests.api.test_heat_api.environments_delete_envstack.test_request": {
"idempotent_id": "id-0efde180-cc0e-4f2c-bb18-fa345e8d21ad"
},
"heat_tempest_plugin.tests.api.test_heat_api.resources_delete_stack_with_resources.test_request": {
"idempotent_id": "id-0edc4fdc-811d-4d27-a0dd-6ec4db2bda6e"
}
}
},
"stack-environment-parameter": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Create an environment with parameters.",
"project": "heat",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.environments_environment_with_parameter.test_request": {
"idempotent_id": "id-8281d088-0c80-4071-a13d-333b309be6ca"
}
}
},
"stack-output": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Get the output of a stack.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.environments_get_stack_output.test_request": {
"idempotent_id": "id-f60dd8df-82d1-4228-8926-54d65ebd12e1"
},
"heat_tempest_plugin.tests.functional.test_stack_outputs.StackOutputsTest.test_outputs": {
"idempotent_id": "id-a886dd67-4506-4a37-82ae-43f0a7d83f35"
},
"heat_tempest_plugin.tests.functional.test_stack_outputs.StackOutputsTest.test_outputs_update_new_resource": {
"idempotent_id": "id-aea0e495-4c77-4033-8c43-3351e9cb7b48"
},
"heat_tempest_plugin.tests.functional.test_stack_outputs.StackOutputsTest.test_output_error_nested": {
"idempotent_id": "id-993a403c-c6e2-475d-a65d-a82b8c9e0c22"
}
}
},
"stack-list": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List stacks.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_stack_list.test_request": {
"idempotent_id": "id-39c0245e-6055-41cf-9f0e-15adfe55ded6"
}
}
},
"stack-list-resources": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List available resources.",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_list_filtered_resources.test_request": {
"idempotent_id": "id-da07d3d2-9ccc-4fa1-9b1b-9cb3074fe9b9"
},
"heat_tempest_plugin.tests.api.test_heat_api.resources_list_resources.test_request": {
"idempotent_id": "id-ec53f10d-a89a-4243-8706-629a01ea890f"
},
"heat_tempest_plugin.tests.functional.test_resources_list.ResourcesList.test_filtering_with_depend": {
"idempotent_id": "id-b65b5c82-68b0-42c9-82a0-c0e74e9ad906"
},
"heat_tempest_plugin.tests.functional.test_resources_list.ResourcesList.test_required_by": {
"idempotent_id": "id-97a65d53-b449-4a43-8283-42d43b165756"
}
}
},
"stack-list-resource-types": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List available resource types.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resourcetypes_list_resource_types.test_request": {
"idempotent_id": "id-5b4db88b-d171-4400-b7a7-a7dc8f597d31"
}
}
},
"stack-list-template-versions": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List template versions.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.templates_list_template_versions.test_request": {
"idempotent_id": "id-cbc28c20-e740-43ef-a01b-b1a39f4a0db3"
}
}
},
"stack-list-template-functions": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List template functions.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.templates_list_template_functions.test_request": {
"idempotent_id": "id-721ff23c-8527-480f-a090-1c915b4f8430"
}
}
},
"stack-mark-resource-unhealthy": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Mark a resource as unhealthy.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_mark_resource_unhealthy.test_request": {
"idempotent_id": "id-6031516b-3a8f-4d1b-8990-81a571b5f956"
}
}
},
"stack-resource-type-template": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show resource type template.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resourcetypes_resource_type_template.test_request": {
"idempotent_id": "id-5a2164eb-645a-4245-acd7-b222a715fc09"
}
}
},
"stack-show": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show the empty stack.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_show_empty_stack.test_request": {
"idempotent_id": "id-89b233fe-0d55-4959-9289-0b5dabe4e4c9"
}
}
},
"stack-show-resource": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show a resource.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_show_resource.test_request": {
"idempotent_id": "id-2cbcedc5-0aa7-454e-bf89-a3dd5d379dc1"
}
}
},
"stack-show-resource-type": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show a resource type.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resourcetypes_show_resource_type.test_request": {
"idempotent_id": "id-cc05d1ef-17f1-430e-bea1-0f6766f7d0b4"
}
}
},
"stack-show-unhealthy-resource": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show unhealthy resources.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_show_unhealthy_resource.test_request": {
"idempotent_id": "id-9e784490-2e88-49af-8ee7-c4c6aba2be64"
}
}
},
"stack-signal-resource": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Send a signal to a resource.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_signal_resource.test_request": {
"idempotent_id": "id-c65a047c-8c7b-4b44-9f5f-bf1069751c5c"
}
}
},
"stack-template": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Validate templates.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.templates_template_validate.test_request": {
"idempotent_id": "id-f307139b-03d0-4006-92b7-81c86c949727"
},
"heat_tempest_plugin.tests.functional.test_templates.TemplateAPITest.test_get_stack_template": {
"idempotent_id": "id-ac6ebc41-bd6a-4df4-80e5-f4b9ae3b5506"
},
"heat_tempest_plugin.tests.functional.test_templates.TemplateAPITest.test_resource_types": {
"idempotent_id": "id-9f9a2fc0-f029-4d1f-a2eb-f019b9f75944"
},
"heat_tempest_plugin.tests.functional.test_templates.TemplateAPITest.test_show_resource_template": {
"idempotent_id": "id-fafbdcd0-eec3-4e6f-9c88-1e4835d085cf"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_basic": {
"idempotent_id": "id-b65a80c2-a507-4deb-9e7e-43181cc05211"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_override_default": {
"idempotent_id": "id-bf27371d-e202-4bae-9f13-2ef137958517"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_override_none": {
"idempotent_id": "id-0278e03d-ed50-4909-b29d-9c4267d3fcd6"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_basic_required_param": {
"idempotent_id": "id-acb1435b-f1db-4427-9121-7e3144ddb81e"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_fail_version": {
"idempotent_id": "id-7aac1feb-8256-4f70-8459-5e9780d28904"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_parameter_groups": {
"idempotent_id": "id-6a6472d2-71fa-4ebe-a2b6-20878838555b"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_nested_off": {
"idempotent_id": "id-5100cf18-f52a-47a2-880c-d540edad149f"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_nested_on": {
"idempotent_id": "id-480bcf64-25ae-49c7-b147-7cbc27d09cea"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_nested_on_multiple": {
"idempotent_id": "id-a0bb07f0-2e10-4226-a205-a7eb04df415f"
},
"heat_tempest_plugin.tests.functional.test_unicode_template.StackUnicodeTemplateTest.test_template_validate_basic": {
"idempotent_id": "id-871cc5dd-7550-494d-8c6d-9d549a8c0305"
},
"heat_tempest_plugin.tests.functional.test_unicode_template.StackUnicodeTemplateTest.test_template_validate_override_default": {
"idempotent_id": "id-e84c76b8-a5e5-45e7-9c4b-4c160d1c385f"
},
"heat_tempest_plugin.tests.functional.test_unicode_template.StackUnicodeTemplateTest.test_stack_preview": {
"idempotent_id": "id-66338945-a3ae-4e3a-aa17-ab802ceb00b1"
},
"heat_tempest_plugin.tests.functional.test_unicode_template.StackUnicodeTemplateTest.test_create_stack": {
"idempotent_id": "id-d2c4a10c-3cb4-4efd-889d-695a0acbd04f"
}
}
},
"stack-hook": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Set and unset hook",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_create": {
"idempotent_id": "id-f14cbe86-0392-474a-9f28-bb561745698d"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_update_nochange": {
"idempotent_id": "id-75009076-96eb-43af-b4df-f002704737d2"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_update_replace": {
"idempotent_id": "id-9f03d1e0-a2d2-42fc-a9c6-47db05b9c8ed"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_update_in_place": {
"idempotent_id": "id-15c4f97d-5e06-40c6-83af-0e57d5afaff9"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_create_nested": {
"idempotent_id": "id-7d96b5f4-4aba-493d-b098-4beea4654a2b"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_create_wildcard": {
"idempotent_id": "id-cffc0783-3add-4f0c-ac66-03c90f6feeb0"
}
}
},
"stack-preview": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Preview stack",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.functional.test_preview.StackPreviewTest.test_basic_pass": {
"idempotent_id": "id-4c2c062d-4723-42c0-a113-3307dd4ceb12"
},
"heat_tempest_plugin.tests.functional.test_preview.StackPreviewTest.test_basic_fail": {
"idempotent_id": "id-54e69a54-762d-479e-a4f4-1fbf21af01c6"
},
"heat_tempest_plugin.tests.functional.test_preview.StackPreviewTest.test_nested_pass": {
"idempotent_id": "id-0449113c-ff90-4f2b-8825-27ea35c1983f"
},
"heat_tempest_plugin.tests.functional.test_preview.StackPreviewTest.test_res_group_with_nested_template:Wherej": {
"idempotent_id": "id-6ca8ddfc-106f-4ecc-83f7-fca31d0c85ca"
}
}
},
"stack-software-config": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Software config deployment",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.functional.test_software_config.ParallelDeploymentsTest.test_deployments_metadata": {
"idempotent_id": "id-8ee231ff-f80a-4a17-a860-5cda87e18ad0"
},
"heat_tempest_plugin.tests.functional.test_software_config.ParallelDeploymentsTest.test_deployments_timeout_failed": {
"idempotent_id": "id-bd539232-b999-4bec-b47d-ff4822fc8b82"
}
}
},
"stack-event": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Stack event.",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.functional.test_stack_events.StackEventsTest.test_event": {
"idempotent_id": "id-620f4f7c-74f8-48a4-a8b0-d06d0337f133"
}
}
},
"stack-tag": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Tag Stack.",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.functional.test_stack_tags.StackTagTest.test_stack_tag": {
"idempotent_id": "id-67332e51-b427-42d5-ad8d-fd2ec334f361"
},
"heat_tempest_plugin.tests.functional.test_stack_tags.StackTagTest.test_hidden_stack": {
"idempotent_id": "id-5ed79584-0684-4f9c-ae8e-44a8f874ec79"
}
}
}
},
"designated_sections": {
"heat": {
"required": {
"guidance": "Must at a minimum include resources for OpenStack Powered Compute components.",
"comment": "As a templating language, some clouds may include more or less code depending on offered resources.",
"sections": {
"resource class": {
"description": "Must include class 'Resource', as it is the basis for all resources.",
"designated": true
},
"template versions": {
"description": "Must contain corresponding hot template versions (and make it up to date with your OpenStack release) which code entry lists in 'heat.templates' under setup.cfg of heat repo. And make sure hot template functionality for versions are compatible with the corresponding versions.",
"designated": true
}
}
}
}
},
"test_repositories": {
"heat": {
"repository": "https://opendev.org/openstack/heat-tempest-plugin/",
"reference": "master",
"description": "OpenStack Heat Tempest Test Plugin Repository"
}
}
}

View File

@@ -1,742 +0,0 @@
{
"metadata": {
"id": "orchestration.2020.11",
"schema": "2.0",
"reference": "https://opendev.org/openinfra/interop/raw/branch/master/doc/source/schema/2.0.json",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/orchestration.2020.11.json",
"scoring": {
"cutoff_score": 60,
"criteria": {
"atomic": {
"name": "Atomic",
"description": "The capabilities are unique and cannot be built out of other must-pass capabilities.",
"weight": 6
},
"clients": {
"name": "Used By Clients",
"description": "The capabilities are widely used by common OpenStack clients, including the openstack client, nova client, neutron client, and so on. This criterion pertains mostly to API versioning. For example, if v2 of a given API is not used by other OpenStack clients but v1 is, then v2 doesn't achieve the 'used by clients' criterion.",
"weight": 10
},
"complete": {
"name": "Complete",
"description": "Where the code being tested has a designated area of alternate implementation (add-on framework) as per the Core Principles, there should be parity in capability tested across add-on implementations. This also implies that the capability test is not configuration specific or locked to non-open technology.",
"weight": 8
},
"discover": {
"name": "Discoverable",
"description": "Capability being tested is Service Discoverable (can be found in Keystone and via service introspection).",
"weight": 8
},
"doc": {
"name": "Documented",
"description": "The capability is well documented, including both the interface and the expected behavior.",
"weight": 8
},
"future": {
"name": "Future Direction",
"description": "The capability reflects the future technical direction as defined by theproject technical teams and the Technical Committee.",
"weight": 11
},
"stable": {
"name": "Stable",
"description": "A capability that whose API has changed in more than two releases. Meant to select for capabilities that are stable and not under active development.",
"weight": 9
},
"sticky": {
"name": "Core In Last Release",
"description": "A capability whose API was present in the previous guideline release. Discourages the disruption of replacing the API a capability uses, or removing a capability from core.",
"weight": 9
},
"tools": {
"name": "Used By Tools",
"description": "Capabilities that are widely used outside of the OpenStack client ecosystem. Example tools include GopherCloud, jClouds, Fog, and so on.",
"weight": 6
}
}
},
"os_trademark_approval": {
"target_approval": "orchestration.2020.11",
"replaces": "orchestration.2020.06",
"releases": ["train", "ussuri", "victoria", "wallaby"],
"status": "approved"
}
},
"add-ons": {
"Orchestration": {
"description": "OpenStack Powered with Orchestration",
"components": [
{ "name": "os_powered_orchestration" }
],
"required_platform_components": [
{
"name": "os_powered_compute",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/guidelines/2020.11.json"
}
]
}
},
"components": {
"os_powered_orchestration": {
"capabilities": {
"required": [
"stack-create",
"stack-delete",
"stack-environment-parameter",
"stack-event",
"stack-hook",
"stack-list",
"stack-output",
"stack-preview",
"stack-list-resources",
"stack-list-resource-types",
"stack-list-template-functions",
"stack-list-template-versions",
"stack-mark-resource-unhealthy",
"stack-resource-type-template",
"stack-show",
"stack-show-resource",
"stack-show-resource-type",
"stack-show-unhealthy-resource",
"stack-signal-resource",
"stack-software-config",
"stack-tag",
"stack-template",
"stack-update"
],
"advisory": [
],
"deprecated": [
],
"removed": [
]
},
"designated_sections": {
"required": [
"heat"
]
}
}
},
"capabilities": {
"stack-create": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Create new stacks.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_create_empty_stack.test_request": {
"idempotent_id": "id-bde1b827-65fb-47ea-909f-82537e6260d3"
},
"heat_tempest_plugin.tests.api.test_heat_api.resources_create_stack_with_resources.test_request": {
"idempotent_id": "id-947be7b2-503d-41f5-9843-61be50954f13"
},
"heat_tempest_plugin.tests.scenario.test_base_resources.BasicResourcesTest.test_base_resources_integration": {
"idempotent_id": "id-bd151ea4-2dcd-4440-9bf0-eff63a98e5d4"
}
}
},
"stack-update": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Update stacks.",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_update_stack.test_request": {
"idempotent_id": "id-6bb1ec02-dd19-4b2c-9a6d-866ce666650f"
},
"heat_tempest_plugin.tests.api.test_heat_api.stacks_patch_update_stack.test_request": {
"idempotent_id": "id-927cea42-a35b-4664-b209-ab2cb34e6ef4"
}
}
},
"stack-delete": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Delete stacks.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_delete_empty_stack.test_request": {
"idempotent_id": "id-7eca55fe-8300-43b6-a6b8-fb2d99b51911"
},
"heat_tempest_plugin.tests.api.test_heat_api.environments_delete_envstack.test_request": {
"idempotent_id": "id-0efde180-cc0e-4f2c-bb18-fa345e8d21ad"
},
"heat_tempest_plugin.tests.api.test_heat_api.resources_delete_stack_with_resources.test_request": {
"idempotent_id": "id-0edc4fdc-811d-4d27-a0dd-6ec4db2bda6e"
}
}
},
"stack-environment-parameter": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Create an environment with parameters.",
"project": "heat",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.environments_environment_with_parameter.test_request": {
"idempotent_id": "id-8281d088-0c80-4071-a13d-333b309be6ca"
}
}
},
"stack-output": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Get the output of a stack.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.environments_get_stack_output.test_request": {
"idempotent_id": "id-f60dd8df-82d1-4228-8926-54d65ebd12e1"
},
"heat_tempest_plugin.tests.functional.test_stack_outputs.StackOutputsTest.test_outputs": {
"idempotent_id": "id-a886dd67-4506-4a37-82ae-43f0a7d83f35"
},
"heat_tempest_plugin.tests.functional.test_stack_outputs.StackOutputsTest.test_outputs_update_new_resource": {
"idempotent_id": "id-aea0e495-4c77-4033-8c43-3351e9cb7b48"
},
"heat_tempest_plugin.tests.functional.test_stack_outputs.StackOutputsTest.test_output_error_nested": {
"idempotent_id": "id-993a403c-c6e2-475d-a65d-a82b8c9e0c22"
}
}
},
"stack-list": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List stacks.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_stack_list.test_request": {
"idempotent_id": "id-39c0245e-6055-41cf-9f0e-15adfe55ded6"
}
}
},
"stack-list-resources": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List available resources.",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_list_filtered_resources.test_request": {
"idempotent_id": "id-da07d3d2-9ccc-4fa1-9b1b-9cb3074fe9b9"
},
"heat_tempest_plugin.tests.api.test_heat_api.resources_list_resources.test_request": {
"idempotent_id": "id-ec53f10d-a89a-4243-8706-629a01ea890f"
},
"heat_tempest_plugin.tests.functional.test_resources_list.ResourcesList.test_filtering_with_depend": {
"idempotent_id": "id-b65b5c82-68b0-42c9-82a0-c0e74e9ad906"
},
"heat_tempest_plugin.tests.functional.test_resources_list.ResourcesList.test_required_by": {
"idempotent_id": "id-97a65d53-b449-4a43-8283-42d43b165756"
}
}
},
"stack-list-resource-types": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List available resource types.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resourcetypes_list_resource_types.test_request": {
"idempotent_id": "id-5b4db88b-d171-4400-b7a7-a7dc8f597d31"
}
}
},
"stack-list-template-versions": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List template versions.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.templates_list_template_versions.test_request": {
"idempotent_id": "id-cbc28c20-e740-43ef-a01b-b1a39f4a0db3"
}
}
},
"stack-list-template-functions": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List template functions.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.templates_list_template_functions.test_request": {
"idempotent_id": "id-721ff23c-8527-480f-a090-1c915b4f8430"
}
}
},
"stack-mark-resource-unhealthy": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Mark a resource as unhealthy.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_mark_resource_unhealthy.test_request": {
"idempotent_id": "id-6031516b-3a8f-4d1b-8990-81a571b5f956"
}
}
},
"stack-resource-type-template": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show resource type template.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resourcetypes_resource_type_template.test_request": {
"idempotent_id": "id-5a2164eb-645a-4245-acd7-b222a715fc09"
}
}
},
"stack-show": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show the empty stack.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_show_empty_stack.test_request": {
"idempotent_id": "id-89b233fe-0d55-4959-9289-0b5dabe4e4c9"
}
}
},
"stack-show-resource": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show a resource.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_show_resource.test_request": {
"idempotent_id": "id-2cbcedc5-0aa7-454e-bf89-a3dd5d379dc1"
}
}
},
"stack-show-resource-type": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show a resource type.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resourcetypes_show_resource_type.test_request": {
"idempotent_id": "id-cc05d1ef-17f1-430e-bea1-0f6766f7d0b4"
}
}
},
"stack-show-unhealthy-resource": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show unhealthy resources.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_show_unhealthy_resource.test_request": {
"idempotent_id": "id-9e784490-2e88-49af-8ee7-c4c6aba2be64"
}
}
},
"stack-signal-resource": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Send a signal to a resource.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_signal_resource.test_request": {
"idempotent_id": "id-c65a047c-8c7b-4b44-9f5f-bf1069751c5c"
}
}
},
"stack-template": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Validate templates.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.templates_template_validate.test_request": {
"idempotent_id": "id-f307139b-03d0-4006-92b7-81c86c949727"
},
"heat_tempest_plugin.tests.functional.test_templates.TemplateAPITest.test_get_stack_template": {
"idempotent_id": "id-ac6ebc41-bd6a-4df4-80e5-f4b9ae3b5506"
},
"heat_tempest_plugin.tests.functional.test_templates.TemplateAPITest.test_resource_types": {
"idempotent_id": "id-9f9a2fc0-f029-4d1f-a2eb-f019b9f75944"
},
"heat_tempest_plugin.tests.functional.test_templates.TemplateAPITest.test_show_resource_template": {
"idempotent_id": "id-fafbdcd0-eec3-4e6f-9c88-1e4835d085cf"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_basic": {
"idempotent_id": "id-b65a80c2-a507-4deb-9e7e-43181cc05211"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_override_default": {
"idempotent_id": "id-bf27371d-e202-4bae-9f13-2ef137958517"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_override_none": {
"idempotent_id": "id-0278e03d-ed50-4909-b29d-9c4267d3fcd6"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_basic_required_param": {
"idempotent_id": "id-acb1435b-f1db-4427-9121-7e3144ddb81e"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_fail_version": {
"idempotent_id": "id-7aac1feb-8256-4f70-8459-5e9780d28904"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_parameter_groups": {
"idempotent_id": "id-6a6472d2-71fa-4ebe-a2b6-20878838555b"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_nested_off": {
"idempotent_id": "id-5100cf18-f52a-47a2-880c-d540edad149f"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_nested_on": {
"idempotent_id": "id-480bcf64-25ae-49c7-b147-7cbc27d09cea"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_nested_on_multiple": {
"idempotent_id": "id-a0bb07f0-2e10-4226-a205-a7eb04df415f"
},
"heat_tempest_plugin.tests.functional.test_unicode_template.StackUnicodeTemplateTest.test_template_validate_basic": {
"idempotent_id": "id-871cc5dd-7550-494d-8c6d-9d549a8c0305"
},
"heat_tempest_plugin.tests.functional.test_unicode_template.StackUnicodeTemplateTest.test_template_validate_override_default": {
"idempotent_id": "id-e84c76b8-a5e5-45e7-9c4b-4c160d1c385f"
},
"heat_tempest_plugin.tests.functional.test_unicode_template.StackUnicodeTemplateTest.test_stack_preview": {
"idempotent_id": "id-66338945-a3ae-4e3a-aa17-ab802ceb00b1"
},
"heat_tempest_plugin.tests.functional.test_unicode_template.StackUnicodeTemplateTest.test_create_stack": {
"idempotent_id": "id-d2c4a10c-3cb4-4efd-889d-695a0acbd04f"
}
}
},
"stack-hook": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Set and unset hook",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_create": {
"idempotent_id": "id-f14cbe86-0392-474a-9f28-bb561745698d"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_update_nochange": {
"idempotent_id": "id-75009076-96eb-43af-b4df-f002704737d2"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_update_replace": {
"idempotent_id": "id-9f03d1e0-a2d2-42fc-a9c6-47db05b9c8ed"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_update_in_place": {
"idempotent_id": "id-15c4f97d-5e06-40c6-83af-0e57d5afaff9"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_create_nested": {
"idempotent_id": "id-7d96b5f4-4aba-493d-b098-4beea4654a2b"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_create_wildcard": {
"idempotent_id": "id-cffc0783-3add-4f0c-ac66-03c90f6feeb0"
}
}
},
"stack-preview": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Preview stack",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.functional.test_preview.StackPreviewTest.test_basic_pass": {
"idempotent_id": "id-4c2c062d-4723-42c0-a113-3307dd4ceb12"
},
"heat_tempest_plugin.tests.functional.test_preview.StackPreviewTest.test_basic_fail": {
"idempotent_id": "id-54e69a54-762d-479e-a4f4-1fbf21af01c6"
},
"heat_tempest_plugin.tests.functional.test_preview.StackPreviewTest.test_nested_pass": {
"idempotent_id": "id-0449113c-ff90-4f2b-8825-27ea35c1983f"
},
"heat_tempest_plugin.tests.functional.test_preview.StackPreviewTest.test_res_group_with_nested_template": {
"idempotent_id": "id-6ca8ddfc-106f-4ecc-83f7-fca31d0c85ca"
}
}
},
"stack-software-config": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Software config deployment",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.functional.test_software_config.ParallelDeploymentsTest.test_deployments_metadata": {
"idempotent_id": "id-8ee231ff-f80a-4a17-a860-5cda87e18ad0"
},
"heat_tempest_plugin.tests.functional.test_software_config.ParallelDeploymentsTest.test_deployments_timeout_failed": {
"idempotent_id": "id-bd539232-b999-4bec-b47d-ff4822fc8b82"
}
}
},
"stack-event": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Stack event.",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.functional.test_stack_events.StackEventsTest.test_event": {
"idempotent_id": "id-620f4f7c-74f8-48a4-a8b0-d06d0337f133"
}
}
},
"stack-tag": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Tag Stack.",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.functional.test_stack_tags.StackTagTest.test_stack_tag": {
"idempotent_id": "id-67332e51-b427-42d5-ad8d-fd2ec334f361"
},
"heat_tempest_plugin.tests.functional.test_stack_tags.StackTagTest.test_hidden_stack": {
"idempotent_id": "id-5ed79584-0684-4f9c-ae8e-44a8f874ec79"
}
}
}
},
"designated_sections": {
"heat": {
"required": {
"guidance": "Must at a minimum include resources for OpenStack Powered Compute components.",
"comment": "As a templating language, some clouds may include more or less code depending on offered resources.",
"sections": {
"resource class": {
"description": "Must include class 'Resource', as it is the basis for all resources.",
"designated": true
},
"template versions": {
"description": "Must contain corresponding hot template versions (and make it up to date with your OpenStack release) which code entry lists in 'heat.templates' under setup.cfg of heat repo. And make sure hot template functionality for versions are compatible with the corresponding versions.",
"designated": true
}
}
}
}
},
"test_repositories": {
"heat": {
"repository": "https://opendev.org/openstack/heat-tempest-plugin/",
"reference": "fa9f6ccd34c106bcaa50cb2f13caea2c387a6b5f",
"description": "OpenStack Heat Tempest Test Plugin Repository"
}
}
}

View File

@@ -1,742 +0,0 @@
{
"metadata": {
"id": "orchestration.2021.11",
"schema": "2.0",
"reference": "https://opendev.org/openinfra/interop/raw/branch/master/doc/source/schema/2.0.json",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/orchestration.2021.11.json",
"scoring": {
"cutoff_score": 60,
"criteria": {
"atomic": {
"name": "Atomic",
"description": "The capabilities are unique and cannot be built out of other must-pass capabilities.",
"weight": 6
},
"clients": {
"name": "Used By Clients",
"description": "The capabilities are widely used by common OpenStack clients, including the openstack client, nova client, neutron client, and so on. This criterion pertains mostly to API versioning. For example, if v2 of a given API is not used by other OpenStack clients but v1 is, then v2 doesn't achieve the 'used by clients' criterion.",
"weight": 10
},
"complete": {
"name": "Complete",
"description": "Where the code being tested has a designated area of alternate implementation (add-on framework) as per the Core Principles, there should be parity in capability tested across add-on implementations. This also implies that the capability test is not configuration specific or locked to non-open technology.",
"weight": 8
},
"discover": {
"name": "Discoverable",
"description": "Capability being tested is Service Discoverable (can be found in Keystone and via service introspection).",
"weight": 8
},
"doc": {
"name": "Documented",
"description": "The capability is well documented, including both the interface and the expected behavior.",
"weight": 8
},
"future": {
"name": "Future Direction",
"description": "The capability reflects the future technical direction as defined by theproject technical teams and the Technical Committee.",
"weight": 11
},
"stable": {
"name": "Stable",
"description": "A capability that whose API has changed in more than two releases. Meant to select for capabilities that are stable and not under active development.",
"weight": 9
},
"sticky": {
"name": "Core In Last Release",
"description": "A capability whose API was present in the previous guideline release. Discourages the disruption of replacing the API a capability uses, or removing a capability from core.",
"weight": 9
},
"tools": {
"name": "Used By Tools",
"description": "Capabilities that are widely used outside of the OpenStack client ecosystem. Example tools include GopherCloud, jClouds, Fog, and so on.",
"weight": 6
}
}
},
"os_trademark_approval": {
"target_approval": "2021.11",
"replaces": "orchestration.2020.11",
"releases": ["victoria", "wallaby", "xena", "yoga"],
"status": "approved"
}
},
"add-ons": {
"Orchestration": {
"description": "OpenStack Powered with Orchestration",
"components": [
{ "name": "os_powered_orchestration" }
],
"required_platform_components": [
{
"name": "os_powered_compute",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/guidelines/2021.11.json"
}
]
}
},
"components": {
"os_powered_orchestration": {
"capabilities": {
"required": [
"stack-create",
"stack-delete",
"stack-environment-parameter",
"stack-event",
"stack-hook",
"stack-list",
"stack-output",
"stack-preview",
"stack-list-resources",
"stack-list-resource-types",
"stack-list-template-functions",
"stack-list-template-versions",
"stack-mark-resource-unhealthy",
"stack-resource-type-template",
"stack-show",
"stack-show-resource",
"stack-show-resource-type",
"stack-show-unhealthy-resource",
"stack-signal-resource",
"stack-software-config",
"stack-tag",
"stack-template",
"stack-update"
],
"advisory": [
],
"deprecated": [
],
"removed": [
]
},
"designated_sections": {
"required": [
"heat"
]
}
}
},
"capabilities": {
"stack-create": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Create new stacks.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_create_empty_stack.test_request": {
"idempotent_id": "id-bde1b827-65fb-47ea-909f-82537e6260d3"
},
"heat_tempest_plugin.tests.api.test_heat_api.resources_create_stack_with_resources.test_request": {
"idempotent_id": "id-947be7b2-503d-41f5-9843-61be50954f13"
},
"heat_tempest_plugin.tests.scenario.test_base_resources.BasicResourcesTest.test_base_resources_integration": {
"idempotent_id": "id-bd151ea4-2dcd-4440-9bf0-eff63a98e5d4"
}
}
},
"stack-update": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Update stacks.",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_update_stack.test_request": {
"idempotent_id": "id-6bb1ec02-dd19-4b2c-9a6d-866ce666650f"
},
"heat_tempest_plugin.tests.api.test_heat_api.stacks_patch_update_stack.test_request": {
"idempotent_id": "id-927cea42-a35b-4664-b209-ab2cb34e6ef4"
}
}
},
"stack-delete": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Delete stacks.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_delete_empty_stack.test_request": {
"idempotent_id": "id-7eca55fe-8300-43b6-a6b8-fb2d99b51911"
},
"heat_tempest_plugin.tests.api.test_heat_api.environments_delete_envstack.test_request": {
"idempotent_id": "id-0efde180-cc0e-4f2c-bb18-fa345e8d21ad"
},
"heat_tempest_plugin.tests.api.test_heat_api.resources_delete_stack_with_resources.test_request": {
"idempotent_id": "id-0edc4fdc-811d-4d27-a0dd-6ec4db2bda6e"
}
}
},
"stack-environment-parameter": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Create an environment with parameters.",
"project": "heat",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.environments_environment_with_parameter.test_request": {
"idempotent_id": "id-8281d088-0c80-4071-a13d-333b309be6ca"
}
}
},
"stack-output": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Get the output of a stack.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.environments_get_stack_output.test_request": {
"idempotent_id": "id-f60dd8df-82d1-4228-8926-54d65ebd12e1"
},
"heat_tempest_plugin.tests.functional.test_stack_outputs.StackOutputsTest.test_outputs": {
"idempotent_id": "id-a886dd67-4506-4a37-82ae-43f0a7d83f35"
},
"heat_tempest_plugin.tests.functional.test_stack_outputs.StackOutputsTest.test_outputs_update_new_resource": {
"idempotent_id": "id-aea0e495-4c77-4033-8c43-3351e9cb7b48"
},
"heat_tempest_plugin.tests.functional.test_stack_outputs.StackOutputsTest.test_output_error_nested": {
"idempotent_id": "id-993a403c-c6e2-475d-a65d-a82b8c9e0c22"
}
}
},
"stack-list": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List stacks.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_stack_list.test_request": {
"idempotent_id": "id-39c0245e-6055-41cf-9f0e-15adfe55ded6"
}
}
},
"stack-list-resources": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List available resources.",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_list_filtered_resources.test_request": {
"idempotent_id": "id-da07d3d2-9ccc-4fa1-9b1b-9cb3074fe9b9"
},
"heat_tempest_plugin.tests.api.test_heat_api.resources_list_resources.test_request": {
"idempotent_id": "id-ec53f10d-a89a-4243-8706-629a01ea890f"
},
"heat_tempest_plugin.tests.functional.test_resources_list.ResourcesList.test_filtering_with_depend": {
"idempotent_id": "id-b65b5c82-68b0-42c9-82a0-c0e74e9ad906"
},
"heat_tempest_plugin.tests.functional.test_resources_list.ResourcesList.test_required_by": {
"idempotent_id": "id-97a65d53-b449-4a43-8283-42d43b165756"
}
}
},
"stack-list-resource-types": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List available resource types.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resourcetypes_list_resource_types.test_request": {
"idempotent_id": "id-5b4db88b-d171-4400-b7a7-a7dc8f597d31"
}
}
},
"stack-list-template-versions": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List template versions.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.templates_list_template_versions.test_request": {
"idempotent_id": "id-cbc28c20-e740-43ef-a01b-b1a39f4a0db3"
}
}
},
"stack-list-template-functions": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List template functions.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.templates_list_template_functions.test_request": {
"idempotent_id": "id-721ff23c-8527-480f-a090-1c915b4f8430"
}
}
},
"stack-mark-resource-unhealthy": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Mark a resource as unhealthy.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_mark_resource_unhealthy.test_request": {
"idempotent_id": "id-6031516b-3a8f-4d1b-8990-81a571b5f956"
}
}
},
"stack-resource-type-template": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show resource type template.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resourcetypes_resource_type_template.test_request": {
"idempotent_id": "id-5a2164eb-645a-4245-acd7-b222a715fc09"
}
}
},
"stack-show": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show the empty stack.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_show_empty_stack.test_request": {
"idempotent_id": "id-89b233fe-0d55-4959-9289-0b5dabe4e4c9"
}
}
},
"stack-show-resource": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show a resource.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_show_resource.test_request": {
"idempotent_id": "id-2cbcedc5-0aa7-454e-bf89-a3dd5d379dc1"
}
}
},
"stack-show-resource-type": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show a resource type.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resourcetypes_show_resource_type.test_request": {
"idempotent_id": "id-cc05d1ef-17f1-430e-bea1-0f6766f7d0b4"
}
}
},
"stack-show-unhealthy-resource": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show unhealthy resources.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_show_unhealthy_resource.test_request": {
"idempotent_id": "id-9e784490-2e88-49af-8ee7-c4c6aba2be64"
}
}
},
"stack-signal-resource": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Send a signal to a resource.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_signal_resource.test_request": {
"idempotent_id": "id-c65a047c-8c7b-4b44-9f5f-bf1069751c5c"
}
}
},
"stack-template": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Validate templates.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.templates_template_validate.test_request": {
"idempotent_id": "id-f307139b-03d0-4006-92b7-81c86c949727"
},
"heat_tempest_plugin.tests.functional.test_templates.TemplateAPITest.test_get_stack_template": {
"idempotent_id": "id-ac6ebc41-bd6a-4df4-80e5-f4b9ae3b5506"
},
"heat_tempest_plugin.tests.functional.test_templates.TemplateAPITest.test_resource_types": {
"idempotent_id": "id-9f9a2fc0-f029-4d1f-a2eb-f019b9f75944"
},
"heat_tempest_plugin.tests.functional.test_templates.TemplateAPITest.test_show_resource_template": {
"idempotent_id": "id-fafbdcd0-eec3-4e6f-9c88-1e4835d085cf"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_basic": {
"idempotent_id": "id-b65a80c2-a507-4deb-9e7e-43181cc05211"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_override_default": {
"idempotent_id": "id-bf27371d-e202-4bae-9f13-2ef137958517"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_override_none": {
"idempotent_id": "id-0278e03d-ed50-4909-b29d-9c4267d3fcd6"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_basic_required_param": {
"idempotent_id": "id-acb1435b-f1db-4427-9121-7e3144ddb81e"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_fail_version": {
"idempotent_id": "id-7aac1feb-8256-4f70-8459-5e9780d28904"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_parameter_groups": {
"idempotent_id": "id-6a6472d2-71fa-4ebe-a2b6-20878838555b"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_nested_off": {
"idempotent_id": "id-5100cf18-f52a-47a2-880c-d540edad149f"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_nested_on": {
"idempotent_id": "id-480bcf64-25ae-49c7-b147-7cbc27d09cea"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_nested_on_multiple": {
"idempotent_id": "id-a0bb07f0-2e10-4226-a205-a7eb04df415f"
},
"heat_tempest_plugin.tests.functional.test_unicode_template.StackUnicodeTemplateTest.test_template_validate_basic": {
"idempotent_id": "id-871cc5dd-7550-494d-8c6d-9d549a8c0305"
},
"heat_tempest_plugin.tests.functional.test_unicode_template.StackUnicodeTemplateTest.test_template_validate_override_default": {
"idempotent_id": "id-e84c76b8-a5e5-45e7-9c4b-4c160d1c385f"
},
"heat_tempest_plugin.tests.functional.test_unicode_template.StackUnicodeTemplateTest.test_stack_preview": {
"idempotent_id": "id-66338945-a3ae-4e3a-aa17-ab802ceb00b1"
},
"heat_tempest_plugin.tests.functional.test_unicode_template.StackUnicodeTemplateTest.test_create_stack": {
"idempotent_id": "id-d2c4a10c-3cb4-4efd-889d-695a0acbd04f"
}
}
},
"stack-hook": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Set and unset hook",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_create": {
"idempotent_id": "id-f14cbe86-0392-474a-9f28-bb561745698d"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_update_nochange": {
"idempotent_id": "id-75009076-96eb-43af-b4df-f002704737d2"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_update_replace": {
"idempotent_id": "id-9f03d1e0-a2d2-42fc-a9c6-47db05b9c8ed"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_update_in_place": {
"idempotent_id": "id-15c4f97d-5e06-40c6-83af-0e57d5afaff9"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_create_nested": {
"idempotent_id": "id-7d96b5f4-4aba-493d-b098-4beea4654a2b"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_create_wildcard": {
"idempotent_id": "id-cffc0783-3add-4f0c-ac66-03c90f6feeb0"
}
}
},
"stack-preview": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Preview stack",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.functional.test_preview.StackPreviewTest.test_basic_pass": {
"idempotent_id": "id-4c2c062d-4723-42c0-a113-3307dd4ceb12"
},
"heat_tempest_plugin.tests.functional.test_preview.StackPreviewTest.test_basic_fail": {
"idempotent_id": "id-54e69a54-762d-479e-a4f4-1fbf21af01c6"
},
"heat_tempest_plugin.tests.functional.test_preview.StackPreviewTest.test_nested_pass": {
"idempotent_id": "id-0449113c-ff90-4f2b-8825-27ea35c1983f"
},
"heat_tempest_plugin.tests.functional.test_preview.StackPreviewTest.test_res_group_with_nested_template": {
"idempotent_id": "id-6ca8ddfc-106f-4ecc-83f7-fca31d0c85ca"
}
}
},
"stack-software-config": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Software config deployment",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.functional.test_software_config.ParallelDeploymentsTest.test_deployments_metadata": {
"idempotent_id": "id-8ee231ff-f80a-4a17-a860-5cda87e18ad0"
},
"heat_tempest_plugin.tests.functional.test_software_config.ParallelDeploymentsTest.test_deployments_timeout_failed": {
"idempotent_id": "id-bd539232-b999-4bec-b47d-ff4822fc8b82"
}
}
},
"stack-event": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Stack event.",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.functional.test_stack_events.StackEventsTest.test_event": {
"idempotent_id": "id-620f4f7c-74f8-48a4-a8b0-d06d0337f133"
}
}
},
"stack-tag": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Tag Stack.",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.functional.test_stack_tags.StackTagTest.test_stack_tag": {
"idempotent_id": "id-67332e51-b427-42d5-ad8d-fd2ec334f361"
},
"heat_tempest_plugin.tests.functional.test_stack_tags.StackTagTest.test_hidden_stack": {
"idempotent_id": "id-5ed79584-0684-4f9c-ae8e-44a8f874ec79"
}
}
}
},
"designated_sections": {
"heat": {
"required": {
"guidance": "Must at a minimum include resources for OpenStack Powered Compute components.",
"comment": "As a templating language, some clouds may include more or less code depending on offered resources.",
"sections": {
"resource class": {
"description": "Must include class 'Resource', as it is the basis for all resources.",
"designated": true
},
"template versions": {
"description": "Must contain corresponding hot template versions (and make it up to date with your OpenStack release) which code entry lists in 'heat.templates' under setup.cfg of heat repo. And make sure hot template functionality for versions are compatible with the corresponding versions.",
"designated": true
}
}
}
}
},
"test_repositories": {
"heat": {
"repository": "https://opendev.org/openstack/heat-tempest-plugin/",
"reference": "adb8ba7dea4e93414957b72ea9ff5423ba39cb56",
"description": "OpenStack Heat Tempest Test Plugin Repository"
}
}
}

View File

@@ -1,742 +0,0 @@
{
"metadata": {
"id": "orchestration.2022.06",
"schema": "2.0",
"reference": "https://opendev.org/openinfra/interop/raw/branch/master/doc/source/schema/2.0.json",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/orchestration.2022.06.json",
"scoring": {
"cutoff_score": 60,
"criteria": {
"atomic": {
"name": "Atomic",
"description": "The capabilities are unique and cannot be built out of other must-pass capabilities.",
"weight": 6
},
"clients": {
"name": "Used By Clients",
"description": "The capabilities are widely used by common OpenStack clients, including the openstack client, nova client, neutron client, and so on. This criterion pertains mostly to API versioning. For example, if v2 of a given API is not used by other OpenStack clients but v1 is, then v2 doesn't achieve the 'used by clients' criterion.",
"weight": 10
},
"complete": {
"name": "Complete",
"description": "Where the code being tested has a designated area of alternate implementation (add-on framework) as per the Core Principles, there should be parity in capability tested across add-on implementations. This also implies that the capability test is not configuration specific or locked to non-open technology.",
"weight": 8
},
"discover": {
"name": "Discoverable",
"description": "Capability being tested is Service Discoverable (can be found in Keystone and via service introspection).",
"weight": 8
},
"doc": {
"name": "Documented",
"description": "The capability is well documented, including both the interface and the expected behavior.",
"weight": 8
},
"future": {
"name": "Future Direction",
"description": "The capability reflects the future technical direction as defined by theproject technical teams and the Technical Committee.",
"weight": 11
},
"stable": {
"name": "Stable",
"description": "A capability that whose API has changed in more than two releases. Meant to select for capabilities that are stable and not under active development.",
"weight": 9
},
"sticky": {
"name": "Core In Last Release",
"description": "A capability whose API was present in the previous guideline release. Discourages the disruption of replacing the API a capability uses, or removing a capability from core.",
"weight": 9
},
"tools": {
"name": "Used By Tools",
"description": "Capabilities that are widely used outside of the OpenStack client ecosystem. Example tools include GopherCloud, jClouds, Fog, and so on.",
"weight": 6
}
}
},
"os_trademark_approval": {
"target_approval": "orchestration.2022.06",
"replaces": "orchestration.2021.11",
"releases": ["wallaby", "xena", "yoga", "zed"],
"status": "approved"
}
},
"add-ons": {
"Orchestration": {
"description": "OpenStack Powered with Orchestration",
"components": [
{ "name": "os_powered_orchestration" }
],
"required_platform_components": [
{
"name": "os_powered_compute",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/guidelines/2022.06.json"
}
]
}
},
"components": {
"os_powered_orchestration": {
"capabilities": {
"required": [
"stack-create",
"stack-delete",
"stack-environment-parameter",
"stack-event",
"stack-hook",
"stack-list",
"stack-output",
"stack-preview",
"stack-list-resources",
"stack-list-resource-types",
"stack-list-template-functions",
"stack-list-template-versions",
"stack-mark-resource-unhealthy",
"stack-resource-type-template",
"stack-show",
"stack-show-resource",
"stack-show-resource-type",
"stack-show-unhealthy-resource",
"stack-signal-resource",
"stack-software-config",
"stack-tag",
"stack-template",
"stack-update"
],
"advisory": [
],
"deprecated": [
],
"removed": [
]
},
"designated_sections": {
"required": [
"heat"
]
}
}
},
"capabilities": {
"stack-create": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Create new stacks.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_create_empty_stack.test_request": {
"idempotent_id": "id-bde1b827-65fb-47ea-909f-82537e6260d3"
},
"heat_tempest_plugin.tests.api.test_heat_api.resources_create_stack_with_resources.test_request": {
"idempotent_id": "id-947be7b2-503d-41f5-9843-61be50954f13"
},
"heat_tempest_plugin.tests.scenario.test_base_resources.BasicResourcesTest.test_base_resources_integration": {
"idempotent_id": "id-bd151ea4-2dcd-4440-9bf0-eff63a98e5d4"
}
}
},
"stack-update": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Update stacks.",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_update_stack.test_request": {
"idempotent_id": "id-6bb1ec02-dd19-4b2c-9a6d-866ce666650f"
},
"heat_tempest_plugin.tests.api.test_heat_api.stacks_patch_update_stack.test_request": {
"idempotent_id": "id-927cea42-a35b-4664-b209-ab2cb34e6ef4"
}
}
},
"stack-delete": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Delete stacks.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_delete_empty_stack.test_request": {
"idempotent_id": "id-7eca55fe-8300-43b6-a6b8-fb2d99b51911"
},
"heat_tempest_plugin.tests.api.test_heat_api.environments_delete_envstack.test_request": {
"idempotent_id": "id-0efde180-cc0e-4f2c-bb18-fa345e8d21ad"
},
"heat_tempest_plugin.tests.api.test_heat_api.resources_delete_stack_with_resources.test_request": {
"idempotent_id": "id-0edc4fdc-811d-4d27-a0dd-6ec4db2bda6e"
}
}
},
"stack-environment-parameter": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Create an environment with parameters.",
"project": "heat",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.environments_environment_with_parameter.test_request": {
"idempotent_id": "id-8281d088-0c80-4071-a13d-333b309be6ca"
}
}
},
"stack-output": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Get the output of a stack.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.environments_get_stack_output.test_request": {
"idempotent_id": "id-f60dd8df-82d1-4228-8926-54d65ebd12e1"
},
"heat_tempest_plugin.tests.functional.test_stack_outputs.StackOutputsTest.test_outputs": {
"idempotent_id": "id-a886dd67-4506-4a37-82ae-43f0a7d83f35"
},
"heat_tempest_plugin.tests.functional.test_stack_outputs.StackOutputsTest.test_outputs_update_new_resource": {
"idempotent_id": "id-aea0e495-4c77-4033-8c43-3351e9cb7b48"
},
"heat_tempest_plugin.tests.functional.test_stack_outputs.StackOutputsTest.test_output_error_nested": {
"idempotent_id": "id-993a403c-c6e2-475d-a65d-a82b8c9e0c22"
}
}
},
"stack-list": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List stacks.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_stack_list.test_request": {
"idempotent_id": "id-39c0245e-6055-41cf-9f0e-15adfe55ded6"
}
}
},
"stack-list-resources": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List available resources.",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_list_filtered_resources.test_request": {
"idempotent_id": "id-da07d3d2-9ccc-4fa1-9b1b-9cb3074fe9b9"
},
"heat_tempest_plugin.tests.api.test_heat_api.resources_list_resources.test_request": {
"idempotent_id": "id-ec53f10d-a89a-4243-8706-629a01ea890f"
},
"heat_tempest_plugin.tests.functional.test_resources_list.ResourcesList.test_filtering_with_depend": {
"idempotent_id": "id-b65b5c82-68b0-42c9-82a0-c0e74e9ad906"
},
"heat_tempest_plugin.tests.functional.test_resources_list.ResourcesList.test_required_by": {
"idempotent_id": "id-97a65d53-b449-4a43-8283-42d43b165756"
}
}
},
"stack-list-resource-types": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List available resource types.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resourcetypes_list_resource_types.test_request": {
"idempotent_id": "id-5b4db88b-d171-4400-b7a7-a7dc8f597d31"
}
}
},
"stack-list-template-versions": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List template versions.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.templates_list_template_versions.test_request": {
"idempotent_id": "id-cbc28c20-e740-43ef-a01b-b1a39f4a0db3"
}
}
},
"stack-list-template-functions": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List template functions.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.templates_list_template_functions.test_request": {
"idempotent_id": "id-721ff23c-8527-480f-a090-1c915b4f8430"
}
}
},
"stack-mark-resource-unhealthy": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Mark a resource as unhealthy.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_mark_resource_unhealthy.test_request": {
"idempotent_id": "id-6031516b-3a8f-4d1b-8990-81a571b5f956"
}
}
},
"stack-resource-type-template": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show resource type template.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resourcetypes_resource_type_template.test_request": {
"idempotent_id": "id-5a2164eb-645a-4245-acd7-b222a715fc09"
}
}
},
"stack-show": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show the empty stack.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_show_empty_stack.test_request": {
"idempotent_id": "id-89b233fe-0d55-4959-9289-0b5dabe4e4c9"
}
}
},
"stack-show-resource": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show a resource.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_show_resource.test_request": {
"idempotent_id": "id-2cbcedc5-0aa7-454e-bf89-a3dd5d379dc1"
}
}
},
"stack-show-resource-type": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show a resource type.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resourcetypes_show_resource_type.test_request": {
"idempotent_id": "id-cc05d1ef-17f1-430e-bea1-0f6766f7d0b4"
}
}
},
"stack-show-unhealthy-resource": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show unhealthy resources.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_show_unhealthy_resource.test_request": {
"idempotent_id": "id-9e784490-2e88-49af-8ee7-c4c6aba2be64"
}
}
},
"stack-signal-resource": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Send a signal to a resource.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_signal_resource.test_request": {
"idempotent_id": "id-c65a047c-8c7b-4b44-9f5f-bf1069751c5c"
}
}
},
"stack-template": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Validate templates.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.templates_template_validate.test_request": {
"idempotent_id": "id-f307139b-03d0-4006-92b7-81c86c949727"
},
"heat_tempest_plugin.tests.functional.test_templates.TemplateAPITest.test_get_stack_template": {
"idempotent_id": "id-ac6ebc41-bd6a-4df4-80e5-f4b9ae3b5506"
},
"heat_tempest_plugin.tests.functional.test_templates.TemplateAPITest.test_resource_types": {
"idempotent_id": "id-9f9a2fc0-f029-4d1f-a2eb-f019b9f75944"
},
"heat_tempest_plugin.tests.functional.test_templates.TemplateAPITest.test_show_resource_template": {
"idempotent_id": "id-fafbdcd0-eec3-4e6f-9c88-1e4835d085cf"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_basic": {
"idempotent_id": "id-b65a80c2-a507-4deb-9e7e-43181cc05211"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_override_default": {
"idempotent_id": "id-bf27371d-e202-4bae-9f13-2ef137958517"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_override_none": {
"idempotent_id": "id-0278e03d-ed50-4909-b29d-9c4267d3fcd6"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_basic_required_param": {
"idempotent_id": "id-acb1435b-f1db-4427-9121-7e3144ddb81e"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_fail_version": {
"idempotent_id": "id-7aac1feb-8256-4f70-8459-5e9780d28904"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_parameter_groups": {
"idempotent_id": "id-6a6472d2-71fa-4ebe-a2b6-20878838555b"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_nested_off": {
"idempotent_id": "id-5100cf18-f52a-47a2-880c-d540edad149f"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_nested_on": {
"idempotent_id": "id-480bcf64-25ae-49c7-b147-7cbc27d09cea"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_nested_on_multiple": {
"idempotent_id": "id-a0bb07f0-2e10-4226-a205-a7eb04df415f"
},
"heat_tempest_plugin.tests.functional.test_unicode_template.StackUnicodeTemplateTest.test_template_validate_basic": {
"idempotent_id": "id-871cc5dd-7550-494d-8c6d-9d549a8c0305"
},
"heat_tempest_plugin.tests.functional.test_unicode_template.StackUnicodeTemplateTest.test_template_validate_override_default": {
"idempotent_id": "id-e84c76b8-a5e5-45e7-9c4b-4c160d1c385f"
},
"heat_tempest_plugin.tests.functional.test_unicode_template.StackUnicodeTemplateTest.test_stack_preview": {
"idempotent_id": "id-66338945-a3ae-4e3a-aa17-ab802ceb00b1"
},
"heat_tempest_plugin.tests.functional.test_unicode_template.StackUnicodeTemplateTest.test_create_stack": {
"idempotent_id": "id-d2c4a10c-3cb4-4efd-889d-695a0acbd04f"
}
}
},
"stack-hook": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Set and unset hook",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_create": {
"idempotent_id": "id-f14cbe86-0392-474a-9f28-bb561745698d"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_update_nochange": {
"idempotent_id": "id-75009076-96eb-43af-b4df-f002704737d2"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_update_replace": {
"idempotent_id": "id-9f03d1e0-a2d2-42fc-a9c6-47db05b9c8ed"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_update_in_place": {
"idempotent_id": "id-15c4f97d-5e06-40c6-83af-0e57d5afaff9"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_create_nested": {
"idempotent_id": "id-7d96b5f4-4aba-493d-b098-4beea4654a2b"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_create_wildcard": {
"idempotent_id": "id-cffc0783-3add-4f0c-ac66-03c90f6feeb0"
}
}
},
"stack-preview": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Preview stack",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.functional.test_preview.StackPreviewTest.test_basic_pass": {
"idempotent_id": "id-4c2c062d-4723-42c0-a113-3307dd4ceb12"
},
"heat_tempest_plugin.tests.functional.test_preview.StackPreviewTest.test_basic_fail": {
"idempotent_id": "id-54e69a54-762d-479e-a4f4-1fbf21af01c6"
},
"heat_tempest_plugin.tests.functional.test_preview.StackPreviewTest.test_nested_pass": {
"idempotent_id": "id-0449113c-ff90-4f2b-8825-27ea35c1983f"
},
"heat_tempest_plugin.tests.functional.test_preview.StackPreviewTest.test_res_group_with_nested_template": {
"idempotent_id": "id-6ca8ddfc-106f-4ecc-83f7-fca31d0c85ca"
}
}
},
"stack-software-config": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Software config deployment",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.functional.test_software_config.ParallelDeploymentsTest.test_deployments_metadata": {
"idempotent_id": "id-8ee231ff-f80a-4a17-a860-5cda87e18ad0"
},
"heat_tempest_plugin.tests.functional.test_software_config.ParallelDeploymentsTest.test_deployments_timeout_failed": {
"idempotent_id": "id-bd539232-b999-4bec-b47d-ff4822fc8b82"
}
}
},
"stack-event": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Stack event.",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.functional.test_stack_events.StackEventsTest.test_event": {
"idempotent_id": "id-620f4f7c-74f8-48a4-a8b0-d06d0337f133"
}
}
},
"stack-tag": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Tag Stack.",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.functional.test_stack_tags.StackTagTest.test_stack_tag": {
"idempotent_id": "id-67332e51-b427-42d5-ad8d-fd2ec334f361"
},
"heat_tempest_plugin.tests.functional.test_stack_tags.StackTagTest.test_hidden_stack": {
"idempotent_id": "id-5ed79584-0684-4f9c-ae8e-44a8f874ec79"
}
}
}
},
"designated_sections": {
"heat": {
"required": {
"guidance": "Must at a minimum include resources for OpenStack Powered Compute components.",
"comment": "As a templating language, some clouds may include more or less code depending on offered resources.",
"sections": {
"resource class": {
"description": "Must include class 'Resource', as it is the basis for all resources.",
"designated": true
},
"template versions": {
"description": "Must contain corresponding hot template versions (and make it up to date with your OpenStack release) which code entry lists in 'heat.templates' under setup.cfg of heat repo. And make sure hot template functionality for versions are compatible with the corresponding versions.",
"designated": true
}
}
}
}
},
"test_repositories": {
"heat": {
"repository": "https://opendev.org/openstack/heat-tempest-plugin/",
"reference": "ba43685c131d6387779ed35f5bf61fc86667a728",
"description": "OpenStack Heat Tempest Test Plugin Repository"
}
}
}

View File

@@ -1,742 +0,0 @@
{
"metadata": {
"id": "orchestration.2022.11",
"schema": "2.0",
"reference": "https://opendev.org/openinfra/interop/raw/branch/master/doc/source/schema/2.0.json",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/orchestration.2022.11.json",
"scoring": {
"cutoff_score": 60,
"criteria": {
"atomic": {
"name": "Atomic",
"description": "The capabilities are unique and cannot be built out of other must-pass capabilities.",
"weight": 6
},
"clients": {
"name": "Used By Clients",
"description": "The capabilities are widely used by common OpenStack clients, including the openstack client, nova client, neutron client, and so on. This criterion pertains mostly to API versioning. For example, if v2 of a given API is not used by other OpenStack clients but v1 is, then v2 doesn't achieve the 'used by clients' criterion.",
"weight": 10
},
"complete": {
"name": "Complete",
"description": "Where the code being tested has a designated area of alternate implementation (add-on framework) as per the Core Principles, there should be parity in capability tested across add-on implementations. This also implies that the capability test is not configuration specific or locked to non-open technology.",
"weight": 8
},
"discover": {
"name": "Discoverable",
"description": "Capability being tested is Service Discoverable (can be found in Keystone and via service introspection).",
"weight": 8
},
"doc": {
"name": "Documented",
"description": "The capability is well documented, including both the interface and the expected behavior.",
"weight": 8
},
"future": {
"name": "Future Direction",
"description": "The capability reflects the future technical direction as defined by theproject technical teams and the Technical Committee.",
"weight": 11
},
"stable": {
"name": "Stable",
"description": "A capability that whose API has changed in more than two releases. Meant to select for capabilities that are stable and not under active development.",
"weight": 9
},
"sticky": {
"name": "Core In Last Release",
"description": "A capability whose API was present in the previous guideline release. Discourages the disruption of replacing the API a capability uses, or removing a capability from core.",
"weight": 9
},
"tools": {
"name": "Used By Tools",
"description": "Capabilities that are widely used outside of the OpenStack client ecosystem. Example tools include GopherCloud, jClouds, Fog, and so on.",
"weight": 6
}
}
},
"os_trademark_approval": {
"target_approval": "orchestration.2022.11",
"replaces": "orchestration.2022.06",
"releases": ["xena", "yoga", "zed", "antelope"],
"status": "draft"
}
},
"add-ons": {
"Orchestration": {
"description": "OpenStack Powered with Orchestration",
"components": [
{ "name": "os_powered_orchestration" }
],
"required_platform_components": [
{
"name": "os_powered_compute",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/guidelines/2022.11.json"
}
]
}
},
"components": {
"os_powered_orchestration": {
"capabilities": {
"required": [
"stack-create",
"stack-delete",
"stack-environment-parameter",
"stack-event",
"stack-hook",
"stack-list",
"stack-output",
"stack-preview",
"stack-list-resources",
"stack-list-resource-types",
"stack-list-template-functions",
"stack-list-template-versions",
"stack-mark-resource-unhealthy",
"stack-resource-type-template",
"stack-show",
"stack-show-resource",
"stack-show-resource-type",
"stack-show-unhealthy-resource",
"stack-signal-resource",
"stack-software-config",
"stack-tag",
"stack-template",
"stack-update"
],
"advisory": [
],
"deprecated": [
],
"removed": [
]
},
"designated_sections": {
"required": [
"heat"
]
}
}
},
"capabilities": {
"stack-create": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Create new stacks.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_create_empty_stack.test_request": {
"idempotent_id": "id-bde1b827-65fb-47ea-909f-82537e6260d3"
},
"heat_tempest_plugin.tests.api.test_heat_api.resources_create_stack_with_resources.test_request": {
"idempotent_id": "id-947be7b2-503d-41f5-9843-61be50954f13"
},
"heat_tempest_plugin.tests.scenario.test_base_resources.BasicResourcesTest.test_base_resources_integration": {
"idempotent_id": "id-bd151ea4-2dcd-4440-9bf0-eff63a98e5d4"
}
}
},
"stack-update": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Update stacks.",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_update_stack.test_request": {
"idempotent_id": "id-6bb1ec02-dd19-4b2c-9a6d-866ce666650f"
},
"heat_tempest_plugin.tests.api.test_heat_api.stacks_patch_update_stack.test_request": {
"idempotent_id": "id-927cea42-a35b-4664-b209-ab2cb34e6ef4"
}
}
},
"stack-delete": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Delete stacks.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_delete_empty_stack.test_request": {
"idempotent_id": "id-7eca55fe-8300-43b6-a6b8-fb2d99b51911"
},
"heat_tempest_plugin.tests.api.test_heat_api.environments_delete_envstack.test_request": {
"idempotent_id": "id-0efde180-cc0e-4f2c-bb18-fa345e8d21ad"
},
"heat_tempest_plugin.tests.api.test_heat_api.resources_delete_stack_with_resources.test_request": {
"idempotent_id": "id-0edc4fdc-811d-4d27-a0dd-6ec4db2bda6e"
}
}
},
"stack-environment-parameter": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Create an environment with parameters.",
"project": "heat",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.environments_environment_with_parameter.test_request": {
"idempotent_id": "id-8281d088-0c80-4071-a13d-333b309be6ca"
}
}
},
"stack-output": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Get the output of a stack.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.environments_get_stack_output.test_request": {
"idempotent_id": "id-f60dd8df-82d1-4228-8926-54d65ebd12e1"
},
"heat_tempest_plugin.tests.functional.test_stack_outputs.StackOutputsTest.test_outputs": {
"idempotent_id": "id-a886dd67-4506-4a37-82ae-43f0a7d83f35"
},
"heat_tempest_plugin.tests.functional.test_stack_outputs.StackOutputsTest.test_outputs_update_new_resource": {
"idempotent_id": "id-aea0e495-4c77-4033-8c43-3351e9cb7b48"
},
"heat_tempest_plugin.tests.functional.test_stack_outputs.StackOutputsTest.test_output_error_nested": {
"idempotent_id": "id-993a403c-c6e2-475d-a65d-a82b8c9e0c22"
}
}
},
"stack-list": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List stacks.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_stack_list.test_request": {
"idempotent_id": "id-39c0245e-6055-41cf-9f0e-15adfe55ded6"
}
}
},
"stack-list-resources": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List available resources.",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_list_filtered_resources.test_request": {
"idempotent_id": "id-da07d3d2-9ccc-4fa1-9b1b-9cb3074fe9b9"
},
"heat_tempest_plugin.tests.api.test_heat_api.resources_list_resources.test_request": {
"idempotent_id": "id-ec53f10d-a89a-4243-8706-629a01ea890f"
},
"heat_tempest_plugin.tests.functional.test_resources_list.ResourcesList.test_filtering_with_depend": {
"idempotent_id": "id-b65b5c82-68b0-42c9-82a0-c0e74e9ad906"
},
"heat_tempest_plugin.tests.functional.test_resources_list.ResourcesList.test_required_by": {
"idempotent_id": "id-97a65d53-b449-4a43-8283-42d43b165756"
}
}
},
"stack-list-resource-types": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List available resource types.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resourcetypes_list_resource_types.test_request": {
"idempotent_id": "id-5b4db88b-d171-4400-b7a7-a7dc8f597d31"
}
}
},
"stack-list-template-versions": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List template versions.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.templates_list_template_versions.test_request": {
"idempotent_id": "id-cbc28c20-e740-43ef-a01b-b1a39f4a0db3"
}
}
},
"stack-list-template-functions": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List template functions.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.templates_list_template_functions.test_request": {
"idempotent_id": "id-721ff23c-8527-480f-a090-1c915b4f8430"
}
}
},
"stack-mark-resource-unhealthy": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Mark a resource as unhealthy.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_mark_resource_unhealthy.test_request": {
"idempotent_id": "id-6031516b-3a8f-4d1b-8990-81a571b5f956"
}
}
},
"stack-resource-type-template": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show resource type template.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resourcetypes_resource_type_template.test_request": {
"idempotent_id": "id-5a2164eb-645a-4245-acd7-b222a715fc09"
}
}
},
"stack-show": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show the empty stack.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_show_empty_stack.test_request": {
"idempotent_id": "id-89b233fe-0d55-4959-9289-0b5dabe4e4c9"
}
}
},
"stack-show-resource": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show a resource.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_show_resource.test_request": {
"idempotent_id": "id-2cbcedc5-0aa7-454e-bf89-a3dd5d379dc1"
}
}
},
"stack-show-resource-type": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show a resource type.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resourcetypes_show_resource_type.test_request": {
"idempotent_id": "id-cc05d1ef-17f1-430e-bea1-0f6766f7d0b4"
}
}
},
"stack-show-unhealthy-resource": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show unhealthy resources.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_show_unhealthy_resource.test_request": {
"idempotent_id": "id-9e784490-2e88-49af-8ee7-c4c6aba2be64"
}
}
},
"stack-signal-resource": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Send a signal to a resource.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_signal_resource.test_request": {
"idempotent_id": "id-c65a047c-8c7b-4b44-9f5f-bf1069751c5c"
}
}
},
"stack-template": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Validate templates.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.templates_template_validate.test_request": {
"idempotent_id": "id-f307139b-03d0-4006-92b7-81c86c949727"
},
"heat_tempest_plugin.tests.functional.test_templates.TemplateAPITest.test_get_stack_template": {
"idempotent_id": "id-ac6ebc41-bd6a-4df4-80e5-f4b9ae3b5506"
},
"heat_tempest_plugin.tests.functional.test_templates.TemplateAPITest.test_resource_types": {
"idempotent_id": "id-9f9a2fc0-f029-4d1f-a2eb-f019b9f75944"
},
"heat_tempest_plugin.tests.functional.test_templates.TemplateAPITest.test_show_resource_template": {
"idempotent_id": "id-fafbdcd0-eec3-4e6f-9c88-1e4835d085cf"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_basic": {
"idempotent_id": "id-b65a80c2-a507-4deb-9e7e-43181cc05211"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_override_default": {
"idempotent_id": "id-bf27371d-e202-4bae-9f13-2ef137958517"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_override_none": {
"idempotent_id": "id-0278e03d-ed50-4909-b29d-9c4267d3fcd6"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_basic_required_param": {
"idempotent_id": "id-acb1435b-f1db-4427-9121-7e3144ddb81e"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_fail_version": {
"idempotent_id": "id-7aac1feb-8256-4f70-8459-5e9780d28904"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_parameter_groups": {
"idempotent_id": "id-6a6472d2-71fa-4ebe-a2b6-20878838555b"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_nested_off": {
"idempotent_id": "id-5100cf18-f52a-47a2-880c-d540edad149f"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_nested_on": {
"idempotent_id": "id-480bcf64-25ae-49c7-b147-7cbc27d09cea"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_nested_on_multiple": {
"idempotent_id": "id-a0bb07f0-2e10-4226-a205-a7eb04df415f"
},
"heat_tempest_plugin.tests.functional.test_unicode_template.StackUnicodeTemplateTest.test_template_validate_basic": {
"idempotent_id": "id-871cc5dd-7550-494d-8c6d-9d549a8c0305"
},
"heat_tempest_plugin.tests.functional.test_unicode_template.StackUnicodeTemplateTest.test_template_validate_override_default": {
"idempotent_id": "id-e84c76b8-a5e5-45e7-9c4b-4c160d1c385f"
},
"heat_tempest_plugin.tests.functional.test_unicode_template.StackUnicodeTemplateTest.test_stack_preview": {
"idempotent_id": "id-66338945-a3ae-4e3a-aa17-ab802ceb00b1"
},
"heat_tempest_plugin.tests.functional.test_unicode_template.StackUnicodeTemplateTest.test_create_stack": {
"idempotent_id": "id-d2c4a10c-3cb4-4efd-889d-695a0acbd04f"
}
}
},
"stack-hook": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Set and unset hook",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_create": {
"idempotent_id": "id-f14cbe86-0392-474a-9f28-bb561745698d"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_update_nochange": {
"idempotent_id": "id-75009076-96eb-43af-b4df-f002704737d2"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_update_replace": {
"idempotent_id": "id-9f03d1e0-a2d2-42fc-a9c6-47db05b9c8ed"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_update_in_place": {
"idempotent_id": "id-15c4f97d-5e06-40c6-83af-0e57d5afaff9"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_create_nested": {
"idempotent_id": "id-7d96b5f4-4aba-493d-b098-4beea4654a2b"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_create_wildcard": {
"idempotent_id": "id-cffc0783-3add-4f0c-ac66-03c90f6feeb0"
}
}
},
"stack-preview": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Preview stack",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.functional.test_preview.StackPreviewTest.test_basic_pass": {
"idempotent_id": "id-4c2c062d-4723-42c0-a113-3307dd4ceb12"
},
"heat_tempest_plugin.tests.functional.test_preview.StackPreviewTest.test_basic_fail": {
"idempotent_id": "id-54e69a54-762d-479e-a4f4-1fbf21af01c6"
},
"heat_tempest_plugin.tests.functional.test_preview.StackPreviewTest.test_nested_pass": {
"idempotent_id": "id-0449113c-ff90-4f2b-8825-27ea35c1983f"
},
"heat_tempest_plugin.tests.functional.test_preview.StackPreviewTest.test_res_group_with_nested_template": {
"idempotent_id": "id-6ca8ddfc-106f-4ecc-83f7-fca31d0c85ca"
}
}
},
"stack-software-config": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Software config deployment",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.functional.test_software_config.ParallelDeploymentsTest.test_deployments_metadata": {
"idempotent_id": "id-8ee231ff-f80a-4a17-a860-5cda87e18ad0"
},
"heat_tempest_plugin.tests.functional.test_software_config.ParallelDeploymentsTest.test_deployments_timeout_failed": {
"idempotent_id": "id-bd539232-b999-4bec-b47d-ff4822fc8b82"
}
}
},
"stack-event": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Stack event.",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.functional.test_stack_events.StackEventsTest.test_event": {
"idempotent_id": "id-620f4f7c-74f8-48a4-a8b0-d06d0337f133"
}
}
},
"stack-tag": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Tag Stack.",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.functional.test_stack_tags.StackTagTest.test_stack_tag": {
"idempotent_id": "id-67332e51-b427-42d5-ad8d-fd2ec334f361"
},
"heat_tempest_plugin.tests.functional.test_stack_tags.StackTagTest.test_hidden_stack": {
"idempotent_id": "id-5ed79584-0684-4f9c-ae8e-44a8f874ec79"
}
}
}
},
"designated_sections": {
"heat": {
"required": {
"guidance": "Must at a minimum include resources for OpenStack Powered Compute components.",
"comment": "As a templating language, some clouds may include more or less code depending on offered resources.",
"sections": {
"resource class": {
"description": "Must include class 'Resource', as it is the basis for all resources.",
"designated": true
},
"template versions": {
"description": "Must contain corresponding hot template versions (and make it up to date with your OpenStack release) which code entry lists in 'heat.templates' under setup.cfg of heat repo. And make sure hot template functionality for versions are compatible with the corresponding versions.",
"designated": true
}
}
}
}
},
"test_repositories": {
"heat": {
"repository": "https://opendev.org/openstack/heat-tempest-plugin/",
"reference": "4196ac5992b5e63ac97dd0f990278c37b17d6c6e",
"description": "OpenStack Heat Tempest Test Plugin Repository"
}
}
}

View File

@@ -1,742 +0,0 @@
{
"metadata": {
"id": "orchestration.next",
"schema": "2.0",
"reference": "https://opendev.org/openinfra/interop/raw/branch/master/doc/source/schema/2.0.json",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/orchestration.next.json",
"scoring": {
"cutoff_score": 60,
"criteria": {
"atomic": {
"name": "Atomic",
"description": "The capabilities are unique and cannot be built out of other must-pass capabilities.",
"weight": 6
},
"clients": {
"name": "Used By Clients",
"description": "The capabilities are widely used by common OpenStack clients, including the openstack client, nova client, neutron client, and so on. This criterion pertains mostly to API versioning. For example, if v2 of a given API is not used by other OpenStack clients but v1 is, then v2 doesn't achieve the 'used by clients' criterion.",
"weight": 10
},
"complete": {
"name": "Complete",
"description": "Where the code being tested has a designated area of alternate implementation (add-on framework) as per the Core Principles, there should be parity in capability tested across add-on implementations. This also implies that the capability test is not configuration specific or locked to non-open technology.",
"weight": 8
},
"discover": {
"name": "Discoverable",
"description": "Capability being tested is Service Discoverable (can be found in Keystone and via service introspection).",
"weight": 8
},
"doc": {
"name": "Documented",
"description": "The capability is well documented, including both the interface and the expected behavior.",
"weight": 8
},
"future": {
"name": "Future Direction",
"description": "The capability reflects the future technical direction as defined by theproject technical teams and the Technical Committee.",
"weight": 11
},
"stable": {
"name": "Stable",
"description": "A capability that whose API has changed in more than two releases. Meant to select for capabilities that are stable and not under active development.",
"weight": 9
},
"sticky": {
"name": "Core In Last Release",
"description": "A capability whose API was present in the previous guideline release. Discourages the disruption of replacing the API a capability uses, or removing a capability from core.",
"weight": 9
},
"tools": {
"name": "Used By Tools",
"description": "Capabilities that are widely used outside of the OpenStack client ecosystem. Example tools include GopherCloud, jClouds, Fog, and so on.",
"weight": 6
}
}
},
"os_trademark_approval": {
"target_approval": "orchestration.2023.11",
"replaces": "orchestration.2022.11",
"releases": ["xena", "yoga", "zed", "antelope"],
"status": "draft"
}
},
"add-ons": {
"Orchestration": {
"description": "OpenStack Powered with Orchestration",
"components": [
{ "name": "os_powered_orchestration" }
],
"required_platform_components": [
{
"name": "os_powered_compute",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/guidelines/next.json"
}
]
}
},
"components": {
"os_powered_orchestration": {
"capabilities": {
"required": [
"stack-create",
"stack-delete",
"stack-environment-parameter",
"stack-event",
"stack-hook",
"stack-list",
"stack-output",
"stack-preview",
"stack-list-resources",
"stack-list-resource-types",
"stack-list-template-functions",
"stack-list-template-versions",
"stack-mark-resource-unhealthy",
"stack-resource-type-template",
"stack-show",
"stack-show-resource",
"stack-show-resource-type",
"stack-show-unhealthy-resource",
"stack-signal-resource",
"stack-software-config",
"stack-tag",
"stack-template",
"stack-update"
],
"advisory": [
],
"deprecated": [
],
"removed": [
]
},
"designated_sections": {
"required": [
"heat"
]
}
}
},
"capabilities": {
"stack-create": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Create new stacks.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_create_empty_stack.test_request": {
"idempotent_id": "id-bde1b827-65fb-47ea-909f-82537e6260d3"
},
"heat_tempest_plugin.tests.api.test_heat_api.resources_create_stack_with_resources.test_request": {
"idempotent_id": "id-947be7b2-503d-41f5-9843-61be50954f13"
},
"heat_tempest_plugin.tests.scenario.test_base_resources.BasicResourcesTest.test_base_resources_integration": {
"idempotent_id": "id-bd151ea4-2dcd-4440-9bf0-eff63a98e5d4"
}
}
},
"stack-update": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Update stacks.",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_update_stack.test_request": {
"idempotent_id": "id-6bb1ec02-dd19-4b2c-9a6d-866ce666650f"
},
"heat_tempest_plugin.tests.api.test_heat_api.stacks_patch_update_stack.test_request": {
"idempotent_id": "id-927cea42-a35b-4664-b209-ab2cb34e6ef4"
}
}
},
"stack-delete": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Delete stacks.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_delete_empty_stack.test_request": {
"idempotent_id": "id-7eca55fe-8300-43b6-a6b8-fb2d99b51911"
},
"heat_tempest_plugin.tests.api.test_heat_api.environments_delete_envstack.test_request": {
"idempotent_id": "id-0efde180-cc0e-4f2c-bb18-fa345e8d21ad"
},
"heat_tempest_plugin.tests.api.test_heat_api.resources_delete_stack_with_resources.test_request": {
"idempotent_id": "id-0edc4fdc-811d-4d27-a0dd-6ec4db2bda6e"
}
}
},
"stack-environment-parameter": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Create an environment with parameters.",
"project": "heat",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.environments_environment_with_parameter.test_request": {
"idempotent_id": "id-8281d088-0c80-4071-a13d-333b309be6ca"
}
}
},
"stack-output": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Get the output of a stack.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.environments_get_stack_output.test_request": {
"idempotent_id": "id-f60dd8df-82d1-4228-8926-54d65ebd12e1"
},
"heat_tempest_plugin.tests.functional.test_stack_outputs.StackOutputsTest.test_outputs": {
"idempotent_id": "id-a886dd67-4506-4a37-82ae-43f0a7d83f35"
},
"heat_tempest_plugin.tests.functional.test_stack_outputs.StackOutputsTest.test_outputs_update_new_resource": {
"idempotent_id": "id-aea0e495-4c77-4033-8c43-3351e9cb7b48"
},
"heat_tempest_plugin.tests.functional.test_stack_outputs.StackOutputsTest.test_output_error_nested": {
"idempotent_id": "id-993a403c-c6e2-475d-a65d-a82b8c9e0c22"
}
}
},
"stack-list": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List stacks.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_stack_list.test_request": {
"idempotent_id": "id-39c0245e-6055-41cf-9f0e-15adfe55ded6"
}
}
},
"stack-list-resources": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List available resources.",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_list_filtered_resources.test_request": {
"idempotent_id": "id-da07d3d2-9ccc-4fa1-9b1b-9cb3074fe9b9"
},
"heat_tempest_plugin.tests.api.test_heat_api.resources_list_resources.test_request": {
"idempotent_id": "id-ec53f10d-a89a-4243-8706-629a01ea890f"
},
"heat_tempest_plugin.tests.functional.test_resources_list.ResourcesList.test_filtering_with_depend": {
"idempotent_id": "id-b65b5c82-68b0-42c9-82a0-c0e74e9ad906"
},
"heat_tempest_plugin.tests.functional.test_resources_list.ResourcesList.test_required_by": {
"idempotent_id": "id-97a65d53-b449-4a43-8283-42d43b165756"
}
}
},
"stack-list-resource-types": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List available resource types.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resourcetypes_list_resource_types.test_request": {
"idempotent_id": "id-5b4db88b-d171-4400-b7a7-a7dc8f597d31"
}
}
},
"stack-list-template-versions": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List template versions.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.templates_list_template_versions.test_request": {
"idempotent_id": "id-cbc28c20-e740-43ef-a01b-b1a39f4a0db3"
}
}
},
"stack-list-template-functions": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List template functions.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.templates_list_template_functions.test_request": {
"idempotent_id": "id-721ff23c-8527-480f-a090-1c915b4f8430"
}
}
},
"stack-mark-resource-unhealthy": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Mark a resource as unhealthy.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_mark_resource_unhealthy.test_request": {
"idempotent_id": "id-6031516b-3a8f-4d1b-8990-81a571b5f956"
}
}
},
"stack-resource-type-template": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show resource type template.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resourcetypes_resource_type_template.test_request": {
"idempotent_id": "id-5a2164eb-645a-4245-acd7-b222a715fc09"
}
}
},
"stack-show": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show the empty stack.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.stacks_show_empty_stack.test_request": {
"idempotent_id": "id-89b233fe-0d55-4959-9289-0b5dabe4e4c9"
}
}
},
"stack-show-resource": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show a resource.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_show_resource.test_request": {
"idempotent_id": "id-2cbcedc5-0aa7-454e-bf89-a3dd5d379dc1"
}
}
},
"stack-show-resource-type": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show a resource type.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resourcetypes_show_resource_type.test_request": {
"idempotent_id": "id-cc05d1ef-17f1-430e-bea1-0f6766f7d0b4"
}
}
},
"stack-show-unhealthy-resource": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Show unhealthy resources.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_show_unhealthy_resource.test_request": {
"idempotent_id": "id-9e784490-2e88-49af-8ee7-c4c6aba2be64"
}
}
},
"stack-signal-resource": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Send a signal to a resource.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.resources_signal_resource.test_request": {
"idempotent_id": "id-c65a047c-8c7b-4b44-9f5f-bf1069751c5c"
}
}
},
"stack-template": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Validate templates.",
"project": "heat",
"required_since": "2018.02",
"tests": {
"heat_tempest_plugin.tests.api.test_heat_api.templates_template_validate.test_request": {
"idempotent_id": "id-f307139b-03d0-4006-92b7-81c86c949727"
},
"heat_tempest_plugin.tests.functional.test_templates.TemplateAPITest.test_get_stack_template": {
"idempotent_id": "id-ac6ebc41-bd6a-4df4-80e5-f4b9ae3b5506"
},
"heat_tempest_plugin.tests.functional.test_templates.TemplateAPITest.test_resource_types": {
"idempotent_id": "id-9f9a2fc0-f029-4d1f-a2eb-f019b9f75944"
},
"heat_tempest_plugin.tests.functional.test_templates.TemplateAPITest.test_show_resource_template": {
"idempotent_id": "id-fafbdcd0-eec3-4e6f-9c88-1e4835d085cf"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_basic": {
"idempotent_id": "id-b65a80c2-a507-4deb-9e7e-43181cc05211"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_override_default": {
"idempotent_id": "id-bf27371d-e202-4bae-9f13-2ef137958517"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_override_none": {
"idempotent_id": "id-0278e03d-ed50-4909-b29d-9c4267d3fcd6"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_basic_required_param": {
"idempotent_id": "id-acb1435b-f1db-4427-9121-7e3144ddb81e"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_fail_version": {
"idempotent_id": "id-7aac1feb-8256-4f70-8459-5e9780d28904"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_parameter_groups": {
"idempotent_id": "id-6a6472d2-71fa-4ebe-a2b6-20878838555b"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_nested_off": {
"idempotent_id": "id-5100cf18-f52a-47a2-880c-d540edad149f"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_nested_on": {
"idempotent_id": "id-480bcf64-25ae-49c7-b147-7cbc27d09cea"
},
"heat_tempest_plugin.tests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_nested_on_multiple": {
"idempotent_id": "id-a0bb07f0-2e10-4226-a205-a7eb04df415f"
},
"heat_tempest_plugin.tests.functional.test_unicode_template.StackUnicodeTemplateTest.test_template_validate_basic": {
"idempotent_id": "id-871cc5dd-7550-494d-8c6d-9d549a8c0305"
},
"heat_tempest_plugin.tests.functional.test_unicode_template.StackUnicodeTemplateTest.test_template_validate_override_default": {
"idempotent_id": "id-e84c76b8-a5e5-45e7-9c4b-4c160d1c385f"
},
"heat_tempest_plugin.tests.functional.test_unicode_template.StackUnicodeTemplateTest.test_stack_preview": {
"idempotent_id": "id-66338945-a3ae-4e3a-aa17-ab802ceb00b1"
},
"heat_tempest_plugin.tests.functional.test_unicode_template.StackUnicodeTemplateTest.test_create_stack": {
"idempotent_id": "id-d2c4a10c-3cb4-4efd-889d-695a0acbd04f"
}
}
},
"stack-hook": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Set and unset hook",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_create": {
"idempotent_id": "id-f14cbe86-0392-474a-9f28-bb561745698d"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_update_nochange": {
"idempotent_id": "id-75009076-96eb-43af-b4df-f002704737d2"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_update_replace": {
"idempotent_id": "id-9f03d1e0-a2d2-42fc-a9c6-47db05b9c8ed"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_update_in_place": {
"idempotent_id": "id-15c4f97d-5e06-40c6-83af-0e57d5afaff9"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_create_nested": {
"idempotent_id": "id-7d96b5f4-4aba-493d-b098-4beea4654a2b"
},
"heat_tempest_plugin.tests.functional.test_hooks.HooksTest.test_hook_pre_create_wildcard": {
"idempotent_id": "id-cffc0783-3add-4f0c-ac66-03c90f6feeb0"
}
}
},
"stack-preview": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Preview stack",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.functional.test_preview.StackPreviewTest.test_basic_pass": {
"idempotent_id": "id-4c2c062d-4723-42c0-a113-3307dd4ceb12"
},
"heat_tempest_plugin.tests.functional.test_preview.StackPreviewTest.test_basic_fail": {
"idempotent_id": "id-54e69a54-762d-479e-a4f4-1fbf21af01c6"
},
"heat_tempest_plugin.tests.functional.test_preview.StackPreviewTest.test_nested_pass": {
"idempotent_id": "id-0449113c-ff90-4f2b-8825-27ea35c1983f"
},
"heat_tempest_plugin.tests.functional.test_preview.StackPreviewTest.test_res_group_with_nested_template": {
"idempotent_id": "id-6ca8ddfc-106f-4ecc-83f7-fca31d0c85ca"
}
}
},
"stack-software-config": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Software config deployment",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.functional.test_software_config.ParallelDeploymentsTest.test_deployments_metadata": {
"idempotent_id": "id-8ee231ff-f80a-4a17-a860-5cda87e18ad0"
},
"heat_tempest_plugin.tests.functional.test_software_config.ParallelDeploymentsTest.test_deployments_timeout_failed": {
"idempotent_id": "id-bd539232-b999-4bec-b47d-ff4822fc8b82"
}
}
},
"stack-event": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Stack event.",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.functional.test_stack_events.StackEventsTest.test_event": {
"idempotent_id": "id-620f4f7c-74f8-48a4-a8b0-d06d0337f133"
}
}
},
"stack-tag": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Tag Stack.",
"project": "heat",
"required_since": "2018.11",
"tests": {
"heat_tempest_plugin.tests.functional.test_stack_tags.StackTagTest.test_stack_tag": {
"idempotent_id": "id-67332e51-b427-42d5-ad8d-fd2ec334f361"
},
"heat_tempest_plugin.tests.functional.test_stack_tags.StackTagTest.test_hidden_stack": {
"idempotent_id": "id-5ed79584-0684-4f9c-ae8e-44a8f874ec79"
}
}
}
},
"designated_sections": {
"heat": {
"required": {
"guidance": "Must at a minimum include resources for OpenStack Powered Compute components.",
"comment": "As a templating language, some clouds may include more or less code depending on offered resources.",
"sections": {
"resource class": {
"description": "Must include class 'Resource', as it is the basis for all resources.",
"designated": true
},
"template versions": {
"description": "Must contain corresponding hot template versions (and make it up to date with your OpenStack release) which code entry lists in 'heat.templates' under setup.cfg of heat repo. And make sure hot template functionality for versions are compatible with the corresponding versions.",
"designated": true
}
}
}
}
},
"test_repositories": {
"heat": {
"repository": "https://opendev.org/openstack/heat-tempest-plugin/",
"reference": "4196ac5992b5e63ac97dd0f990278c37b17d6c6e",
"description": "OpenStack Heat Tempest Test Plugin Repository"
}
}
}

View File

@@ -1,403 +0,0 @@
{
"metadata": {
"id": "shared_file_system.2020.11",
"schema": "2.0",
"reference": "https://opendev.org/openinfra/interop/raw/branch/master/doc/source/schema/2.0.json",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/shared_file_system.2020.11.json",
"scoring": {
"cutoff_score": 60,
"criteria": {
"atomic": {
"name": "Atomic",
"description": "The capabilities are unique and cannot be built out of other must-pass capabilities.",
"weight": 6
},
"clients": {
"name": "Used By Clients",
"description": "The capabilities are widely used by common OpenStack clients, including the openstack client, nova client, neutron client, and so on. This criterion pertains mostly to API versioning. For example, if v2 of a given API is not used by other OpenStack clients but v1 is, then v2 doesn't achieve the 'used by clients' criterion.",
"weight": 10
},
"complete": {
"name": "Complete",
"description": "Where the code being tested has a designated area of alternate implementation (add-on framework) as per the Core Principles, there should be parity in capability tested across add-on implementations. This also implies that the capability test is not configuration specific or locked to non-open technology.",
"weight": 8
},
"discover": {
"name": "Discoverable",
"description": "Capability being tested is Service Discoverable (can be found in Keystone and via service introspection).",
"weight": 8
},
"doc": {
"name": "Documented",
"description": "The capability is well documented, including both the interface and the expected behavior.",
"weight": 8
},
"future": {
"name": "Future Direction",
"description": "The capability reflects the future technical direction as defined by the project technical teams and the Technical Committee.",
"weight": 11
},
"stable": {
"name": "Stable",
"description": "A capability that whose API has changed in more than two releases. Meant to select for capabilities that are stable and not under active development.",
"weight": 9
},
"sticky": {
"name": "Core In Last Release",
"description": "A capability whose API was present in the previous guideline release. Discourages the disruption of replacing the API a capability uses, or removing a capability from core.",
"weight": 9
},
"tools": {
"name": "Used By Tools",
"description": "Capabilities that are widely used outside of the OpenStack client ecosystem. Example tools include GopherCloud, jClouds, Fog, and so on.",
"weight": 6
}
}
},
"os_trademark_approval": {
"target_approval": "shared_file_system.2020.11",
"releases": ["train", "ussuri", "victoria", "wallaby"],
"status": "approved"
}
},
"add-ons": {
"Shared-File-System": {
"description": "OpenStack Powered with Shared File Systems",
"components": [
{
"name": "os_powered_shared_file_system"
}
],
"required_platform_components": [
{
"name": "os_powered_compute",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/guidelines/2020.11.json"
}
]
}
},
"components": {
"os_powered_shared_file_system": {
"capabilities": {
"required": [
"share-list-api-versions",
"share-create-delete",
"share-get",
"share-list",
"share-update",
"share-extend",
"share-shrink",
"share-network-create-delete",
"share-network-update",
"share-network-get",
"share-network-list"
],
"advisory": [
],
"deprecated": [
],
"removed": [
]
},
"designated_sections": {
"required": [
"manila"
]
}
}
},
"capabilities": {
"share-list-api-versions": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List supported versions of the Shared File Systems service API",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_microversions.MicroversionsTest.test_microversions_v2_no_version": {
"idempotent_id": "id-9a8bd7fd-f9d0-4fc6-8e1c-0178d87ec7c1"
}
}
},
"share-create-delete": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Create and delete a manila share.",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_shares.SharesNFSTest.test_create_get_delete_share": {
"idempotent_id": "id-21ad41fb-04cf-493c-bc2f-66c80220898b",
"aliases": [
"manila_tempest_tests.tests.api.test_shares.SharesCephFSTest.test_create_get_delete_share",
"manila_tempest_tests.tests.api.test_shares.SharesCIFSTest.test_create_get_delete_share",
"manila_tempest_tests.tests.api.test_shares.SharesGLUSTERFSTest.test_create_get_delete_share",
"manila_tempest_tests.tests.api.test_shares.SharesHDFSTest.test_create_get_delete_share",
"manila_tempest_tests.tests.api.test_shares.SharesMapRFSTest.test_create_get_delete_share"
]
}
}
},
"share-get": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Get details of a manila share at API microversion 2.1",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_shares_actions.SharesActionsTest.test_get_share_v2_1": {
"idempotent_id": "id-188badb2-0ca3-44e5-abca-3029475d7f73"
}
}
},
"share-list": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List manila shares.",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_shares_actions.SharesActionsTest.test_list_shares": {
"idempotent_id": "id-7d61311a-81b0-481c-abb9-cfb0b4f82e29"
},
"manila_tempest_tests.tests.api.test_shares_actions.SharesActionsTest.test_list_shares_with_detail_v2_1": {
"idempotent_id": "id-d88a157a-fe4d-456e-90ba-f0bd9e5d02ec"
}
}
},
"share-update": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Update a manila share.",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_shares_actions.SharesRenameTest.test_update_share": {
"idempotent_id": "id-7661d042-8222-483c-9249-9f53931e7347"
}
}
},
"share-extend": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Increase the size of a manila share.",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_shares_actions.SharesActionsTest.test_extend_share": {
"idempotent_id": "id-17e6f579-e0d7-4724-a639-4974e82bb5ed"
}
}
},
"share-shrink": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Decrease the size of a manila share.",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_shares_actions.SharesActionsTest.test_shrink_share": {
"flagged": {
"date": "2021-04-09",
"reason": "D405 Test depends on a backend feature capable of shrinking shares, there might be a few backends that do not support shrinking shares, f.e. LVM"
},
"idempotent_id": "id-8f64b930-9b4e-41d7-bbd6-82d9951931f3"
}
}
},
"share-network-create-delete": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Create and delete a manila share network.",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_share_networks.ShareNetworksTest.test_create_delete_share_network": {
"idempotent_id": "id-b998a594-f630-475d-b46f-e4143caf61fb"
}
}
},
"share-network-update": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Update a manila share network.",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_share_networks.ShareNetworksTest.test_update_share_network": {
"idempotent_id": "id-1837fdd3-8068-4e88-bc50-9224498f84c0"
}
}
},
"share-network-get": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Get manila share network details.",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_share_networks.ShareNetworksTest.test_get_share_network": {
"idempotent_id": "id-55990ec2-37f0-483f-9c67-76fd6f377cc1"
}
}
},
"share-network-list": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List manila share networks.",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_share_networks.ShareNetworksTest.test_list_share_networks": {
"idempotent_id": "id-41c635b1-d9ef-4c05-9100-5e4b0034b523"
}
}
}
},
"designated_sections": {
"manila": {
"required": {
"guidance": "The Shared File Systems v2 API (with microversions) is designated",
"comment": "Many parts of the service are extensible by design, so only the API is designated. Scheduler and Weigher plugins for placement and Shared File System storage drivers for fulfillment are not designated.",
"sections": {
"api": {
"description": "The version 2 API specification with micro-versions",
"designated": true,
"comment": "CRUD APIs for some resources are designated. However, any `driver_handles_share_servers` driver mode can be used or any supported share protocol can be used."
},
"storage drivers": {
"description": "Shared File Systems storage drivers",
"designated": false,
"comment": "API driven actions must be fulfilled, however, no specific driver/s designated. One or more drivers can be used, and they needn't be part of the Shared File Systems service code base."
},
"network plugins": {
"description": "Shared File Systems network plugins",
"designated": false,
"comment": "When deployment supports hard network path data isolation guarantees to users (`driver_handles_share_servers=True`), a network fulfilment mechanism is required, but this component is replaceable and no specific network driver is expected."
},
"filter scheduler": {
"description": "Scheduler for the Shared File Systems service",
"designated": false,
"comment": "API driven actions must be fulfilled by a filter scheduler, but no specific scheduler filters or weighers are designated."
},
"db driver": {
"description": "Database driver for the Shared File Systems service",
"designated": false,
"comment": "Replaceable. No specific database required."
},
"api extensions": {
"description": "Implementation of Shared File System API extensions",
"designated": false,
"comment": "Replaceable, conformance is not expected."
}
}
}
}
},
"test_repositories": {
"manila-tempest-plugin": {
"repository": "https://opendev.org/openstack/manila-tempest-plugin/",
"reference": "9ff6b341370b10a80fddc6d1fd70c6375542b846",
"description": "OpenStack Manila Test Plugin Repository"
}
}
}

View File

@@ -1,400 +0,0 @@
{
"metadata": {
"id": "shared_file_system.2021.11",
"schema": "2.0",
"reference": "https://opendev.org/openinfra/interop/raw/branch/master/doc/source/schema/2.0.json",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/shared_file_system.2021.11.json",
"scoring": {
"cutoff_score": 60,
"criteria": {
"atomic": {
"name": "Atomic",
"description": "The capabilities are unique and cannot be built out of other must-pass capabilities.",
"weight": 6
},
"clients": {
"name": "Used By Clients",
"description": "The capabilities are widely used by common OpenStack clients, including the openstack client, nova client, neutron client, and so on. This criterion pertains mostly to API versioning. For example, if v2 of a given API is not used by other OpenStack clients but v1 is, then v2 doesn't achieve the 'used by clients' criterion.",
"weight": 10
},
"complete": {
"name": "Complete",
"description": "Where the code being tested has a designated area of alternate implementation (add-on framework) as per the Core Principles, there should be parity in capability tested across add-on implementations. This also implies that the capability test is not configuration specific or locked to non-open technology.",
"weight": 8
},
"discover": {
"name": "Discoverable",
"description": "Capability being tested is Service Discoverable (can be found in Keystone and via service introspection).",
"weight": 8
},
"doc": {
"name": "Documented",
"description": "The capability is well documented, including both the interface and the expected behavior.",
"weight": 8
},
"future": {
"name": "Future Direction",
"description": "The capability reflects the future technical direction as defined by the project technical teams and the Technical Committee.",
"weight": 11
},
"stable": {
"name": "Stable",
"description": "A capability that whose API has changed in more than two releases. Meant to select for capabilities that are stable and not under active development.",
"weight": 9
},
"sticky": {
"name": "Core In Last Release",
"description": "A capability whose API was present in the previous guideline release. Discourages the disruption of replacing the API a capability uses, or removing a capability from core.",
"weight": 9
},
"tools": {
"name": "Used By Tools",
"description": "Capabilities that are widely used outside of the OpenStack client ecosystem. Example tools include GopherCloud, jClouds, Fog, and so on.",
"weight": 6
}
}
},
"os_trademark_approval": {
"target_approval": "shared_file_system.2021.11",
"replaces": "shared_file_system.2020.11",
"releases": ["victoria", "wallaby", "xena", "yoga"],
"status": "approved"
}
},
"add-ons": {
"Shared-File-System": {
"description": "OpenStack Powered with Shared File Systems",
"components": [
{
"name": "os_powered_shared_file_system"
}
],
"required_platform_components": [
{
"name": "os_powered_compute",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/guidelines/2021.11.json"
}
]
}
},
"components": {
"os_powered_shared_file_system": {
"capabilities": {
"required": [
"share-list-api-versions",
"share-create-delete",
"share-get",
"share-list",
"share-update",
"share-extend",
"share-shrink",
"share-network-create-delete",
"share-network-update",
"share-network-get",
"share-network-list"
],
"advisory": [
],
"deprecated": [
],
"removed": [
]
},
"designated_sections": {
"required": [
"manila"
]
}
}
},
"capabilities": {
"share-list-api-versions": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List supported versions of the Shared File Systems service API",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_microversions.MicroversionsTest.test_microversions_v2_no_version": {
"idempotent_id": "id-9a8bd7fd-f9d0-4fc6-8e1c-0178d87ec7c1"
}
}
},
"share-create-delete": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Create and delete a manila share.",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_shares.SharesNFSTest.test_create_get_delete_share": {
"idempotent_id": "id-21ad41fb-04cf-493c-bc2f-66c80220898b",
"aliases": [
"manila_tempest_tests.tests.api.test_shares.SharesCephFSTest.test_create_get_delete_share",
"manila_tempest_tests.tests.api.test_shares.SharesCIFSTest.test_create_get_delete_share",
"manila_tempest_tests.tests.api.test_shares.SharesGLUSTERFSTest.test_create_get_delete_share",
"manila_tempest_tests.tests.api.test_shares.SharesHDFSTest.test_create_get_delete_share",
"manila_tempest_tests.tests.api.test_shares.SharesMapRFSTest.test_create_get_delete_share"
]
}
}
},
"share-get": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Get details of a manila share at API microversion 2.1",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_shares_actions.SharesActionsTest.test_get_share_v2_1": {
"idempotent_id": "id-188badb2-0ca3-44e5-abca-3029475d7f73"
}
}
},
"share-list": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List manila shares.",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_shares_actions.SharesActionsTest.test_list_shares": {
"idempotent_id": "id-7d61311a-81b0-481c-abb9-cfb0b4f82e29"
},
"manila_tempest_tests.tests.api.test_shares_actions.SharesActionsTest.test_list_shares_with_detail_v2_1": {
"idempotent_id": "id-d88a157a-fe4d-456e-90ba-f0bd9e5d02ec"
}
}
},
"share-update": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Update a manila share.",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_shares_actions.SharesRenameTest.test_update_share": {
"idempotent_id": "id-7661d042-8222-483c-9249-9f53931e7347"
}
}
},
"share-extend": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Increase the size of a manila share.",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_shares_actions.SharesActionsTest.test_extend_share": {
"idempotent_id": "id-17e6f579-e0d7-4724-a639-4974e82bb5ed"
}
}
},
"share-shrink": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Decrease the size of a manila share.",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_shares_actions.SharesActionsTest.test_shrink_share": {
"idempotent_id": "id-8f64b930-9b4e-41d7-bbd6-82d9951931f3"
}
}
},
"share-network-create-delete": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Create and delete a manila share network.",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_share_networks.ShareNetworksTest.test_create_delete_share_network": {
"idempotent_id": "id-b998a594-f630-475d-b46f-e4143caf61fb"
}
}
},
"share-network-update": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Update a manila share network.",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_share_networks.ShareNetworksTest.test_update_share_network": {
"idempotent_id": "id-1837fdd3-8068-4e88-bc50-9224498f84c0"
}
}
},
"share-network-get": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Get manila share network details.",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_share_networks.ShareNetworksTest.test_get_share_network": {
"idempotent_id": "id-55990ec2-37f0-483f-9c67-76fd6f377cc1"
}
}
},
"share-network-list": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List manila share networks.",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_share_networks.ShareNetworksTest.test_list_share_networks": {
"idempotent_id": "id-41c635b1-d9ef-4c05-9100-5e4b0034b523"
}
}
}
},
"designated_sections": {
"manila": {
"required": {
"guidance": "The Shared File Systems v2 API (with microversions) is designated",
"comment": "Many parts of the service are extensible by design, so only the API is designated. Scheduler and Weigher plugins for placement and Shared File System storage drivers for fulfillment are not designated.",
"sections": {
"api": {
"description": "The version 2 API specification with micro-versions",
"designated": true,
"comment": "CRUD APIs for some resources are designated. However, any `driver_handles_share_servers` driver mode can be used or any supported share protocol can be used."
},
"storage drivers": {
"description": "Shared File Systems storage drivers",
"designated": false,
"comment": "API driven actions must be fulfilled, however, no specific driver/s designated. One or more drivers can be used, and they needn't be part of the Shared File Systems service code base."
},
"network plugins": {
"description": "Shared File Systems network plugins",
"designated": false,
"comment": "When deployment supports hard network path data isolation guarantees to users (`driver_handles_share_servers=True`), a network fulfilment mechanism is required, but this component is replaceable and no specific network driver is expected."
},
"filter scheduler": {
"description": "Scheduler for the Shared File Systems service",
"designated": false,
"comment": "API driven actions must be fulfilled by a filter scheduler, but no specific scheduler filters or weighers are designated."
},
"db driver": {
"description": "Database driver for the Shared File Systems service",
"designated": false,
"comment": "Replaceable. No specific database required."
},
"api extensions": {
"description": "Implementation of Shared File System API extensions",
"designated": false,
"comment": "Replaceable, conformance is not expected."
}
}
}
}
},
"test_repositories": {
"manila-tempest-plugin": {
"repository": "https://opendev.org/openstack/manila-tempest-plugin/",
"reference": "9c4a97b150e15b814acd4feb4da858a0eeff881e",
"description": "OpenStack Manila Test Plugin Repository"
}
}
}

View File

@@ -1,400 +0,0 @@
{
"metadata": {
"id": "shared_file_system.2022.06",
"schema": "2.0",
"reference": "https://opendev.org/openinfra/interop/raw/branch/master/doc/source/schema/2.0.json",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/shared_file_system.2022.06.json",
"scoring": {
"cutoff_score": 60,
"criteria": {
"atomic": {
"name": "Atomic",
"description": "The capabilities are unique and cannot be built out of other must-pass capabilities.",
"weight": 6
},
"clients": {
"name": "Used By Clients",
"description": "The capabilities are widely used by common OpenStack clients, including the openstack client, nova client, neutron client, and so on. This criterion pertains mostly to API versioning. For example, if v2 of a given API is not used by other OpenStack clients but v1 is, then v2 doesn't achieve the 'used by clients' criterion.",
"weight": 10
},
"complete": {
"name": "Complete",
"description": "Where the code being tested has a designated area of alternate implementation (add-on framework) as per the Core Principles, there should be parity in capability tested across add-on implementations. This also implies that the capability test is not configuration specific or locked to non-open technology.",
"weight": 8
},
"discover": {
"name": "Discoverable",
"description": "Capability being tested is Service Discoverable (can be found in Keystone and via service introspection).",
"weight": 8
},
"doc": {
"name": "Documented",
"description": "The capability is well documented, including both the interface and the expected behavior.",
"weight": 8
},
"future": {
"name": "Future Direction",
"description": "The capability reflects the future technical direction as defined by the project technical teams and the Technical Committee.",
"weight": 11
},
"stable": {
"name": "Stable",
"description": "A capability that whose API has changed in more than two releases. Meant to select for capabilities that are stable and not under active development.",
"weight": 9
},
"sticky": {
"name": "Core In Last Release",
"description": "A capability whose API was present in the previous guideline release. Discourages the disruption of replacing the API a capability uses, or removing a capability from core.",
"weight": 9
},
"tools": {
"name": "Used By Tools",
"description": "Capabilities that are widely used outside of the OpenStack client ecosystem. Example tools include GopherCloud, jClouds, Fog, and so on.",
"weight": 6
}
}
},
"os_trademark_approval": {
"target_approval": "shared_file_system.2022.06",
"replaces": "shared_file_system.2021.11",
"releases": ["wallaby", "xena", "yoga", "zed"],
"status": "approved"
}
},
"add-ons": {
"Shared-File-System": {
"description": "OpenStack Powered with Shared File Systems",
"components": [
{
"name": "os_powered_shared_file_system"
}
],
"required_platform_components": [
{
"name": "os_powered_compute",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/guidelines/2022.06.json"
}
]
}
},
"components": {
"os_powered_shared_file_system": {
"capabilities": {
"required": [
"share-list-api-versions",
"share-create-delete",
"share-get",
"share-list",
"share-update",
"share-extend",
"share-shrink",
"share-network-create-delete",
"share-network-update",
"share-network-get",
"share-network-list"
],
"advisory": [
],
"deprecated": [
],
"removed": [
]
},
"designated_sections": {
"required": [
"manila"
]
}
}
},
"capabilities": {
"share-list-api-versions": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List supported versions of the Shared File Systems service API",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_microversions.MicroversionsTest.test_microversions_v2_no_version": {
"idempotent_id": "id-9a8bd7fd-f9d0-4fc6-8e1c-0178d87ec7c1"
}
}
},
"share-create-delete": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Create and delete a manila share.",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_shares.SharesNFSTest.test_create_get_delete_share": {
"idempotent_id": "id-21ad41fb-04cf-493c-bc2f-66c80220898b",
"aliases": [
"manila_tempest_tests.tests.api.test_shares.SharesCephFSTest.test_create_get_delete_share",
"manila_tempest_tests.tests.api.test_shares.SharesCIFSTest.test_create_get_delete_share",
"manila_tempest_tests.tests.api.test_shares.SharesGLUSTERFSTest.test_create_get_delete_share",
"manila_tempest_tests.tests.api.test_shares.SharesHDFSTest.test_create_get_delete_share",
"manila_tempest_tests.tests.api.test_shares.SharesMapRFSTest.test_create_get_delete_share"
]
}
}
},
"share-get": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Get details of a manila share at API microversion 2.1",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_shares_actions.SharesActionsTest.test_get_share_v2_1": {
"idempotent_id": "id-188badb2-0ca3-44e5-abca-3029475d7f73"
}
}
},
"share-list": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List manila shares.",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_shares_actions.SharesActionsTest.test_list_shares": {
"idempotent_id": "id-7d61311a-81b0-481c-abb9-cfb0b4f82e29"
},
"manila_tempest_tests.tests.api.test_shares_actions.SharesActionsTest.test_list_shares_with_detail_v2_1": {
"idempotent_id": "id-d88a157a-fe4d-456e-90ba-f0bd9e5d02ec"
}
}
},
"share-update": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Update a manila share.",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_shares_actions.SharesRenameTest.test_update_share": {
"idempotent_id": "id-7661d042-8222-483c-9249-9f53931e7347"
}
}
},
"share-extend": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Increase the size of a manila share.",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_shares_actions.SharesActionsTest.test_extend_share": {
"idempotent_id": "id-17e6f579-e0d7-4724-a639-4974e82bb5ed"
}
}
},
"share-shrink": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Decrease the size of a manila share.",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_shares_actions.SharesActionsTest.test_shrink_share": {
"idempotent_id": "id-8f64b930-9b4e-41d7-bbd6-82d9951931f3"
}
}
},
"share-network-create-delete": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Create and delete a manila share network.",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_share_networks.ShareNetworksTest.test_create_delete_share_network": {
"idempotent_id": "id-b998a594-f630-475d-b46f-e4143caf61fb"
}
}
},
"share-network-update": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Update a manila share network.",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_share_networks.ShareNetworksTest.test_update_share_network": {
"idempotent_id": "id-1837fdd3-8068-4e88-bc50-9224498f84c0"
}
}
},
"share-network-get": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Get manila share network details.",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_share_networks.ShareNetworksTest.test_get_share_network": {
"idempotent_id": "id-55990ec2-37f0-483f-9c67-76fd6f377cc1"
}
}
},
"share-network-list": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List manila share networks.",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_share_networks.ShareNetworksTest.test_list_share_networks": {
"idempotent_id": "id-41c635b1-d9ef-4c05-9100-5e4b0034b523"
}
}
}
},
"designated_sections": {
"manila": {
"required": {
"guidance": "The Shared File Systems v2 API (with microversions) is designated",
"comment": "Many parts of the service are extensible by design, so only the API is designated. Scheduler and Weigher plugins for placement and Shared File System storage drivers for fulfillment are not designated.",
"sections": {
"api": {
"description": "The version 2 API specification with micro-versions",
"designated": true,
"comment": "CRUD APIs for some resources are designated. However, any `driver_handles_share_servers` driver mode can be used or any supported share protocol can be used."
},
"storage drivers": {
"description": "Shared File Systems storage drivers",
"designated": false,
"comment": "API driven actions must be fulfilled, however, no specific driver/s designated. One or more drivers can be used, and they needn't be part of the Shared File Systems service code base."
},
"network plugins": {
"description": "Shared File Systems network plugins",
"designated": false,
"comment": "When deployment supports hard network path data isolation guarantees to users (`driver_handles_share_servers=True`), a network fulfilment mechanism is required, but this component is replaceable and no specific network driver is expected."
},
"filter scheduler": {
"description": "Scheduler for the Shared File Systems service",
"designated": false,
"comment": "API driven actions must be fulfilled by a filter scheduler, but no specific scheduler filters or weighers are designated."
},
"db driver": {
"description": "Database driver for the Shared File Systems service",
"designated": false,
"comment": "Replaceable. No specific database required."
},
"api extensions": {
"description": "Implementation of Shared File System API extensions",
"designated": false,
"comment": "Replaceable, conformance is not expected."
}
}
}
}
},
"test_repositories": {
"manila-tempest-plugin": {
"repository": "https://opendev.org/openstack/manila-tempest-plugin/",
"reference": "5203643c2423c89afc90b1c0045de422c643f85a",
"description": "OpenStack Manila Test Plugin Repository"
}
}
}

View File

@@ -1,400 +0,0 @@
{
"metadata": {
"id": "shared_file_system.2022.11",
"schema": "2.0",
"reference": "https://opendev.org/openinfra/interop/raw/branch/master/doc/source/schema/2.0.json",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/shared_file_system.2022.11.json",
"scoring": {
"cutoff_score": 60,
"criteria": {
"atomic": {
"name": "Atomic",
"description": "The capabilities are unique and cannot be built out of other must-pass capabilities.",
"weight": 6
},
"clients": {
"name": "Used By Clients",
"description": "The capabilities are widely used by common OpenStack clients, including the openstack client, nova client, neutron client, and so on. This criterion pertains mostly to API versioning. For example, if v2 of a given API is not used by other OpenStack clients but v1 is, then v2 doesn't achieve the 'used by clients' criterion.",
"weight": 10
},
"complete": {
"name": "Complete",
"description": "Where the code being tested has a designated area of alternate implementation (add-on framework) as per the Core Principles, there should be parity in capability tested across add-on implementations. This also implies that the capability test is not configuration specific or locked to non-open technology.",
"weight": 8
},
"discover": {
"name": "Discoverable",
"description": "Capability being tested is Service Discoverable (can be found in Keystone and via service introspection).",
"weight": 8
},
"doc": {
"name": "Documented",
"description": "The capability is well documented, including both the interface and the expected behavior.",
"weight": 8
},
"future": {
"name": "Future Direction",
"description": "The capability reflects the future technical direction as defined by the project technical teams and the Technical Committee.",
"weight": 11
},
"stable": {
"name": "Stable",
"description": "A capability that whose API has changed in more than two releases. Meant to select for capabilities that are stable and not under active development.",
"weight": 9
},
"sticky": {
"name": "Core In Last Release",
"description": "A capability whose API was present in the previous guideline release. Discourages the disruption of replacing the API a capability uses, or removing a capability from core.",
"weight": 9
},
"tools": {
"name": "Used By Tools",
"description": "Capabilities that are widely used outside of the OpenStack client ecosystem. Example tools include GopherCloud, jClouds, Fog, and so on.",
"weight": 6
}
}
},
"os_trademark_approval": {
"target_approval": "shared_file_system.2022.11",
"replaces": "shared_file_system.2022.06",
"releases": ["xena", "yoga", "zed", "antelope"],
"status": "draft"
}
},
"add-ons": {
"Shared-File-System": {
"description": "OpenStack Powered with Shared File Systems",
"components": [
{
"name": "os_powered_shared_file_system"
}
],
"required_platform_components": [
{
"name": "os_powered_compute",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/guidelines/2022.11.json"
}
]
}
},
"components": {
"os_powered_shared_file_system": {
"capabilities": {
"required": [
"share-list-api-versions",
"share-create-delete",
"share-get",
"share-list",
"share-update",
"share-extend",
"share-shrink",
"share-network-create-delete",
"share-network-update",
"share-network-get",
"share-network-list"
],
"advisory": [
],
"deprecated": [
],
"removed": [
]
},
"designated_sections": {
"required": [
"manila"
]
}
}
},
"capabilities": {
"share-list-api-versions": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List supported versions of the Shared File Systems service API",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_microversions.MicroversionsTest.test_microversions_v2_no_version": {
"idempotent_id": "id-9a8bd7fd-f9d0-4fc6-8e1c-0178d87ec7c1"
}
}
},
"share-create-delete": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Create and delete a manila share.",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_shares.SharesNFSTest.test_create_get_delete_share": {
"idempotent_id": "id-21ad41fb-04cf-493c-bc2f-66c80220898b",
"aliases": [
"manila_tempest_tests.tests.api.test_shares.SharesCephFSTest.test_create_get_delete_share",
"manila_tempest_tests.tests.api.test_shares.SharesCIFSTest.test_create_get_delete_share",
"manila_tempest_tests.tests.api.test_shares.SharesGLUSTERFSTest.test_create_get_delete_share",
"manila_tempest_tests.tests.api.test_shares.SharesHDFSTest.test_create_get_delete_share",
"manila_tempest_tests.tests.api.test_shares.SharesMapRFSTest.test_create_get_delete_share"
]
}
}
},
"share-get": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Get details of a manila share at API microversion 2.1",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_shares_actions.SharesActionsTest.test_get_share_v2_1": {
"idempotent_id": "id-188badb2-0ca3-44e5-abca-3029475d7f73"
}
}
},
"share-list": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List manila shares.",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_shares_actions.SharesActionsTest.test_list_shares": {
"idempotent_id": "id-7d61311a-81b0-481c-abb9-cfb0b4f82e29"
},
"manila_tempest_tests.tests.api.test_shares_actions.SharesActionsTest.test_list_shares_with_detail_v2_1": {
"idempotent_id": "id-d88a157a-fe4d-456e-90ba-f0bd9e5d02ec"
}
}
},
"share-update": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Update a manila share.",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_shares_actions.SharesRenameTest.test_update_share": {
"idempotent_id": "id-7661d042-8222-483c-9249-9f53931e7347"
}
}
},
"share-extend": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Increase the size of a manila share.",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_shares_actions.SharesActionsTest.test_extend_share": {
"idempotent_id": "id-17e6f579-e0d7-4724-a639-4974e82bb5ed"
}
}
},
"share-shrink": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Decrease the size of a manila share.",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_shares_actions.SharesActionsTest.test_shrink_share": {
"idempotent_id": "id-8f64b930-9b4e-41d7-bbd6-82d9951931f3"
}
}
},
"share-network-create-delete": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Create and delete a manila share network.",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_share_networks.ShareNetworksTest.test_create_delete_share_network": {
"idempotent_id": "id-b998a594-f630-475d-b46f-e4143caf61fb"
}
}
},
"share-network-update": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Update a manila share network.",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_share_networks.ShareNetworksTest.test_update_share_network": {
"idempotent_id": "id-1837fdd3-8068-4e88-bc50-9224498f84c0"
}
}
},
"share-network-get": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Get manila share network details.",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_share_networks.ShareNetworksTest.test_get_share_network": {
"idempotent_id": "id-55990ec2-37f0-483f-9c67-76fd6f377cc1"
}
}
},
"share-network-list": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List manila share networks.",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_share_networks.ShareNetworksTest.test_list_share_networks": {
"idempotent_id": "id-41c635b1-d9ef-4c05-9100-5e4b0034b523"
}
}
}
},
"designated_sections": {
"manila": {
"required": {
"guidance": "The Shared File Systems v2 API (with microversions) is designated",
"comment": "Many parts of the service are extensible by design, so only the API is designated. Scheduler and Weigher plugins for placement and Shared File System storage drivers for fulfillment are not designated.",
"sections": {
"api": {
"description": "The version 2 API specification with micro-versions",
"designated": true,
"comment": "CRUD APIs for some resources are designated. However, any `driver_handles_share_servers` driver mode can be used or any supported share protocol can be used."
},
"storage drivers": {
"description": "Shared File Systems storage drivers",
"designated": false,
"comment": "API driven actions must be fulfilled, however, no specific driver/s designated. One or more drivers can be used, and they needn't be part of the Shared File Systems service code base."
},
"network plugins": {
"description": "Shared File Systems network plugins",
"designated": false,
"comment": "When deployment supports hard network path data isolation guarantees to users (`driver_handles_share_servers=True`), a network fulfilment mechanism is required, but this component is replaceable and no specific network driver is expected."
},
"filter scheduler": {
"description": "Scheduler for the Shared File Systems service",
"designated": false,
"comment": "API driven actions must be fulfilled by a filter scheduler, but no specific scheduler filters or weighers are designated."
},
"db driver": {
"description": "Database driver for the Shared File Systems service",
"designated": false,
"comment": "Replaceable. No specific database required."
},
"api extensions": {
"description": "Implementation of Shared File System API extensions",
"designated": false,
"comment": "Replaceable, conformance is not expected."
}
}
}
}
},
"test_repositories": {
"manila-tempest-plugin": {
"repository": "https://opendev.org/openstack/manila-tempest-plugin/",
"reference": "045dd282fa9ec6de8ee888f9ff2c96fbd22cebe1",
"description": "OpenStack Manila Test Plugin Repository"
}
}
}

View File

@@ -1,400 +0,0 @@
{
"metadata": {
"id": "shared_file_system.next",
"schema": "2.0",
"reference": "https://opendev.org/openinfra/interop/raw/branch/master/doc/source/schema/2.0.json",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/shared_file_system.next.json",
"scoring": {
"cutoff_score": 60,
"criteria": {
"atomic": {
"name": "Atomic",
"description": "The capabilities are unique and cannot be built out of other must-pass capabilities.",
"weight": 6
},
"clients": {
"name": "Used By Clients",
"description": "The capabilities are widely used by common OpenStack clients, including the openstack client, nova client, neutron client, and so on. This criterion pertains mostly to API versioning. For example, if v2 of a given API is not used by other OpenStack clients but v1 is, then v2 doesn't achieve the 'used by clients' criterion.",
"weight": 10
},
"complete": {
"name": "Complete",
"description": "Where the code being tested has a designated area of alternate implementation (add-on framework) as per the Core Principles, there should be parity in capability tested across add-on implementations. This also implies that the capability test is not configuration specific or locked to non-open technology.",
"weight": 8
},
"discover": {
"name": "Discoverable",
"description": "Capability being tested is Service Discoverable (can be found in Keystone and via service introspection).",
"weight": 8
},
"doc": {
"name": "Documented",
"description": "The capability is well documented, including both the interface and the expected behavior.",
"weight": 8
},
"future": {
"name": "Future Direction",
"description": "The capability reflects the future technical direction as defined by the project technical teams and the Technical Committee.",
"weight": 11
},
"stable": {
"name": "Stable",
"description": "A capability that whose API has changed in more than two releases. Meant to select for capabilities that are stable and not under active development.",
"weight": 9
},
"sticky": {
"name": "Core In Last Release",
"description": "A capability whose API was present in the previous guideline release. Discourages the disruption of replacing the API a capability uses, or removing a capability from core.",
"weight": 9
},
"tools": {
"name": "Used By Tools",
"description": "Capabilities that are widely used outside of the OpenStack client ecosystem. Example tools include GopherCloud, jClouds, Fog, and so on.",
"weight": 6
}
}
},
"os_trademark_approval": {
"target_approval": "shared_file_system.2023.11",
"replaces": "shared_file_system.2022.11",
"releases": ["xena", "yoga", "zed", "antelope"],
"status": "draft"
}
},
"add-ons": {
"Shared-File-System": {
"description": "OpenStack Powered with Shared File Systems",
"components": [
{
"name": "os_powered_shared_file_system"
}
],
"required_platform_components": [
{
"name": "os_powered_compute",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/guidelines/next.json"
}
]
}
},
"components": {
"os_powered_shared_file_system": {
"capabilities": {
"required": [
"share-list-api-versions",
"share-create-delete",
"share-get",
"share-list",
"share-update",
"share-extend",
"share-shrink",
"share-network-create-delete",
"share-network-update",
"share-network-get",
"share-network-list"
],
"advisory": [
],
"deprecated": [
],
"removed": [
]
},
"designated_sections": {
"required": [
"manila"
]
}
}
},
"capabilities": {
"share-list-api-versions": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List supported versions of the Shared File Systems service API",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_microversions.MicroversionsTest.test_microversions_v2_no_version": {
"idempotent_id": "id-9a8bd7fd-f9d0-4fc6-8e1c-0178d87ec7c1"
}
}
},
"share-create-delete": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Create and delete a manila share.",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_shares.SharesNFSTest.test_create_get_delete_share": {
"idempotent_id": "id-21ad41fb-04cf-493c-bc2f-66c80220898b",
"aliases": [
"manila_tempest_tests.tests.api.test_shares.SharesCephFSTest.test_create_get_delete_share",
"manila_tempest_tests.tests.api.test_shares.SharesCIFSTest.test_create_get_delete_share",
"manila_tempest_tests.tests.api.test_shares.SharesGLUSTERFSTest.test_create_get_delete_share",
"manila_tempest_tests.tests.api.test_shares.SharesHDFSTest.test_create_get_delete_share",
"manila_tempest_tests.tests.api.test_shares.SharesMapRFSTest.test_create_get_delete_share"
]
}
}
},
"share-get": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Get details of a manila share at API microversion 2.1",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_shares_actions.SharesActionsTest.test_get_share_v2_1": {
"idempotent_id": "id-188badb2-0ca3-44e5-abca-3029475d7f73"
}
}
},
"share-list": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List manila shares.",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_shares_actions.SharesActionsTest.test_list_shares": {
"idempotent_id": "id-7d61311a-81b0-481c-abb9-cfb0b4f82e29"
},
"manila_tempest_tests.tests.api.test_shares_actions.SharesActionsTest.test_list_shares_with_detail_v2_1": {
"idempotent_id": "id-d88a157a-fe4d-456e-90ba-f0bd9e5d02ec"
}
}
},
"share-update": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Update a manila share.",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_shares_actions.SharesRenameTest.test_update_share": {
"idempotent_id": "id-7661d042-8222-483c-9249-9f53931e7347"
}
}
},
"share-extend": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Increase the size of a manila share.",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_shares_actions.SharesActionsTest.test_extend_share": {
"idempotent_id": "id-17e6f579-e0d7-4724-a639-4974e82bb5ed"
}
}
},
"share-shrink": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Decrease the size of a manila share.",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_shares_actions.SharesActionsTest.test_shrink_share": {
"idempotent_id": "id-8f64b930-9b4e-41d7-bbd6-82d9951931f3"
}
}
},
"share-network-create-delete": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Create and delete a manila share network.",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_share_networks.ShareNetworksTest.test_create_delete_share_network": {
"idempotent_id": "id-b998a594-f630-475d-b46f-e4143caf61fb"
}
}
},
"share-network-update": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Update a manila share network.",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_share_networks.ShareNetworksTest.test_update_share_network": {
"idempotent_id": "id-1837fdd3-8068-4e88-bc50-9224498f84c0"
}
}
},
"share-network-get": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Get manila share network details.",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_share_networks.ShareNetworksTest.test_get_share_network": {
"idempotent_id": "id-55990ec2-37f0-483f-9c67-76fd6f377cc1"
}
}
},
"share-network-list": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "List manila share networks.",
"project": "manila",
"required_since": "2020.11",
"tests": {
"manila_tempest_tests.tests.api.test_share_networks.ShareNetworksTest.test_list_share_networks": {
"idempotent_id": "id-41c635b1-d9ef-4c05-9100-5e4b0034b523"
}
}
}
},
"designated_sections": {
"manila": {
"required": {
"guidance": "The Shared File Systems v2 API (with microversions) is designated",
"comment": "Many parts of the service are extensible by design, so only the API is designated. Scheduler and Weigher plugins for placement and Shared File System storage drivers for fulfillment are not designated.",
"sections": {
"api": {
"description": "The version 2 API specification with micro-versions",
"designated": true,
"comment": "CRUD APIs for some resources are designated. However, any `driver_handles_share_servers` driver mode can be used or any supported share protocol can be used."
},
"storage drivers": {
"description": "Shared File Systems storage drivers",
"designated": false,
"comment": "API driven actions must be fulfilled, however, no specific driver/s designated. One or more drivers can be used, and they needn't be part of the Shared File Systems service code base."
},
"network plugins": {
"description": "Shared File Systems network plugins",
"designated": false,
"comment": "When deployment supports hard network path data isolation guarantees to users (`driver_handles_share_servers=True`), a network fulfilment mechanism is required, but this component is replaceable and no specific network driver is expected."
},
"filter scheduler": {
"description": "Scheduler for the Shared File Systems service",
"designated": false,
"comment": "API driven actions must be fulfilled by a filter scheduler, but no specific scheduler filters or weighers are designated."
},
"db driver": {
"description": "Database driver for the Shared File Systems service",
"designated": false,
"comment": "Replaceable. No specific database required."
},
"api extensions": {
"description": "Implementation of Shared File System API extensions",
"designated": false,
"comment": "Replaceable, conformance is not expected."
}
}
}
}
},
"test_repositories": {
"manila-tempest-plugin": {
"repository": "https://opendev.org/openstack/manila-tempest-plugin/",
"reference": "045dd282fa9ec6de8ee888f9ff2c96fbd22cebe1",
"description": "OpenStack Manila Test Plugin Repository"
}
}
}

View File

@@ -1 +0,0 @@
guidelines/key_manager.2022.11.json

View File

@@ -1 +0,0 @@
guidelines/load_balancer.2022.11.json

View File

@@ -1 +0,0 @@
guidelines/orchestration.2022.11.json

View File

@@ -1 +0,0 @@
guidelines/shared_file_system.2022.11.json

View File

@@ -1 +0,0 @@
guidelines/2022.11.json

View File

@@ -1,7 +0,0 @@
pygments
demjson3
doc8
jsonschema
Sphinx
sphinxcontrib.datatemplates
openstackdocstheme>=2.2.0 # Apache-2.0

View File

@@ -1,76 +0,0 @@
.. -*- mode: rst -*-
:Status: {{data['status'].title()}}
:Replaces: :doc:`{{data['replaces']}}`
Releases Covered
================
{% for release in data['releases'] %}
- {{release.title()}}
{% endfor %}
Platform Components
===================
{% for category in ['required', 'advisory', 'deprecated', 'removed'] %}
:{{category}}: {% for r in data['platform'][category] %}{{r.title()}}{% if not loop.last %}, {% endif %}{% else %}None{% endfor %}
{% endfor %}{# category #}
{% for component_name, component in data['components'].items()|sort %}
{{component_name.title()}} Component Capabilities
{% for _ in component_name %}={% endfor %}========================
{% for category in ['required', 'advisory', 'deprecated', 'removed'] %}
{{category.title()}} Capabilities
{% for _ in category %}-{% endfor %}-------------
{% for capability in component[category.lower()] %}
- {{ capability }} ({{data['capabilities'][capability]['project'].title()}})
{% else %}
None
{% endfor %}{# capabilities #}
{% endfor %}{# category1 #}
{% endfor %}{# component2 #}
Designated Sections
===================
The following designated sections apply to the same releases as this
specification.
{% for category in ['required', 'advisory', 'deprecated', 'removed'] %}
{{category.title()}} Designated Sections
{% for _ in category %}-{% endfor %}--------------------
{% for component_name, component in data['designated-sections'][category].items()|sort %}
{{component_name.title()}}
{% for _ in category %}~{% endfor %}
:Guidance: {{component['guidance']}}
:Comment: {{component['comment']}}
.. list-table:: Sections
:header-rows: 1
:widths: 20 40 10 30
- * Section
* Description
* Designated
* Comments
{% for section_name, section in component['sections'].items()|sort %}
- * {{section_name.title()}}
* {{section['description']}}
* {% if section['designated'] %}Yes{% else %}No{% endif %}
* {{section['comment']}}
{% else %}
None
{%- endfor %}{# section #}
{% else %}
None
{% endfor %}{# component2 #}
{% endfor %}{# category2 #}

View File

@@ -1,211 +0,0 @@
# -*- coding: utf-8 -*-
#
# Tempest documentation build configuration file, created by
# sphinx-quickstart on Tue May 21 17:43:32 2013.
#
# This file is execfile()d with the current directory set to its containing dir.
#
# Note that not all possible configuration values are present in this
# autogenerated file.
#
# All configuration values have a default; values that are commented out
# serve to show the default.
import subprocess
import sys
import os
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#sys.path.insert(0, os.path.abspath('.'))
# -- General configuration -----------------------------------------------------
# If your documentation needs a minimal Sphinx version, state it here.
#needs_sphinx = '1.0'
# Add any Sphinx extension module names here, as strings. They can be extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = ['sphinx.ext.autodoc',
'sphinx.ext.intersphinx',
'sphinx.ext.todo',
'sphinx.ext.viewcode',
'sphinxcontrib.datatemplates',
'openstackdocstheme',
]
todo_include_todos = True
# openstackdocstheme options
openstackdocs_repo_name = 'openinfra/interop'
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
# The suffix of source filenames.
source_suffix = '.rst'
# The encoding of source files.
#source_encoding = 'utf-8-sig'
# The master toctree document.
master_doc = 'index'
# General information about the project.
project = u'interop'
copyright = u'OpenStack Contributors'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
#language = None
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
#today = ''
# Else, today_fmt is used as the format for a strftime call.
#today_fmt = '%B %d, %Y'
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
exclude_patterns = ['_build']
# The reST default role (used for this markup: `text`) to use for all documents.
#default_role = None
# If true, '()' will be appended to :func: etc. cross-reference text.
#add_function_parentheses = True
# If true, the current module name will be prepended to all description
# unit titles (such as .. function::).
add_module_names = False
# If true, sectionauthor and moduleauthor directives will be shown in the
# output. They are ignored by default.
show_authors = True
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
# A list of ignored prefixes for module index sorting.
modindex_common_prefix = []
# -- Options for man page output ----------------------------------------------
man_pages = []
# -- Options for HTML output ---------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
html_theme = 'alabaster'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
#html_theme_options = {}
# Add any paths that contain custom themes here, relative to this directory.
#html_theme_path = []
# The name for this set of Sphinx documents. If None, it defaults to
# "<project> v<release> documentation".
#html_title = None
# A shorter title for the navigation bar. Default is the same as html_title.
#html_short_title = None
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
#html_logo = None
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
#html_favicon = None
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
# using the given strftime format.
git_cmd = ["git", "log", "--pretty=format:'%ad, commit %h'", "--date=local",
"-n1"]
html_last_updated_fmt = subprocess.check_output(git_cmd).decode('utf-8')
# If true, SmartyPants will be used to convert quotes and dashes to
# typographically correct entities.
#html_use_smartypants = True
# Custom sidebar templates, maps document names to template names.
#html_sidebars = {}
# Additional templates that should be rendered to pages, maps page names to
# template names.
#html_additional_pages = {}
# If false, no module index is generated.
html_domain_indices = False
# If false, no index is generated.
html_use_index = False
# If true, the index is split into individual pages for each letter.
#html_split_index = False
# If true, links to the reST sources are added to the pages.
#html_show_sourcelink = True
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
#html_show_sphinx = True
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
#html_show_copyright = True
# If true, an OpenSearch description file will be output, and all pages will
# contain a <link> tag referring to it. The value of this option must be the
# base URL from which the finished HTML is served.
#html_use_opensearch = ''
# This is the file name suffix for HTML files (e.g. ".xhtml").
#html_file_suffix = None
# Output file base name for HTML help builder.
htmlhelp_basename = 'interop'
# -- Options for LaTeX output --------------------------------------------------
latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
#'papersize': 'letterpaper',
# The font size ('10pt', '11pt' or '12pt').
#'pointsize': '10pt',
# Additional stuff for the LaTeX preamble.
#'preamble': '',
}
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass [howto/manual]).
latex_documents = [
('index', 'interop.tex', u'OpenStack Interop WG Documentation',
u'OpenStack Foundation', 'manual'),
]
# The name of an image file (relative to this directory) to place at the top of
# the title page.
#latex_logo = None
# For "manual" documents, if this is true, then toplevel headings are parts,
# not chapters.
#latex_use_parts = False
# If true, show page references after internal links.
#latex_show_pagerefs = False
# If true, show URL addresses after external links.
#latex_show_urls = False
# Documents to append as an appendix to all manuals.
#latex_appendices = []
# If false, no module index is generated.
#latex_domain_indices = True

View File

@@ -1,5 +0,0 @@
============
Contributing
============
.. include:: ../../CONTRIBUTING.rst

View File

@@ -1,113 +0,0 @@
=========================
OpenStack DefCore 2015.03
=========================
:Status: superseded
:Replaces: 2014.07
:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/guidelines/2015.03.json
This document outlines the mandatory capabilities and designated
sections required to exist in a software installation in order to
be eligible to use marks controlled by the OpenStack Foundation.
This document was generated from the `master JSON version <2015.03.json>`_.
Releases Covered
==============================
Applies to Havana, Icehouse
Platform Components
==============================
:Required: Compute, Object
:Advisory: None
:Deprecated: None
:Removed: None
Compute Component Capabilities
==============================
Required Capabilities
-----------------------
* compute-auth (Nova)
* compute-flavors (Nova)
* compute-images (Nova)
* compute-instance-actions (Nova)
* compute-keypairs (Nova)
* compute-quotas (Nova)
* compute-servers (Nova)
* compute-volume (Nova)
* images-v2 (Glance)
Advisory Capabilities
-----------------------
* auth-token (Keystone)
* compute-servers-metadata (Nova)
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
* compute-floating-ips (Nova)
* images-v1 (Glance)
* volume (Cinder)
Object Component Capabilities
=============================
Required Capabilities
-----------------------
* objectstore-object (Swift)
Advisory Capabilities
-----------------------
None
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Designated Sections
=====================================
The following designated sections apply to the same releases as
this specification.
Required Designated Sections
----------------------------
* Cinder : Designated sections are the API implementation code
* Glance : Designated sections are the API implementation code and domain
model.
* Nova : By default, designated except scheduler, filter, drivers, API
extensions and networking.
* Swift : Designated sections are proxy server, object server, container
server, account server and select middleware
Advisory Designated Sections
----------------------------
* Keystone : Update pending from PTL
Deprecated Designated Sections
------------------------------
None
Removed Designated Sections
---------------------------
None

View File

@@ -1,111 +0,0 @@
=========================
OpenStack DefCore 2015.04
=========================
:Status: superseded
:Replaces: 2015.03
:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/guidelines/2015.04.json
This document outlines the mandatory capabilities and designated
sections required to exist in a software installation in order to
be eligible to use marks controlled by the OpenStack Foundation.
This document was generated from the `master JSON version <2015.04.json>`_.
Releases Covered
==============================
Applies to Havana, Icehouse, Juno
Platform Components
==============================
:Required: Compute, Object
:Advisory: None
:Deprecated: None
:Removed: None
Compute Component Capabilities
==============================
Required Capabilities
-----------------------
* compute-auth (Nova)
* compute-flavors (Nova)
* compute-images (Nova)
* compute-instance-actions (Nova)
* compute-keypairs (Nova)
* compute-quotas (Nova)
* compute-servers (Nova)
* compute-volume (Nova)
* images-v2 (Glance)
Advisory Capabilities
-----------------------
* auth-token (Keystone)
* compute-servers-metadata (Nova)
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Object Component Capabilities
=============================
Required Capabilities
-----------------------
* objectstore-object (Swift)
Advisory Capabilities
-----------------------
None
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Designated Sections
=====================================
The following designated sections apply to the same releases as
this specification.
Required Designated Sections
----------------------------
* Cinder : Designated sections are the API implementation code
* Glance : Designated sections are the API implementation code and domain
model.
* Nova : By default, designated except scheduler, filter, drivers, API
extensions and networking.
* Swift : Designated sections are proxy server, object server, container
server, account server and select middleware
Advisory Designated Sections
----------------------------
* Keystone : Update pending from PTL
Deprecated Designated Sections
------------------------------
None
Removed Designated Sections
---------------------------
None

View File

@@ -1,117 +0,0 @@
=========================
OpenStack DefCore 2015.05
=========================
:Status: superseded
:Replaces: 2015.04
:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/guidelines/2015.05.json
This document outlines the mandatory capabilities and designated
sections required to exist in a software installation in order to
be eligible to use marks controlled by the OpenStack Foundation.
This document was generated from the `master JSON version <2015.05.json>`_.
Releases Covered
==============================
Applies to Icehouse, Juno, Kilo
Platform Components
==============================
:Required: Compute, Object
:Advisory: None
:Deprecated: None
:Removed: None
Compute Component Capabilities
==============================
Required Capabilities
-----------------------
* identity-auth (Keystone)
* compute-auth (Nova)
* compute-flavors (Nova)
* compute-images (Nova)
* compute-instance-actions (Nova)
* compute-keypairs (Nova)
* compute-quotas (Nova)
* compute-servers (Nova)
* compute-volume (Nova)
* images-v2 (Nova)
Advisory Capabilities
-----------------------
* auth-token (Keystone)
* compute-servers-metadata (Nova)
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Object Component Capabilities
=============================
Required Capabilities
-----------------------
* objectstore-object (Swift)
Advisory Capabilities
-----------------------
* identity-auth (Keystone)
* auth-token (Keystone)
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Designated Sections
=====================================
The following designated sections apply to the same releases as
this specification.
Required Designated Sections
----------------------------
* Cinder : Designated sections are the API implementation code
* Glance : Designated sections are the API implementation code and domain
model.
* Keystone : Designation is outlined per API grouping. Identity (user and
group) management APIs will not be designated. API access (with exception of
auth) may be prohibited by policy (resulting in HTTP 403). Designated APIs
include both v2.0 and v3 versions where applicable.
* Nova : By default, designated except scheduler, filter, drivers, API
extensions and networking.
* Swift : Designated sections are proxy server, object server, container
server, account server and select middleware
Advisory Designated Sections
----------------------------
None
Deprecated Designated Sections
------------------------------
None
Removed Designated Sections
---------------------------
None

View File

@@ -1,152 +0,0 @@
=========================
OpenStack DefCore 2015.07
=========================
:Status: superseded
:Replaces: 2015.05
:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/guidelines/2015.07.json
This document outlines the mandatory capabilities and designated
sections required to exist in a software installation in order to
be eligible to use marks controlled by the OpenStack Foundation.
This document was generated from the `master JSON version <2015.07.json>`_.
Releases Covered
==============================
Applies to Icehouse, Juno, Kilo
Platform Components
==============================
:Required: Compute, Object
:Advisory: None
:Deprecated: None
:Removed: None
Compute Component Capabilities
==============================
Required Capabilities
-----------------------
* identity-v2-tokens-create (Keystone)
* identity-v3-tokens-create (Keystone)
* compute-auth-create (Nova)
* compute-auth-get (Nova)
* compute-auth-set (Nova)
* compute-images-create (Nova)
* compute-images-delete (Nova)
* compute-images-get (Nova)
* compute-images-list (Nova)
* compute-instance-actions-get (Nova)
* compute-instance-actions-list (Nova)
* compute-keypairs-create (Nova)
* compute-quotas-get (Nova)
* compute-servers-change (Nova)
* compute-servers-create (Nova)
* compute-servers-delete (Nova)
* compute-servers-get (Nova)
* compute-servers-host (Nova)
* compute-servers-invalid (Nova)
* compute-servers-list (Nova)
* compute-servers-lock (Nova)
* compute-servers-name (Nova)
* compute-servers-reboot (Nova)
* compute-servers-rebuild (Nova)
* compute-servers-resize (Nova)
* compute-servers-stop (Nova)
* compute-servers-update (Nova)
* compute-servers-verify (Nova)
* compute-volume-attach (Nova)
* compute-volume-get (Nova)
* compute-volume-list (Nova)
* images-v2-index (Nova)
* compute-servers-metadata-delete (Nova)
* compute-servers-metadata-get (Nova)
* compute-servers-metadata-list (Nova)
* compute-servers-metadata-set (Nova)
* compute-servers-metadata-update (Nova)
Advisory Capabilities
-----------------------
None
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Object Component Capabilities
=============================
Required Capabilities
-----------------------
* objectstore-object-access (Swift)
* objectstore-object-copy (Swift)
* objectstore-object-create (Swift)
* objectstore-object-delete (Swift)
* objectstore-object-get (Swift)
* objectstore-object-put (Swift)
* objectstore-object-upload (Swift)
* objectstore-object-versioned (Swift)
* objectstore-temp-url-get (Swift)
* identity-v2-tokens-create (Keystone)
* identity-v3-tokens-create (Keystone)
Advisory Capabilities
-----------------------
None
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Designated Sections
=====================================
The following designated sections apply to the same releases as
this specification.
Required Designated Sections
----------------------------
* Cinder : Designated sections are the API implementation code
* Glance : Designated sections are the API implementation code and domain
model.
* Keystone : Designation is outlined per API grouping. Identity (user and
group) management APIs will not be designated. API access (with exception of
auth) may be prohibited by policy (resulting in HTTP 403). Designated APIs
include both v2.0 and v3 versions where applicable.
* Nova : By default, designated except scheduler, filter, drivers, API
extensions and networking.
* Swift : Designated sections are proxy server, object server, container
server, account server and select middleware
Advisory Designated Sections
----------------------------
None
Deprecated Designated Sections
------------------------------
None
Removed Designated Sections
---------------------------
None

View File

@@ -1,179 +0,0 @@
=========================
OpenStack DefCore 2016.01
=========================
:Status: superseded
:Replaces: 2015.07
:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/guidelines/2016.01.json
This document outlines the mandatory capabilities and designated
sections required to exist in a software installation in order to
be eligible to use marks controlled by the OpenStack Foundation.
This document was generated from the `master JSON version <2016.01.json>`_.
Releases Covered
==============================
Applies to Juno, Kilo, Liberty, Mitaka
Platform Components
==============================
:Required: Compute, Object
:Advisory: None
:Deprecated: None
:Removed: None
Compute Component Capabilities
==============================
Required Capabilities
-----------------------
* identity-v3-tokens-create (Keystone)
* compute-auth-create (Nova)
* compute-auth-get (Nova)
* compute-auth-set (Nova)
* compute-images-create (Nova)
* compute-images-delete (Nova)
* compute-images-get (Nova)
* compute-images-list (Nova)
* compute-instance-actions-get (Nova)
* compute-instance-actions-list (Nova)
* compute-keypairs-create (Nova)
* compute-quotas-get (Nova)
* compute-servers-create (Nova)
* compute-servers-delete (Nova)
* compute-servers-get (Nova)
* compute-servers-host (Nova)
* compute-servers-invalid (Nova)
* compute-servers-list (Nova)
* compute-servers-lock (Nova)
* compute-servers-name (Nova)
* compute-servers-reboot (Nova)
* compute-servers-rebuild (Nova)
* compute-servers-resize (Nova)
* compute-servers-stop (Nova)
* compute-servers-update (Nova)
* compute-servers-verify (Nova)
* compute-volume-attach (Nova)
* compute-volume-get (Nova)
* compute-volume-list (Nova)
* images-v2-index (Nova)
* compute-servers-metadata-delete (Nova)
* compute-servers-metadata-get (Nova)
* compute-servers-metadata-list (Nova)
* compute-servers-metadata-set (Nova)
* compute-servers-metadata-update (Nova)
Advisory Capabilities
-----------------------
* networks-l3-router (Neutron)
* networks-l2-CRUD (Neutron)
* networks-l3-CRUD (Neutron)
* networks-security-groups-CRUD (Neutron)
* compute-list-api-versions (Nova)
* images-v2-remove (Glance)
* images-v2-update (Glance)
* images-v2-share (Glance)
* images-v2-list (Glance)
* images-v2-delete (Glance)
* images-v2-get (Glance)
* volumes-v2-create-delete (Cinder)
* volumes-v2-attach-detach (Cinder)
* volumes-v2-snapshot-create-delete (Cinder)
* volumes-v2-get (Cinder)
* volumes-v2-list (Cinder)
* volumes-v2-update (Cinder)
* volumes-v2-copy-image-to-volume (Cinder)
* volumes-v2-copy-volume-to-image (Cinder)
* volumes-v2-clone (Cinder)
* volumes-v2-qos (Cinder)
* volumes-v2-availability-zones (Cinder)
* volumes-v2-extensions (Cinder)
* volumes-v2-metadata (Cinder)
* volumes-v2-transfer (Cinder)
* volumes-v2-reserve (Cinder)
* volumes-v2-readonly (Cinder)
* identity-v3-api-discovery (Keystone)
Deprecated Capabilities
-------------------------
* identity-v2-tokens-create (Keystone)
* compute-servers-change (Nova)
Removed Capabilities
----------------------
None
Object Component Capabilities
=============================
Required Capabilities
-----------------------
* objectstore-object-access (Swift)
* objectstore-object-copy (Swift)
* objectstore-object-create (Swift)
* objectstore-object-delete (Swift)
* objectstore-object-get (Swift)
* objectstore-object-put (Swift)
* objectstore-object-upload (Swift)
* objectstore-object-versioned (Swift)
* objectstore-temp-url-get (Swift)
* identity-v3-tokens-create (Keystone)
Advisory Capabilities
-----------------------
None
Deprecated Capabilities
-------------------------
* identity-v2-tokens-create (Keystone)
Removed Capabilities
----------------------
None
Designated Sections
=====================================
The following designated sections apply to the same releases as
this specification.
Required Designated Sections
----------------------------
* Cinder : Designated sections are the API implementation code
* Glance : Designated sections are the API implementation code and domain
model.
* Keystone : Designation is outlined per API grouping. Identity (user and
group) management APIs will not be designated. API access (with exception of
auth) may be prohibited by policy (resulting in HTTP 403). Designated APIs
include both v2.0 and v3 versions where applicable.
* Nova : By default, designated except scheduler, filter, drivers, API
extensions and networking.
* Swift : Designated sections are proxy server, object server, container
server, account server and select middleware
Advisory Designated Sections
----------------------------
* Neutron : By default, designated for all code backing required capabilities
except plugable components such as plugins, drivers, and API extensions other
than those listed below.
Deprecated Designated Sections
------------------------------
None
Removed Designated Sections
---------------------------
None

View File

@@ -1,181 +0,0 @@
============================================
OpenStack Interoperability Guideline 2016.08
============================================
:Status: superseded
:Replaces: 2016.01
:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/guidelines/2016.08.json
This document outlines the mandatory capabilities and designated
sections required to exist in a software installation in order to
be eligible to use marks controlled by the OpenStack Foundation.
This document was generated from the `master JSON version <2016.08.json>`_.
Releases Covered
==============================
Applies to Kilo, Liberty, Mitaka, Newton
Platform Components
==============================
:Required: Compute, Object
:Advisory: None
:Deprecated: None
:Removed: None
Compute Component Capabilities
==============================
Required Capabilities
-----------------------
* compute-images-create (Nova)
* compute-instance-actions-get (Nova)
* compute-instance-actions-list (Nova)
* compute-keypairs-create (Nova)
* compute-list-api-versions (Nova)
* compute-quotas-get (Nova)
* compute-servers-create (Nova)
* compute-servers-delete (Nova)
* compute-servers-get (Nova)
* compute-servers-host (Nova)
* compute-servers-invalid (Nova)
* compute-servers-list (Nova)
* compute-servers-lock (Nova)
* compute-servers-name (Nova)
* compute-servers-reboot (Nova)
* compute-servers-rebuild (Nova)
* compute-servers-resize (Nova)
* compute-servers-stop (Nova)
* compute-servers-update (Nova)
* compute-servers-verify (Nova)
* compute-servers-metadata-delete (Nova)
* compute-servers-metadata-get (Nova)
* compute-servers-metadata-list (Nova)
* compute-servers-metadata-set (Nova)
* compute-servers-metadata-update (Nova)
* compute-volume-attach (Nova)
* identity-v3-api-discovery (Keystone)
* identity-v3-tokens-create (Keystone)
* images-v2-index (Glance)
* images-v2-update (Glance)
* images-v2-list (Glance)
* images-v2-delete (Glance)
* images-v2-get (Glance)
* networks-l2-CRUD (Neutron)
* networks-security-groups-CRUD (Neutron)
* volumes-v2-create-delete (Cinder)
* volumes-v2-attach-detach (Cinder)
* volumes-v2-snapshot-create-delete (Cinder)
* volumes-v2-get (Cinder)
* volumes-v2-list (Cinder)
* volumes-v2-update (Cinder)
* volumes-v2-copy-image-to-volume (Cinder)
* volumes-v2-clone (Cinder)
* volumes-v2-availability-zones (Cinder)
* volumes-v2-extensions (Cinder)
* volumes-v2-metadata (Cinder)
* volumes-v2-reserve (Cinder)
* volumes-v2-readonly (Cinder)
Advisory Capabilities
-----------------------
* networks-l3-router (Neutron)
* networks-l3-CRUD (Neutron)
* volumes-v2-upload (Cinder)
Deprecated Capabilities
-------------------------
* compute-auth-create (Nova)
* compute-auth-get (Nova)
* compute-auth-set (Nova)
* compute-images-delete (Nova)
* compute-images-get (Nova)
* compute-images-list (Nova)
* compute-volume-get (Nova)
* compute-volume-list (Nova)
Removed Capabilities
----------------------
* identity-v2-tokens-create (Keystone)
* compute-servers-change (Nova)
Object Component Capabilities
=============================
Required Capabilities
-----------------------
* objectstore-object-copy (Swift)
* objectstore-object-create (Swift)
* objectstore-object-delete (Swift)
* objectstore-object-get (Swift)
* objectstore-object-put (Swift)
* objectstore-object-upload (Swift)
* objectstore-object-versioned (Swift)
* objectstore-temp-url-get (Swift)
* identity-v3-tokens-create (Keystone)
Advisory Capabilities
-----------------------
* objectstore-account-quotas (Swift)
* objectstore-account-list (Swift)
* objectstore-container-acl (Swift)
* objectstore-container-quotas (Swift)
* objectstore-container-create (Swift)
* objectstore-container-delete (Swift)
* objectstore-container-list (Swift)
Deprecated Capabilities
-------------------------
* objectstore-object-access (Swift)
Removed Capabilities
----------------------
* identity-v2-tokens-create (Keystone)
Designated Sections
=====================================
The following designated sections apply to the same releases as
this specification.
Required Designated Sections
----------------------------
* Cinder : Designated sections are the API implementation code
* Glance : Designated sections are the API implementation code and domain
model.
* Keystone : Designation is outlined per API grouping. Identity (user and
group) management APIs will not be designated. API access (with exception of
auth) may be prohibited by policy (resulting in HTTP 403). Designated APIs
include both v2.0 and v3 versions where applicable.
* Neutron : By default, designated for all code backing required capabilities
except pluggable components such as plugins, drivers, and API extensions
other than those listed below.
* Nova : By default, designated except scheduler, filter, drivers, API
extensions and networking. Additional properties allowed on Nova 2.0 API
responses.
* Swift : Designated sections are proxy server, object server, container
server, account server and select middleware
Advisory Designated Sections
----------------------------
None
Deprecated Designated Sections
------------------------------
None
Removed Designated Sections
---------------------------
None

View File

@@ -1,201 +0,0 @@
============================================
OpenStack Interoperability Guideline 2017.01
============================================
:Status: superseded
:Replaces: 2016.08
:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/guidelines/2017.01.json
This document outlines the mandatory capabilities and designated
sections required to exist in a software installation in order to
be eligible to use marks controlled by the OpenStack Foundation.
This document was generated from the `master JSON version <2017.01.json>`_.
Releases Covered
==============================
Applies to Liberty, Mitaka, Newton, Ocata
Platform Components
==============================
:Required: Compute, Object
:Advisory: None
:Deprecated: None
:Removed: None
Compute Component Capabilities
==============================
Required Capabilities
-----------------------
* compute-images-create (Nova)
* compute-instance-actions-get (Nova)
* compute-instance-actions-list (Nova)
* compute-keypairs-create (Nova)
* compute-list-api-versions (Nova)
* compute-quotas-get (Nova)
* compute-servers-create (Nova)
* compute-servers-delete (Nova)
* compute-servers-get (Nova)
* compute-servers-host (Nova)
* compute-servers-invalid (Nova)
* compute-servers-list (Nova)
* compute-servers-lock (Nova)
* compute-servers-name (Nova)
* compute-servers-reboot (Nova)
* compute-servers-rebuild (Nova)
* compute-servers-resize (Nova)
* compute-servers-stop (Nova)
* compute-servers-update (Nova)
* compute-servers-verify (Nova)
* compute-servers-metadata-delete (Nova)
* compute-servers-metadata-get (Nova)
* compute-servers-metadata-list (Nova)
* compute-servers-metadata-set (Nova)
* compute-servers-metadata-update (Nova)
* compute-volume-attach (Nova)
* identity-v3-api-discovery (Keystone)
* identity-v3-tokens-create (Keystone)
* images-v2-index (Nova)
* images-v2-update (Glance)
* images-v2-list (Glance)
* images-v2-delete (Glance)
* images-v2-get (Glance)
* networks-l2-CRUD (Neutron)
* networks-security-groups-CRUD (Neutron)
* volumes-v2-create-delete (Cinder)
* volumes-v2-attach-detach (Cinder)
* volumes-v2-snapshot-create-delete (Cinder)
* volumes-v2-get (Cinder)
* volumes-v2-list (Cinder)
* volumes-v2-update (Cinder)
* volumes-v2-copy-image-to-volume (Cinder)
* volumes-v2-clone (Cinder)
* volumes-v2-availability-zones (Cinder)
* volumes-v2-extensions (Cinder)
* volumes-v2-metadata (Cinder)
* volumes-v2-reserve (Cinder)
* volumes-v2-readonly (Cinder)
Advisory Capabilities
-----------------------
* compute-availability-zones-list (Nova)
* compute-flavors-list (Nova)
* compute-servers-suspend-resume (Nova)
* identity-v3-list-projects (Keystone)
* networks-l3-router (Neutron)
* networks-l3-CRUD (Neutron)
* networks-list-api-versions (Neutron)
* networks-subnet-pools-CRUD (Neutron)
* volumes-list-api-versions (Cinder)
* volumes-v2-upload (Cinder)
* volumes-v3-create-delete (Cinder)
* volumes-v3-attach-detach (Cinder)
* volumes-v3-snapshot-create-delete (Cinder)
* volumes-v3-get (Cinder)
* volumes-v3-list (Cinder)
* volumes-v3-update (Cinder)
* volumes-v3-copy-image-to-volume (Cinder)
* volumes-v3-clone (Cinder)
* volumes-v3-availability-zones (Cinder)
* volumes-v3-extensions (Cinder)
* volumes-v3-metadata (Cinder)
* volumes-v3-reserve (Cinder)
* volumes-v3-readonly (Cinder)
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
* compute-auth-create (Nova)
* compute-auth-get (Nova)
* compute-auth-set (Nova)
* compute-images-delete (Nova)
* compute-images-get (Nova)
* compute-images-list (Nova)
* compute-volume-get (Nova)
* compute-volume-list (Nova)
Object Component Capabilities
=============================
Required Capabilities
-----------------------
* objectstore-account-quotas (Swift)
* objectstore-account-list (Swift)
* objectstore-container-acl (Swift)
* objectstore-container-quotas (Swift)
* objectstore-container-create (Swift)
* objectstore-container-delete (Swift)
* objectstore-container-list (Swift)
* objectstore-info-request (Swift)
* objectstore-object-copy (Swift)
* objectstore-object-create (Swift)
* objectstore-object-delete (Swift)
* objectstore-object-get (Swift)
* objectstore-object-versioned (Swift)
* objectstore-temp-url-get (Swift)
* objectstore-temp-url-put (Swift)
* identity-v3-tokens-create (Keystone)
Advisory Capabilities
-----------------------
* objectstore-container-metadata (Swift)
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
* objectstore-object-access (Swift)
Designated Sections
=====================================
The following designated sections apply to the same releases as
this specification.
Required Designated Sections
----------------------------
* Cinder : Designated sections are the API implementation code
* Glance : Designated sections are the API implementation code and domain
model.
* Keystone : Designation is outlined per API grouping. Identity (user and
group) management APIs will not be designated. API access (with exception of
auth) may be prohibited by policy (resulting in HTTP 403). Designated APIs
include both v2.0 and v3 versions where applicable.
* Neutron : By default, designated for all code backing required capabilities
except pluggable components such as plugins, drivers, and API extensions
other than those listed below.
* Nova : By default, designated except scheduler, filter, drivers, API
extensions and networking. Additional properties allowed on Nova 2.0 API
responses.
* Swift : Designated sections are proxy server, object server, container
server, account server and select middleware
Advisory Designated Sections
----------------------------
None
Deprecated Designated Sections
------------------------------
None
Removed Designated Sections
---------------------------
None

View File

@@ -1,193 +0,0 @@
============================================
OpenStack Interoperability Guideline 2017.09
============================================
:Status: approved
:Replaces: 2017.01
:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/guidelines/2017.09.json
This document outlines the mandatory capabilities and designated
sections required to exist in a software installation in order to
be eligible to use marks controlled by the OpenStack Foundation.
This document was generated from the `master JSON version <2017.09.json>`_.
Releases Covered
==============================
Applies to Mitaka, Newton, Ocata, Pike
Platform Components
==============================
:Required: Compute, Object
:Advisory: None
:Deprecated: None
:Removed: None
Compute Component Capabilities
==============================
Required Capabilities
-----------------------
* compute-availability-zones-list (Nova)
* compute-flavors-list (Nova)
* compute-images-create (Nova)
* compute-instance-actions-get (Nova)
* compute-instance-actions-list (Nova)
* compute-keypairs-create (Nova)
* compute-list-api-versions (Nova)
* compute-quotas-get (Nova)
* compute-servers-create (Nova)
* compute-servers-delete (Nova)
* compute-servers-get (Nova)
* compute-servers-host (Nova)
* compute-servers-invalid (Nova)
* compute-servers-list (Nova)
* compute-servers-lock (Nova)
* compute-servers-name (Nova)
* compute-servers-reboot (Nova)
* compute-servers-rebuild (Nova)
* compute-servers-resize (Nova)
* compute-servers-stop (Nova)
* compute-servers-update (Nova)
* compute-servers-verify (Nova)
* compute-servers-metadata-delete (Nova)
* compute-servers-metadata-get (Nova)
* compute-servers-metadata-list (Nova)
* compute-servers-metadata-set (Nova)
* compute-servers-metadata-update (Nova)
* compute-volume-attach (Nova)
* identity-v3-api-discovery (Keystone)
* identity-v3-list-projects (Keystone)
* identity-v3-tokens-create (Keystone)
* images-v2-index (Glance)
* images-v2-update (Glance)
* images-v2-list (Glance)
* images-v2-delete (Glance)
* images-v2-get (Glance)
* networks-l2-CRUD (Neutron)
* networks-security-groups-CRUD (Neutron)
* networks-subnet-pools-CRUD (Neutron)
* volumes-v2-create-delete (Cinder)
* volumes-v2-snapshot-create-delete (Cinder)
* volumes-v2-get (Cinder)
* volumes-v2-list (Cinder)
* volumes-v2-update (Cinder)
* volumes-v2-copy-image-to-volume (Cinder)
* volumes-v2-clone (Cinder)
* volumes-v2-availability-zones (Cinder)
* volumes-v2-extensions (Cinder)
* volumes-v2-metadata (Cinder)
* volumes-v2-reserve (Cinder)
* volumes-v2-readonly (Cinder)
* volumes-v2-upload (Cinder)
Advisory Capabilities
-----------------------
* networks-l3-router (Neutron)
* networks-l3-CRUD (Neutron)
* networks-list-api-versions (Neutron)
* volumes-list-api-versions (Cinder)
* volumes-v3-create-delete (Cinder)
* volumes-v3-snapshot-create-delete (Cinder)
* volumes-v3-get (Cinder)
* volumes-v3-list (Cinder)
* volumes-v3-update (Cinder)
* volumes-v3-copy-image-to-volume (Cinder)
* volumes-v3-clone (Cinder)
* volumes-v3-availability-zones (Cinder)
* volumes-v3-extensions (Cinder)
* volumes-v3-metadata (Cinder)
* volumes-v3-reserve (Cinder)
* volumes-v3-readonly (Cinder)
Deprecated Capabilities
-------------------------
* volumes-v2-attach-detach (Cinder)
* volumes-v3-attach-detach (Cinder)
Removed Capabilities
----------------------
None
Object Component Capabilities
=============================
Required Capabilities
-----------------------
* objectstore-account-quotas (Swift)
* objectstore-account-list (Swift)
* objectstore-container-acl (Swift)
* objectstore-container-quotas (Swift)
* objectstore-container-create (Swift)
* objectstore-container-delete (Swift)
* objectstore-container-list (Swift)
* objectstore-container-metadata (Swift)
* objectstore-info-request (Swift)
* objectstore-object-copy (Swift)
* objectstore-object-create (Swift)
* objectstore-object-delete (Swift)
* objectstore-object-get (Swift)
* objectstore-object-versioned (Swift)
* objectstore-temp-url-get (Swift)
* objectstore-temp-url-put (Swift)
* identity-v3-tokens-create (Keystone)
Advisory Capabilities
-----------------------
None
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Designated Sections
=====================================
The following designated sections apply to the same releases as
this specification.
Required Designated Sections
----------------------------
* Cinder : Designated sections are the API implementation code
* Glance : Designated sections are the API implementation code and domain
model.
* Keystone : Designation is outlined per API grouping. Identity (user and
group) management APIs will not be designated. API access (with exception of
auth) may be prohibited by policy (resulting in HTTP 403). Designated APIs
include v3 version where applicable.
* Neutron : By default, designated for all code backing required capabilities
except pluggable components such as plugins, drivers, and API extensions
other than those listed below.
* Nova : By default, designated except scheduler, filter, drivers, API
extensions and networking. Additional properties allowed on Nova 2.0 API
responses.
* Swift : Designated sections are proxy server, object server, container
server, account server and select middleware
Advisory Designated Sections
----------------------------
None
Deprecated Designated Sections
------------------------------
* Keystone : Designation is outlined per API grouping.
Removed Designated Sections
---------------------------
None

View File

@@ -1,197 +0,0 @@
=========================================
OpenStack Interoperability Guideline next
=========================================
:Status: approved
:Replaces: 2017.09
:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/guidelines/next.json
This document outlines the mandatory capabilities and designated
sections required to exist in a software installation in order to
be eligible to use marks controlled by the OpenStack Foundation.
This document was generated from the `master JSON version <next.json>`_.
Releases Covered
==============================
Applies to Newton, Ocata, Pike, Queens
Platform Components
==============================
:Required: Compute, Object
:Advisory: None
:Deprecated: None
:Removed: None
Compute Component Capabilities
==============================
Required Capabilities
-----------------------
* compute-availability-zones-list (Nova)
* compute-flavors-list (Nova)
* compute-images-create (Nova)
* compute-instance-actions-get (Nova)
* compute-instance-actions-list (Nova)
* compute-keypairs-create (Nova)
* compute-list-api-versions (Nova)
* compute-quotas-get (Nova)
* compute-servers-create (Nova)
* compute-servers-delete (Nova)
* compute-servers-get (Nova)
* compute-servers-host (Nova)
* compute-servers-invalid (Nova)
* compute-servers-list (Nova)
* compute-servers-lock (Nova)
* compute-servers-name (Nova)
* compute-servers-reboot (Nova)
* compute-servers-rebuild (Nova)
* compute-servers-resize (Nova)
* compute-servers-stop (Nova)
* compute-servers-update (Nova)
* compute-servers-verify (Nova)
* compute-servers-metadata-delete (Nova)
* compute-servers-metadata-get (Nova)
* compute-servers-metadata-list (Nova)
* compute-servers-metadata-set (Nova)
* compute-servers-metadata-update (Nova)
* compute-volume-attach (Nova)
* identity-v3-api-discovery (Keystone)
* identity-v3-list-projects (Keystone)
* identity-v3-tokens-create (Keystone)
* images-v2-index (Glance)
* images-v2-update (Glance)
* images-v2-list (Glance)
* images-v2-delete (Glance)
* images-v2-get (Glance)
* networks-l2-CRUD (Neutron)
* networks-l3-router (Neutron)
* networks-l3-CRUD (Neutron)
* networks-list-api-versions (Neutron)
* networks-security-groups-CRUD (Neutron)
* networks-subnet-pools-CRUD (Neutron)
* volumes-list-api-versions (Cinder)
* volumes-v2-create-delete (Cinder)
* volumes-v2-snapshot-create-delete (Cinder)
* volumes-v2-get (Cinder)
* volumes-v2-list (Cinder)
* volumes-v2-update (Cinder)
* volumes-v2-copy-image-to-volume (Cinder)
* volumes-v2-clone (Cinder)
* volumes-v2-availability-zones (Cinder)
* volumes-v2-extensions (Cinder)
* volumes-v2-metadata (Cinder)
* volumes-v2-reserve (Cinder)
* volumes-v2-readonly (Cinder)
* volumes-v2-upload (Cinder)
* volumes-v3-create-delete (Cinder)
* volumes-v3-snapshot-create-delete (Cinder)
* volumes-v3-get (Cinder)
* volumes-v3-list (Cinder)
* volumes-v3-update (Cinder)
* volumes-v3-copy-image-to-volume (Cinder)
* volumes-v3-clone (Cinder)
* volumes-v3-availability-zones (Cinder)
* volumes-v3-extensions (Cinder)
* volumes-v3-metadata (Cinder)
* volumes-v3-reserve (Cinder)
* volumes-v3-readonly (Cinder)
Advisory Capabilities
-----------------------
* compute-keypairs-create-type (Nova)
* identity-v3-catalog (Keystone)
* identity-v3-tokens-validate (Keystone)
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
* volumes-v2-attach-detach (Cinder)
* volumes-v3-attach-detach (Cinder)
Object Component Capabilities
=============================
Required Capabilities
-----------------------
* objectstore-account-quotas (Swift)
* objectstore-account-list (Swift)
* objectstore-container-acl (Swift)
* objectstore-container-quotas (Swift)
* objectstore-container-create (Swift)
* objectstore-container-delete (Swift)
* objectstore-container-list (Swift)
* objectstore-container-metadata (Swift)
* objectstore-info-request (Swift)
* objectstore-object-copy (Swift)
* objectstore-object-create (Swift)
* objectstore-object-delete (Swift)
* objectstore-object-get (Swift)
* objectstore-object-versioned (Swift)
* objectstore-temp-url-get (Swift)
* objectstore-temp-url-put (Swift)
* identity-v3-tokens-create (Keystone)
Advisory Capabilities
-----------------------
* objectstore-dlo-support (Swift)
* objectstore-slo-support (Swift)
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Designated Sections
=====================================
The following designated sections apply to the same releases as
this specification.
Required Designated Sections
----------------------------
* Cinder : Designated sections are the API implementation code
* Glance : Designated sections are the API implementation code and domain
model.
* Keystone : Designation is outlined per API grouping. Identity (user and
group) management APIs will not be designated. API access (with exception of
auth) may be prohibited by policy (resulting in HTTP 403). Designated APIs
include v3 version where applicable.
* Neutron : By default, designated for all code backing required capabilities
except pluggable components such as plugins, drivers, and API extensions
other than those listed below.
* Nova : By default, designated except scheduler, filter, drivers, API
extensions and networking. Additional properties on responses are not
allowed.
* Swift : Designated sections are proxy server, object server, container
server, account server and select middleware
Advisory Designated Sections
----------------------------
None
Deprecated Designated Sections
------------------------------
* Keystone : Designation is outlined per API grouping.
Removed Designated Sections
---------------------------
None

View File

@@ -1,347 +0,0 @@
============================================
OpenStack Interoperability Guideline 2018.11
============================================
:Status: superseded
:Replaces: 2018.02
:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/guidelines/2018.11.json
This document outlines the mandatory capabilities and designated
sections required to exist in a software installation in order to
be eligible to use marks controlled by the OpenStack Foundation.
This document was generated from the `<2018.11.json>`_.
Releases Covered
==============================
Applies to Ocata, Pike, Queens, Rocky, Stein
Os_powered_compute Component Capabilities
=========================================
Required Capabilities
-----------------------
* compute-availability-zones-list (Nova)
* compute-flavors-list (Nova)
* compute-images-create (Nova)
* compute-instance-actions-get (Nova)
* compute-instance-actions-list (Nova)
* compute-keypairs-create (Nova)
* compute-keypairs-create-type (Nova)
* compute-list-api-versions (Nova)
* compute-quotas-get (Nova)
* compute-servers-create (Nova)
* compute-servers-delete (Nova)
* compute-servers-get (Nova)
* compute-servers-host (Nova)
* compute-servers-invalid (Nova)
* compute-servers-list (Nova)
* compute-servers-lock (Nova)
* compute-servers-name (Nova)
* compute-servers-reboot (Nova)
* compute-servers-rebuild (Nova)
* compute-servers-resize (Nova)
* compute-servers-stop (Nova)
* compute-servers-update (Nova)
* compute-servers-verify (Nova)
* compute-servers-metadata-delete (Nova)
* compute-servers-metadata-get (Nova)
* compute-servers-metadata-list (Nova)
* compute-servers-metadata-set (Nova)
* compute-servers-metadata-update (Nova)
* compute-volume-attach (Nova)
* identity-v3-api-discovery (Keystone)
* identity-v3-catalog (Keystone)
* identity-v3-list-projects (Keystone)
* identity-v3-tokens-create (Keystone)
* identity-v3-tokens-validate (Keystone)
* images-v2-index (Glance)
* images-v2-update (Glance)
* images-v2-list (Glance)
* images-v2-delete (Glance)
* images-v2-get (Glance)
* networks-l2-CRUD (Neutron)
* networks-l3-router (Neutron)
* networks-l3-CRUD (Neutron)
* networks-list-api-versions (Neutron)
* networks-security-groups-CRUD (Neutron)
* networks-subnet-pools-CRUD (Neutron)
* volumes-list-api-versions (Cinder)
* volumes-v3-create-delete (Cinder)
* volumes-v3-snapshot-create-delete (Cinder)
* volumes-v3-get (Cinder)
* volumes-v3-list (Cinder)
* volumes-v3-update (Cinder)
* volumes-v3-copy-image-to-volume (Cinder)
* volumes-v3-clone (Cinder)
* volumes-v3-availability-zones (Cinder)
* volumes-v3-extensions (Cinder)
* volumes-v3-metadata (Cinder)
* volumes-v3-readonly (Cinder)
Advisory Capabilities
-----------------------
* volumes-v3-upload (Cinder)
* compute-servers-create-multiple (Nova)
* identity-v3-tokens-delete (Keystone)
Deprecated Capabilities
-------------------------
* volumes-v2-reserve (Cinder)
* volumes-v3-reserve (Cinder)
* volumes-v2-create-delete (Cinder)
* volumes-v2-snapshot-create-delete (Cinder)
* volumes-v2-get (Cinder)
* volumes-v2-list (Cinder)
* volumes-v2-update (Cinder)
* volumes-v2-copy-image-to-volume (Cinder)
* volumes-v2-clone (Cinder)
* volumes-v2-availability-zones (Cinder)
* volumes-v2-extensions (Cinder)
* volumes-v2-metadata (Cinder)
* volumes-v2-readonly (Cinder)
* volumes-v2-upload (Cinder)
Removed Capabilities
----------------------
None
Os_powered_storage Component Capabilities
=========================================
Required Capabilities
-----------------------
* objectstore-account-quotas (Swift)
* objectstore-account-list (Swift)
* objectstore-container-acl (Swift)
* objectstore-container-quotas (Swift)
* objectstore-container-create (Swift)
* objectstore-container-delete (Swift)
* objectstore-container-list (Swift)
* objectstore-container-metadata (Swift)
* objectstore-dlo-support (Swift)
* objectstore-slo-support (Swift)
* objectstore-info-request (Swift)
* objectstore-object-copy (Swift)
* objectstore-object-create (Swift)
* objectstore-object-delete (Swift)
* objectstore-object-get (Swift)
* objectstore-object-versioned (Swift)
* objectstore-temp-url-get (Swift)
* objectstore-temp-url-put (Swift)
* identity-v3-tokens-create (Keystone)
Advisory Capabilities
-----------------------
* identity-v3-tokens-delete (Keystone)
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Designated Sections
=====================================
The following designated sections apply to the same releases as
this specification.
Required Designated Sections
----------------------------
* Cinder : Designated sections are the API implementation code
* Glance : Designated sections are the API implementation code and domain
model.
* Keystone : Designation is outlined per API grouping. Identity (user and
group) management APIs will not be designated. API access (with exception of
auth) may be prohibited by policy (resulting in HTTP 403). Designated APIs
include v3 version where applicable.
* Neutron : By default, designated for all code backing required capabilities
except pluggable components such as plugins, drivers, and API extensions
other than those listed below.
* Nova : By default, designated except scheduler, filter, drivers, API
extensions and networking. Additional properties on responses are not
allowed.
* Swift : Designated sections are proxy server, object server, container
server, account server and select middleware
Advisory Designated Sections
----------------------------
None
Deprecated Designated Sections
------------------------------
None
Removed Designated Sections
---------------------------
None
================================================
OpenStack Interoperability Guideline dns.2018.11
================================================
:Status: superseded
:Replaces: None
:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/dns.2018.11.json
This document outlines the mandatory capabilities and designated
sections required to exist in a software installation in order to
be eligible to use marks controlled by the OpenStack Foundation.
This document was generated from the `<dns.2018.11.json>`_.
Releases Covered
==============================
Applies to Ocata, Pike, Queens, Rocky, Stein
Os_powered_dns Component Capabilities
=====================================
Required Capabilities
-----------------------
* dns-record-crud (Designate)
* dns-zone-crud (Designate)
Advisory Capabilities
-----------------------
None
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Designated Sections
=====================================
The following designated sections apply to the same releases as
this specification.
Required Designated Sections
----------------------------
* Designate : API and Central code, allowing for plugins and excluding storage
and scheduler filters
Advisory Designated Sections
----------------------------
None
Deprecated Designated Sections
------------------------------
None
Removed Designated Sections
---------------------------
None
==========================================================
OpenStack Interoperability Guideline orchestration.2018.11
==========================================================
:Status: superseded
:Replaces: orchestration.2018.02
:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/orchestration.2018.11.json
This document outlines the mandatory capabilities and designated
sections required to exist in a software installation in order to
be eligible to use marks controlled by the OpenStack Foundation.
This document was generated from the `<orchestration.2018.11.json>`_.
Releases Covered
==============================
Applies to Ocata, Pike, Queens, Rocky, Stein
Os_powered_orchestration Component Capabilities
===============================================
Required Capabilities
-----------------------
* stack-create (Heat)
* stack-delete (Heat)
* stack-environment-parameter (Heat)
* stack-event (Heat)
* stack-hook (Heat)
* stack-list (Heat)
* stack-output (Heat)
* stack-preview (Heat)
* stack-list-resources (Heat)
* stack-list-resource-types (Heat)
* stack-list-template-functions (Heat)
* stack-list-template-versions (Heat)
* stack-mark-resource-unhealthy (Heat)
* stack-resource-type-template (Heat)
* stack-show (Heat)
* stack-show-resource (Heat)
* stack-show-resource-type (Heat)
* stack-show-unhealthy-resource (Heat)
* stack-signal-resource (Heat)
* stack-software-config (Heat)
* stack-tag (Heat)
* stack-template (Heat)
* stack-update (Heat)
Advisory Capabilities
-----------------------
None
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Designated Sections
=====================================
The following designated sections apply to the same releases as
this specification.
Required Designated Sections
----------------------------
* Heat : Must at a minimum include resources for OpenStack Powered Compute
components.
Advisory Designated Sections
----------------------------
None
Deprecated Designated Sections
------------------------------
None
Removed Designated Sections
---------------------------
None

View File

@@ -1,349 +0,0 @@
============================================
OpenStack Interoperability Guideline 2019.06
============================================
:Status: superseded
:Replaces: 2018.11
:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/guidelines/2019.06.json
This document outlines the mandatory capabilities and designated
sections required to exist in a software installation in order to
be eligible to use marks controlled by the OpenStack Foundation.
This document was generated from the `<2019.06.json>`_.
Releases Covered
==============================
Applies to Queens, Rocky, Stein, Train
Os_powered_compute Component Capabilities
=========================================
Required Capabilities
-----------------------
* compute-availability-zones-list (Nova)
* compute-flavors-list (Nova)
* compute-images-create (Nova)
* compute-instance-actions-get (Nova)
* compute-instance-actions-list (Nova)
* compute-keypairs-create (Nova)
* compute-keypairs-create-type (Nova)
* compute-list-api-versions (Nova)
* compute-quotas-get (Nova)
* compute-servers-create (Nova)
* compute-servers-create-multiple (Nova)
* compute-servers-delete (Nova)
* compute-servers-get (Nova)
* compute-servers-host (Nova)
* compute-servers-invalid (Nova)
* compute-servers-list (Nova)
* compute-servers-lock (Nova)
* compute-servers-name (Nova)
* compute-servers-reboot (Nova)
* compute-servers-rebuild (Nova)
* compute-servers-resize (Nova)
* compute-servers-stop (Nova)
* compute-servers-update (Nova)
* compute-servers-verify (Nova)
* compute-servers-metadata-delete (Nova)
* compute-servers-metadata-get (Nova)
* compute-servers-metadata-list (Nova)
* compute-servers-metadata-set (Nova)
* compute-servers-metadata-update (Nova)
* compute-volume-attach (Nova)
* identity-v3-api-discovery (Keystone)
* identity-v3-catalog (Keystone)
* identity-v3-list-projects (Keystone)
* identity-v3-tokens-create (Keystone)
* identity-v3-tokens-delete (Keystone)
* identity-v3-tokens-validate (Keystone)
* images-v2-index (Glance)
* images-v2-update (Glance)
* images-v2-list (Glance)
* images-v2-delete (Glance)
* images-v2-get (Glance)
* networks-l2-CRUD (Neutron)
* networks-l3-router (Neutron)
* networks-l3-CRUD (Neutron)
* networks-list-api-versions (Neutron)
* networks-security-groups-CRUD (Neutron)
* networks-subnet-pools-CRUD (Neutron)
* volumes-list-api-versions (Cinder)
* volumes-v3-create-delete (Cinder)
* volumes-v3-snapshot-create-delete (Cinder)
* volumes-v3-get (Cinder)
* volumes-v3-list (Cinder)
* volumes-v3-update (Cinder)
* volumes-v3-copy-image-to-volume (Cinder)
* volumes-v3-clone (Cinder)
* volumes-v3-availability-zones (Cinder)
* volumes-v3-extensions (Cinder)
* volumes-v3-metadata (Cinder)
* volumes-v3-readonly (Cinder)
* volumes-v3-upload (Cinder)
Advisory Capabilities
-----------------------
None
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
* volumes-v2-reserve (Cinder)
* volumes-v3-reserve (Cinder)
* volumes-v2-create-delete (Cinder)
* volumes-v2-snapshot-create-delete (Cinder)
* volumes-v2-get (Cinder)
* volumes-v2-list (Cinder)
* volumes-v2-update (Cinder)
* volumes-v2-copy-image-to-volume (Cinder)
* volumes-v2-clone (Cinder)
* volumes-v2-availability-zones (Cinder)
* volumes-v2-extensions (Cinder)
* volumes-v2-metadata (Cinder)
* volumes-v2-readonly (Cinder)
* volumes-v2-upload (Cinder)
Os_powered_storage Component Capabilities
=========================================
Required Capabilities
-----------------------
* objectstore-account-quotas (Swift)
* objectstore-account-list (Swift)
* objectstore-container-acl (Swift)
* objectstore-container-quotas (Swift)
* objectstore-container-create (Swift)
* objectstore-container-delete (Swift)
* objectstore-container-list (Swift)
* objectstore-container-metadata (Swift)
* objectstore-dlo-support (Swift)
* objectstore-slo-support (Swift)
* objectstore-info-request (Swift)
* objectstore-object-copy (Swift)
* objectstore-object-create (Swift)
* objectstore-object-delete (Swift)
* objectstore-object-get (Swift)
* objectstore-object-versioned (Swift)
* objectstore-temp-url-get (Swift)
* objectstore-temp-url-put (Swift)
* identity-v3-tokens-create (Keystone)
* identity-v3-tokens-delete (Keystone)
Advisory Capabilities
-----------------------
None
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Designated Sections
=====================================
The following designated sections apply to the same releases as
this specification.
Required Designated Sections
----------------------------
* Cinder : Designated sections are the API implementation code
* Glance : Designated sections are the API implementation code and domain
model.
* Keystone : Designation is outlined per API grouping. Identity (user and
group) management APIs will not be designated. API access (with exception of
auth) may be prohibited by policy (resulting in HTTP 403). Designated APIs
include v3 version where applicable.
* Neutron : By default, designated for all code backing required capabilities
except pluggable components such as plugins, drivers, and API extensions
other than those listed below.
* Nova : By default, designated except scheduler, filter, drivers, API
extensions and networking. Additional properties on responses are not
allowed.
* Swift : Designated sections are proxy server, object server, container
server, account server and select middleware
Advisory Designated Sections
----------------------------
None
Deprecated Designated Sections
------------------------------
None
Removed Designated Sections
---------------------------
None
================================================
OpenStack Interoperability Guideline dns.2019.06
================================================
:Status: superseded
:Replaces: dns.2018.11
:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/dns.2019.06.json
This document outlines the mandatory capabilities and designated
sections required to exist in a software installation in order to
be eligible to use marks controlled by the OpenStack Foundation.
This document was generated from the `<dns.2019.06.json>`_.
Releases Covered
==============================
Applies to Queens, Rocky, Stein, Train
Os_powered_dns Component Capabilities
=====================================
Required Capabilities
-----------------------
* dns-record-crud (Designate)
* dns-zone-crud (Designate)
Advisory Capabilities
-----------------------
None
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Designated Sections
=====================================
The following designated sections apply to the same releases as
this specification.
Required Designated Sections
----------------------------
* Designate : API and Central code, allowing for plugins and excluding storage
and scheduler filters
Advisory Designated Sections
----------------------------
None
Deprecated Designated Sections
------------------------------
None
Removed Designated Sections
---------------------------
None
==========================================================
OpenStack Interoperability Guideline orchestration.2019.06
==========================================================
:Status: superseded
:Replaces: orchestration.2018.11
:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/orchestration.2019.06.json
This document outlines the mandatory capabilities and designated
sections required to exist in a software installation in order to
be eligible to use marks controlled by the OpenStack Foundation.
This document was generated from the `<orchestration.2019.06.json>`_.
Releases Covered
==============================
Applies to Queens, Rocky, Stein, Train
Os_powered_orchestration Component Capabilities
===============================================
Required Capabilities
-----------------------
* stack-create (Heat)
* stack-delete (Heat)
* stack-environment-parameter (Heat)
* stack-event (Heat)
* stack-hook (Heat)
* stack-list (Heat)
* stack-output (Heat)
* stack-preview (Heat)
* stack-list-resources (Heat)
* stack-list-resource-types (Heat)
* stack-list-template-functions (Heat)
* stack-list-template-versions (Heat)
* stack-mark-resource-unhealthy (Heat)
* stack-resource-type-template (Heat)
* stack-show (Heat)
* stack-show-resource (Heat)
* stack-show-resource-type (Heat)
* stack-show-unhealthy-resource (Heat)
* stack-signal-resource (Heat)
* stack-software-config (Heat)
* stack-tag (Heat)
* stack-template (Heat)
* stack-update (Heat)
Advisory Capabilities
-----------------------
None
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Designated Sections
=====================================
The following designated sections apply to the same releases as
this specification.
Required Designated Sections
----------------------------
* Heat : Must at a minimum include resources for OpenStack Powered Compute
components.
Advisory Designated Sections
----------------------------
None
Deprecated Designated Sections
------------------------------
None
Removed Designated Sections
---------------------------
None

View File

@@ -1,336 +0,0 @@
============================================
OpenStack Interoperability Guideline 2019.11
============================================
:Status: approved
:Replaces: 2019.06
:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/guidelines/2019.11.json
This document outlines the mandatory capabilities and designated
sections required to exist in a software installation in order to
be eligible to use marks controlled by the OpenStack Foundation.
This document was generated from the `<2019.11.json>`_.
Releases Covered
==============================
Applies to Rocky, Stein, Train, Ussuri
Os_powered_compute Component Capabilities
=========================================
Required Capabilities
-----------------------
* compute-availability-zones-list (Nova)
* compute-flavors-list (Nova)
* compute-images-create (Nova)
* compute-instance-actions-get (Nova)
* compute-instance-actions-list (Nova)
* compute-keypairs-create (Nova)
* compute-keypairs-create-type (Nova)
* compute-list-api-versions (Nova)
* compute-quotas-get (Nova)
* compute-servers-create (Nova)
* compute-servers-create-multiple (Nova)
* compute-servers-delete (Nova)
* compute-servers-get (Nova)
* compute-servers-host (Nova)
* compute-servers-invalid (Nova)
* compute-servers-list (Nova)
* compute-servers-lock (Nova)
* compute-servers-name (Nova)
* compute-servers-reboot (Nova)
* compute-servers-rebuild (Nova)
* compute-servers-resize (Nova)
* compute-servers-stop (Nova)
* compute-servers-update (Nova)
* compute-servers-verify (Nova)
* compute-servers-metadata-delete (Nova)
* compute-servers-metadata-get (Nova)
* compute-servers-metadata-list (Nova)
* compute-servers-metadata-set (Nova)
* compute-servers-metadata-update (Nova)
* compute-volume-attach (Nova)
* identity-v3-api-discovery (Keystone)
* identity-v3-catalog (Keystone)
* identity-v3-list-projects (Keystone)
* identity-v3-tokens-create (Keystone)
* identity-v3-tokens-delete (Keystone)
* identity-v3-tokens-validate (Keystone)
* images-v2-index (Glance)
* images-v2-update (Glance)
* images-v2-list (Glance)
* images-v2-delete (Glance)
* images-v2-get (Glance)
* networks-l2-CRUD (Neutron)
* networks-l3-router (Neutron)
* networks-l3-CRUD (Neutron)
* networks-list-api-versions (Neutron)
* networks-security-groups-CRUD (Neutron)
* networks-subnet-pools-CRUD (Neutron)
* volumes-list-api-versions (Cinder)
* volumes-v3-create-delete (Cinder)
* volumes-v3-snapshot-create-delete (Cinder)
* volumes-v3-get (Cinder)
* volumes-v3-list (Cinder)
* volumes-v3-update (Cinder)
* volumes-v3-copy-image-to-volume (Cinder)
* volumes-v3-clone (Cinder)
* volumes-v3-availability-zones (Cinder)
* volumes-v3-extensions (Cinder)
* volumes-v3-metadata (Cinder)
* volumes-v3-readonly (Cinder)
* volumes-v3-upload (Cinder)
Advisory Capabilities
-----------------------
None
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Os_powered_storage Component Capabilities
=========================================
Required Capabilities
-----------------------
* objectstore-account-quotas (Swift)
* objectstore-account-list (Swift)
* objectstore-container-acl (Swift)
* objectstore-container-quotas (Swift)
* objectstore-container-create (Swift)
* objectstore-container-delete (Swift)
* objectstore-container-list (Swift)
* objectstore-container-metadata (Swift)
* objectstore-dlo-support (Swift)
* objectstore-slo-support (Swift)
* objectstore-info-request (Swift)
* objectstore-object-copy (Swift)
* objectstore-object-create (Swift)
* objectstore-object-delete (Swift)
* objectstore-object-get (Swift)
* objectstore-object-versioned (Swift)
* objectstore-temp-url-get (Swift)
* objectstore-temp-url-put (Swift)
* identity-v3-tokens-create (Keystone)
* identity-v3-tokens-delete (Keystone)
Advisory Capabilities
-----------------------
None
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Designated Sections
=====================================
The following designated sections apply to the same releases as
this specification.
Required Designated Sections
----------------------------
* Cinder : Designated sections are the API implementation code
* Glance : Designated sections are the API implementation code and domain
model.
* Keystone : Designation is outlined per API grouping. Identity (user and
group) management APIs will not be designated. API access (with exception of
auth) may be prohibited by policy (resulting in HTTP 403). Designated APIs
include v3 version where applicable.
* Neutron : By default, designated for all code backing required capabilities
except pluggable components such as plugins, drivers, and API extensions
other than those listed below.
* Nova : By default, designated except scheduler, filter, drivers, API
extensions and networking. Additional properties on responses are not
allowed.
* Swift : Designated sections are proxy server, object server, container
server, account server and select middleware
Advisory Designated Sections
----------------------------
None
Deprecated Designated Sections
------------------------------
None
Removed Designated Sections
---------------------------
None
================================================
OpenStack Interoperability Guideline dns.2019.11
================================================
:Status: approved
:Replaces: dns.2019.06
:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/dns.2019.11.json
This document outlines the mandatory capabilities and designated
sections required to exist in a software installation in order to
be eligible to use marks controlled by the OpenStack Foundation.
This document was generated from the `<dns.2019.11.json>`_.
Releases Covered
==============================
Applies to Rocky, Stein, Train, Ussuri
Os_powered_dns Component Capabilities
=====================================
Required Capabilities
-----------------------
* dns-record-crud (Designate)
* dns-zone-crud (Designate)
Advisory Capabilities
-----------------------
None
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Designated Sections
=====================================
The following designated sections apply to the same releases as
this specification.
Required Designated Sections
----------------------------
* Designate : API and Central code, allowing for plugins and excluding storage
and scheduler filters
Advisory Designated Sections
----------------------------
None
Deprecated Designated Sections
------------------------------
None
Removed Designated Sections
---------------------------
None
==========================================================
OpenStack Interoperability Guideline orchestration.2019.11
==========================================================
:Status: approved
:Replaces: orchestration.2019.06
:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/orchestration.2019.11.json
This document outlines the mandatory capabilities and designated
sections required to exist in a software installation in order to
be eligible to use marks controlled by the OpenStack Foundation.
This document was generated from the `<orchestration.2019.11.json>`_.
Releases Covered
==============================
Applies to Rocky, Stein, Train, Ussuri
Os_powered_orchestration Component Capabilities
===============================================
Required Capabilities
-----------------------
* stack-create (Heat)
* stack-delete (Heat)
* stack-environment-parameter (Heat)
* stack-event (Heat)
* stack-hook (Heat)
* stack-list (Heat)
* stack-output (Heat)
* stack-preview (Heat)
* stack-list-resources (Heat)
* stack-list-resource-types (Heat)
* stack-list-template-functions (Heat)
* stack-list-template-versions (Heat)
* stack-mark-resource-unhealthy (Heat)
* stack-resource-type-template (Heat)
* stack-show (Heat)
* stack-show-resource (Heat)
* stack-show-resource-type (Heat)
* stack-show-unhealthy-resource (Heat)
* stack-signal-resource (Heat)
* stack-software-config (Heat)
* stack-tag (Heat)
* stack-template (Heat)
* stack-update (Heat)
Advisory Capabilities
-----------------------
None
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Designated Sections
=====================================
The following designated sections apply to the same releases as
this specification.
Required Designated Sections
----------------------------
* Heat : Must at a minimum include resources for OpenStack Powered Compute
components.
Advisory Designated Sections
----------------------------
None
Deprecated Designated Sections
------------------------------
None
Removed Designated Sections
---------------------------
None

View File

@@ -1,336 +0,0 @@
============================================
OpenStack Interoperability Guideline 2020.06
============================================
:Status: superseded
:Replaces: 2019.11
:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/guidelines/2020.06.json
This document outlines the mandatory capabilities and designated
sections required to exist in a software installation in order to
be eligible to use marks controlled by the OpenStack Foundation.
This document was generated from the `<2020.06.json>`_.
Releases Covered
==============================
Applies to Stein, Train, Ussuri, Victoria
Os_powered_compute Component Capabilities
=========================================
Required Capabilities
-----------------------
* compute-availability-zones-list (Nova)
* compute-flavors-list (Nova)
* compute-images-create (Nova)
* compute-instance-actions-get (Nova)
* compute-instance-actions-list (Nova)
* compute-keypairs-create (Nova)
* compute-keypairs-create-type (Nova)
* compute-list-api-versions (Nova)
* compute-quotas-get (Nova)
* compute-servers-create (Nova)
* compute-servers-create-multiple (Nova)
* compute-servers-delete (Nova)
* compute-servers-get (Nova)
* compute-servers-host (Nova)
* compute-servers-invalid (Nova)
* compute-servers-list (Nova)
* compute-servers-lock (Nova)
* compute-servers-name (Nova)
* compute-servers-reboot (Nova)
* compute-servers-rebuild (Nova)
* compute-servers-resize (Nova)
* compute-servers-stop (Nova)
* compute-servers-update (Nova)
* compute-servers-verify (Nova)
* compute-servers-metadata-delete (Nova)
* compute-servers-metadata-get (Nova)
* compute-servers-metadata-list (Nova)
* compute-servers-metadata-set (Nova)
* compute-servers-metadata-update (Nova)
* compute-volume-attach (Nova)
* identity-v3-api-discovery (Keystone)
* identity-v3-catalog (Keystone)
* identity-v3-list-projects (Keystone)
* identity-v3-tokens-create (Keystone)
* identity-v3-tokens-delete (Keystone)
* identity-v3-tokens-validate (Keystone)
* images-v2-index (Glance)
* images-v2-update (Glance)
* images-v2-list (Glance)
* images-v2-delete (Glance)
* images-v2-get (Glance)
* networks-l2-CRUD (Neutron)
* networks-l3-router (Neutron)
* networks-l3-CRUD (Neutron)
* networks-list-api-versions (Neutron)
* networks-security-groups-CRUD (Neutron)
* networks-subnet-pools-CRUD (Neutron)
* volumes-list-api-versions (Cinder)
* volumes-v3-create-delete (Cinder)
* volumes-v3-snapshot-create-delete (Cinder)
* volumes-v3-get (Cinder)
* volumes-v3-list (Cinder)
* volumes-v3-update (Cinder)
* volumes-v3-copy-image-to-volume (Cinder)
* volumes-v3-clone (Cinder)
* volumes-v3-availability-zones (Cinder)
* volumes-v3-extensions (Cinder)
* volumes-v3-metadata (Cinder)
* volumes-v3-readonly (Cinder)
* volumes-v3-upload (Cinder)
Advisory Capabilities
-----------------------
None
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Os_powered_storage Component Capabilities
=========================================
Required Capabilities
-----------------------
* objectstore-account-quotas (Swift)
* objectstore-account-list (Swift)
* objectstore-container-acl (Swift)
* objectstore-container-quotas (Swift)
* objectstore-container-create (Swift)
* objectstore-container-delete (Swift)
* objectstore-container-list (Swift)
* objectstore-container-metadata (Swift)
* objectstore-dlo-support (Swift)
* objectstore-slo-support (Swift)
* objectstore-info-request (Swift)
* objectstore-object-copy (Swift)
* objectstore-object-create (Swift)
* objectstore-object-delete (Swift)
* objectstore-object-get (Swift)
* objectstore-object-versioned (Swift)
* objectstore-temp-url-get (Swift)
* objectstore-temp-url-put (Swift)
* identity-v3-tokens-create (Keystone)
* identity-v3-tokens-delete (Keystone)
Advisory Capabilities
-----------------------
None
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Designated Sections
=====================================
The following designated sections apply to the same releases as
this specification.
Required Designated Sections
----------------------------
* Cinder : Designated sections are the API implementation code
* Glance : Designated sections are the API implementation code and domain
model.
* Keystone : Designation is outlined per API grouping. Identity (user and
group) management APIs will not be designated. API access (with exception of
auth) may be prohibited by policy (resulting in HTTP 403). Designated APIs
include v3 version where applicable.
* Neutron : By default, designated for all code backing required capabilities
except pluggable components such as plugins, drivers, and API extensions
other than those listed below.
* Nova : By default, designated except scheduler, filter, drivers, API
extensions and networking. Additional properties on responses are not
allowed.
* Swift : Designated sections are proxy server, object server, container
server, account server and select middleware
Advisory Designated Sections
----------------------------
None
Deprecated Designated Sections
------------------------------
None
Removed Designated Sections
---------------------------
None
================================================
OpenStack Interoperability Guideline dns.2020.06
================================================
:Status: superseded
:Replaces: dns.2019.11
:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/dns.2020.06.json
This document outlines the mandatory capabilities and designated
sections required to exist in a software installation in order to
be eligible to use marks controlled by the OpenStack Foundation.
This document was generated from the `<dns.2020.06.json>`_.
Releases Covered
==============================
Applies to Stein, Train, Ussuri, Victoria
Os_powered_dns Component Capabilities
=====================================
Required Capabilities
-----------------------
* dns-record-crud (Designate)
* dns-zone-crud (Designate)
Advisory Capabilities
-----------------------
None
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Designated Sections
=====================================
The following designated sections apply to the same releases as
this specification.
Required Designated Sections
----------------------------
* Designate : API and Central code, allowing for plugins and excluding storage
and scheduler filters
Advisory Designated Sections
----------------------------
None
Deprecated Designated Sections
------------------------------
None
Removed Designated Sections
---------------------------
None
==========================================================
OpenStack Interoperability Guideline orchestration.2020.06
==========================================================
:Status: superseded
:Replaces: orchestration.2019.11
:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/orchestration.2020.06.json
This document outlines the mandatory capabilities and designated
sections required to exist in a software installation in order to
be eligible to use marks controlled by the OpenStack Foundation.
This document was generated from the `<orchestration.2020.06.json>`_.
Releases Covered
==============================
Applies to Stein, Train, Ussuri, Victoria
Os_powered_orchestration Component Capabilities
===============================================
Required Capabilities
-----------------------
* stack-create (Heat)
* stack-delete (Heat)
* stack-environment-parameter (Heat)
* stack-event (Heat)
* stack-hook (Heat)
* stack-list (Heat)
* stack-output (Heat)
* stack-preview (Heat)
* stack-list-resources (Heat)
* stack-list-resource-types (Heat)
* stack-list-template-functions (Heat)
* stack-list-template-versions (Heat)
* stack-mark-resource-unhealthy (Heat)
* stack-resource-type-template (Heat)
* stack-show (Heat)
* stack-show-resource (Heat)
* stack-show-resource-type (Heat)
* stack-show-unhealthy-resource (Heat)
* stack-signal-resource (Heat)
* stack-software-config (Heat)
* stack-tag (Heat)
* stack-template (Heat)
* stack-update (Heat)
Advisory Capabilities
-----------------------
None
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Designated Sections
=====================================
The following designated sections apply to the same releases as
this specification.
Required Designated Sections
----------------------------
* Heat : Must at a minimum include resources for OpenStack Powered Compute
components.
Advisory Designated Sections
----------------------------
None
Deprecated Designated Sections
------------------------------
None
Removed Designated Sections
---------------------------
None

View File

@@ -1,412 +0,0 @@
============================================
OpenStack Interoperability Guideline 2020.11
============================================
:Status: approved
:Replaces: 2020.06
:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/guidelines/2020.11.json
This document outlines the mandatory capabilities and designated
sections required to exist in a software installation in order to
be eligible to use marks controlled by the OpenStack Foundation.
This document was generated from the `<2020.11.json>`_.
Releases Covered
==============================
Applies to Train, Ussuri, Victoria, Wallaby
Os_powered_compute Component Capabilities
=========================================
Required Capabilities
-----------------------
* compute-availability-zones-list (Nova)
* compute-flavors-list (Nova)
* compute-images-create (Nova)
* compute-instance-actions-get (Nova)
* compute-instance-actions-list (Nova)
* compute-keypairs-create (Nova)
* compute-keypairs-create-type (Nova)
* compute-list-api-versions (Nova)
* compute-quotas-get (Nova)
* compute-servers-create (Nova)
* compute-servers-create-multiple (Nova)
* compute-servers-delete (Nova)
* compute-servers-get (Nova)
* compute-servers-host (Nova)
* compute-servers-invalid (Nova)
* compute-servers-list (Nova)
* compute-servers-lock (Nova)
* compute-servers-name (Nova)
* compute-servers-reboot (Nova)
* compute-servers-rebuild (Nova)
* compute-servers-resize (Nova)
* compute-servers-stop (Nova)
* compute-servers-update (Nova)
* compute-servers-verify (Nova)
* compute-servers-metadata-delete (Nova)
* compute-servers-metadata-get (Nova)
* compute-servers-metadata-list (Nova)
* compute-servers-metadata-set (Nova)
* compute-servers-metadata-update (Nova)
* compute-volume-attach (Nova)
* identity-v3-api-discovery (Keystone)
* identity-v3-catalog (Keystone)
* identity-v3-list-projects (Keystone)
* identity-v3-tokens-create (Keystone)
* identity-v3-tokens-delete (Keystone)
* identity-v3-tokens-validate (Keystone)
* images-v2-index (Glance)
* images-v2-update (Glance)
* images-v2-list (Glance)
* images-v2-delete (Glance)
* images-v2-get (Glance)
* networks-l2-CRUD (Neutron)
* networks-l3-router (Neutron)
* networks-l3-CRUD (Neutron)
* networks-list-api-versions (Neutron)
* networks-security-groups-CRUD (Neutron)
* networks-subnet-pools-CRUD (Neutron)
* volumes-list-api-versions (Cinder)
* volumes-v3-create-delete (Cinder)
* volumes-v3-snapshot-create-delete (Cinder)
* volumes-v3-get (Cinder)
* volumes-v3-list (Cinder)
* volumes-v3-update (Cinder)
* volumes-v3-copy-image-to-volume (Cinder)
* volumes-v3-clone (Cinder)
* volumes-v3-availability-zones (Cinder)
* volumes-v3-extensions (Cinder)
* volumes-v3-metadata (Cinder)
* volumes-v3-readonly (Cinder)
* volumes-v3-upload (Cinder)
Advisory Capabilities
-----------------------
None
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Os_powered_storage Component Capabilities
=========================================
Required Capabilities
-----------------------
* objectstore-account-quotas (Swift)
* objectstore-account-list (Swift)
* objectstore-container-acl (Swift)
* objectstore-container-quotas (Swift)
* objectstore-container-create (Swift)
* objectstore-container-delete (Swift)
* objectstore-container-list (Swift)
* objectstore-container-metadata (Swift)
* objectstore-dlo-support (Swift)
* objectstore-slo-support (Swift)
* objectstore-info-request (Swift)
* objectstore-object-copy (Swift)
* objectstore-object-create (Swift)
* objectstore-object-delete (Swift)
* objectstore-object-get (Swift)
* objectstore-object-versioned (Swift)
* objectstore-temp-url-get (Swift)
* objectstore-temp-url-put (Swift)
* identity-v3-tokens-create (Keystone)
* identity-v3-tokens-delete (Keystone)
Advisory Capabilities
-----------------------
None
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Designated Sections
=====================================
The following designated sections apply to the same releases as
this specification.
Required Designated Sections
----------------------------
* Cinder : Designated sections are the API implementation code
* Glance : Designated sections are the API implementation code and domain
model.
* Keystone : Designation is outlined per API grouping. Identity (user and
group) management APIs will not be designated. API access (with exception of
auth) may be prohibited by policy (resulting in HTTP 403). Designated APIs
include v3 version where applicable.
* Neutron : By default, designated for all code backing required capabilities
except pluggable components such as plugins, drivers, and API extensions
other than those listed below.
* Nova : By default, designated except scheduler, filter, drivers, API
extensions and networking. Additional properties on responses are not
allowed.
* Swift : Designated sections are proxy server, object server, container
server, account server and select middleware
Advisory Designated Sections
----------------------------
None
Deprecated Designated Sections
------------------------------
None
Removed Designated Sections
---------------------------
None
================================================
OpenStack Interoperability Guideline dns.2020.11
================================================
:Status: approved
:Replaces: dns.2020.06
:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/dns.2020.11.json
This document outlines the mandatory capabilities and designated
sections required to exist in a software installation in order to
be eligible to use marks controlled by the OpenStack Foundation.
This document was generated from the `<dns.2020.11.json>`_.
Releases Covered
==============================
Applies to Train, Ussuri, Victoria, Wallaby
Os_powered_dns Component Capabilities
=====================================
Required Capabilities
-----------------------
* dns-record-crud (Designate)
* dns-zone-crud (Designate)
Advisory Capabilities
-----------------------
None
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Designated Sections
=====================================
The following designated sections apply to the same releases as
this specification.
Required Designated Sections
----------------------------
* Designate : API and Central code, allowing for plugins and excluding storage
and scheduler filters
Advisory Designated Sections
----------------------------
None
Deprecated Designated Sections
------------------------------
None
Removed Designated Sections
---------------------------
None
==========================================================
OpenStack Interoperability Guideline orchestration.2020.11
==========================================================
:Status: approved
:Replaces: orchestration.2020.06
:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/orchestration.2020.11.json
This document outlines the mandatory capabilities and designated
sections required to exist in a software installation in order to
be eligible to use marks controlled by the OpenStack Foundation.
This document was generated from the `<orchestration.2020.11.json>`_.
Releases Covered
==============================
Applies to Train, Ussuri, Victoria, Wallaby
Os_powered_orchestration Component Capabilities
===============================================
Required Capabilities
-----------------------
* stack-create (Heat)
* stack-delete (Heat)
* stack-environment-parameter (Heat)
* stack-event (Heat)
* stack-hook (Heat)
* stack-list (Heat)
* stack-output (Heat)
* stack-preview (Heat)
* stack-list-resources (Heat)
* stack-list-resource-types (Heat)
* stack-list-template-functions (Heat)
* stack-list-template-versions (Heat)
* stack-mark-resource-unhealthy (Heat)
* stack-resource-type-template (Heat)
* stack-show (Heat)
* stack-show-resource (Heat)
* stack-show-resource-type (Heat)
* stack-show-unhealthy-resource (Heat)
* stack-signal-resource (Heat)
* stack-software-config (Heat)
* stack-tag (Heat)
* stack-template (Heat)
* stack-update (Heat)
Advisory Capabilities
-----------------------
None
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Designated Sections
=====================================
The following designated sections apply to the same releases as
this specification.
Required Designated Sections
----------------------------
* Heat : Must at a minimum include resources for OpenStack Powered Compute
components.
Advisory Designated Sections
----------------------------
None
Deprecated Designated Sections
------------------------------
None
Removed Designated Sections
---------------------------
None
===============================================================
OpenStack Interoperability Guideline shared_file_system.2020.11
===============================================================
:Status: approved
:Replaces: None
:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/shared_file_system.2020.11.json
This document outlines the mandatory capabilities and designated
sections required to exist in a software installation in order to
be eligible to use marks controlled by the OpenStack Foundation.
This document was generated from the `<shared_file_system.2020.11.json>`_.
Releases Covered
==============================
Applies to Train, Ussuri, Victoria, Wallaby
Os_powered_shared_file_system Component Capabilities
====================================================
Required Capabilities
-----------------------
* share-list-api-versions (Manila)
* share-create-delete (Manila)
* share-get (Manila)
* share-list (Manila)
* share-update (Manila)
* share-extend (Manila)
* share-shrink (Manila)
* share-network-create-delete (Manila)
* share-network-update (Manila)
* share-network-get (Manila)
* share-network-list (Manila)
Advisory Capabilities
-----------------------
None
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Designated Sections
=====================================
The following designated sections apply to the same releases as
this specification.
Required Designated Sections
----------------------------
* Manila : The Shared File Systems v2 API (with microversions) is designated
Advisory Designated Sections
----------------------------
None
Deprecated Designated Sections
------------------------------
None
Removed Designated Sections
---------------------------
None

View File

@@ -1,423 +0,0 @@
============================================
OpenStack Interoperability Guideline 2021.11
============================================
:Status: approved
:Replaces: 2020.11
:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/guidelines/2021.11.json
This document outlines the mandatory capabilities and designated
sections required to exist in a software installation in order to
be eligible to use marks controlled by the OpenStack Foundation.
This document was generated from the `<2021.11.json>`_.
Releases Covered
==============================
Applies to Victoria, Wallaby, Xena, Yoga
OS_powered_compute Component Capabilities
=========================================
Required Capabilities
-----------------------
* compute-availability-zones-list (Nova)
* compute-flavors-list (Nova)
* compute-instance-actions-get (Nova)
* compute-instance-actions-list (Nova)
* compute-keypairs-create (Nova)
* compute-keypairs-create-type (Nova)
* compute-list-api-versions (Nova)
* compute-quotas-get (Nova)
* compute-servers-create (Nova)
* compute-servers-create-multiple (Nova)
* compute-servers-delete (Nova)
* compute-servers-get (Nova)
* compute-servers-host (Nova)
* compute-servers-invalid (Nova)
* compute-servers-list (Nova)
* compute-servers-lock (Nova)
* compute-servers-name (Nova)
* compute-servers-reboot (Nova)
* compute-servers-rebuild (Nova)
* compute-servers-stop (Nova)
* compute-servers-update (Nova)
* compute-servers-verify (Nova)
* compute-servers-metadata-delete (Nova)
* compute-servers-metadata-get (Nova)
* compute-servers-metadata-list (Nova)
* compute-servers-metadata-set (Nova)
* compute-servers-metadata-update (Nova)
* compute-volume-attach (Nova)
* identity-v3-api-discovery (Keystone)
* identity-v3-catalog (Keystone)
* identity-v3-list-projects (Keystone)
* identity-v3-tokens-create (Keystone)
* identity-v3-tokens-delete (Keystone)
* identity-v3-tokens-validate (Keystone)
* images-v2-index (Glance)
* images-v2-update (Glance)
* images-v2-list (Glance)
* images-v2-delete (Glance)
* images-v2-get (Glance)
* networks-l2-CRUD (Neutron)
* networks-l3-router (Neutron)
* networks-l3-CRUD (Neutron)
* networks-list-api-versions (Neutron)
* networks-security-groups-CRUD (Neutron)
* networks-subnet-pools-CRUD (Neutron)
* volumes-list-api-versions (Cinder)
* volumes-v3-create-delete (Cinder)
* volumes-v3-snapshot-create-delete (Cinder)
* volumes-v3-get (Cinder)
* volumes-v3-list (Cinder)
* volumes-v3-update (Cinder)
* volumes-v3-copy-image-to-volume (Cinder)
* volumes-v3-clone (Cinder)
* volumes-v3-availability-zones (Cinder)
* volumes-v3-extensions (Cinder)
* volumes-v3-metadata (Cinder)
* volumes-v3-readonly (Cinder)
* volumes-v3-upload (Cinder)
Advisory Capabilities
-----------------------
* identity-v3-list-versions (Keystone)
* identity-v3-application-credentials (Keystone)
* identity-v3-users (Keystone)
* identity-v3-domains (Keystone)
* volumes-v3-snapshots-list (Cinder)
* compute-images-create (Nova)
* compute-servers-resize (Nova)
* compute-servers-tags-CRUD (Nova)
* compute-servers-tags-tag-CRUD (Nova)
* networks-security-groups-CRUD-2 (Neutron)
* networks-dhcp (Neutron)
* networks-floating-ips-CRUD (Neutron)
* images-v2-import (Glance)
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
OS_powered_storage Component Capabilities
=========================================
Required Capabilities
-----------------------
* objectstore-account-quotas (Swift)
* objectstore-account-list (Swift)
* objectstore-container-acl (Swift)
* objectstore-container-quotas (Swift)
* objectstore-container-create (Swift)
* objectstore-container-delete (Swift)
* objectstore-container-list (Swift)
* objectstore-container-metadata (Swift)
* objectstore-dlo-support (Swift)
* objectstore-slo-support (Swift)
* objectstore-info-request (Swift)
* objectstore-object-copy (Swift)
* objectstore-object-create (Swift)
* objectstore-object-delete (Swift)
* objectstore-object-get (Swift)
* objectstore-object-versioned (Swift)
* objectstore-temp-url-get (Swift)
* objectstore-temp-url-put (Swift)
* identity-v3-tokens-create (Keystone)
* identity-v3-tokens-delete (Keystone)
Advisory Capabilities
-----------------------
* objectstore-account-update (Swift)
* objectstore-bulk (Swift)
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Designated Sections
=====================================
The following designated sections apply to the same releases as
this specification.
Required Designated Sections
----------------------------
* Cinder : Designated sections are the API implementation code
* Glance : Designated sections are the API implementation code and domain
model.
* Keystone : Designation is outlined per API grouping. Identity (user and
group) management APIs will not be designated. API access (with exception of
auth) may be prohibited by policy (resulting in HTTP 403). Designated APIs
include v3 version where applicable.
* Neutron : By default, designated for all code backing required capabilities
except pluggable components such as plugins, drivers, and API extensions
other than those listed below.
* Nova : By default, designated except scheduler, filter, drivers, API
extensions and networking. Additional properties on responses are not
allowed.
* Swift : Designated sections are proxy server, object server, container
server, account server and select middleware
Advisory Designated Sections
----------------------------
None
Deprecated Designated Sections
------------------------------
None
Removed Designated Sections
---------------------------
None
================================================
OpenStack Interoperability Guideline dns.2021.11
================================================
:Status: approved
:Replaces: dns.2020.11
:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/dns.2021.11.json
This document outlines the mandatory capabilities and designated
sections required to exist in a software installation in order to
be eligible to use marks controlled by the OpenStack Foundation.
This document was generated from the `<dns.2021.11.json>`_.
Releases Covered
==============================
Applies to Victoria, Wallaby, Xena, Yoga
OS_powered_dns Component Capabilities
=====================================
Required Capabilities
-----------------------
* dns-record-crud (Designate)
* dns-zone-crud (Designate)
Advisory Capabilities
-----------------------
None
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Designated Sections
=====================================
The following designated sections apply to the same releases as
this specification.
Required Designated Sections
----------------------------
* Designate : API and Central code, allowing for plugins and excluding storage
and scheduler filters
Advisory Designated Sections
----------------------------
None
Deprecated Designated Sections
------------------------------
None
Removed Designated Sections
---------------------------
None
==========================================================
OpenStack Interoperability Guideline orchestration.2021.11
==========================================================
:Status: approved
:Replaces: orchestration.2020.11
:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/orchestration.2021.11.json
This document outlines the mandatory capabilities and designated
sections required to exist in a software installation in order to
be eligible to use marks controlled by the OpenStack Foundation.
This document was generated from the `<orchestration.2021.11.json>`_.
Releases Covered
==============================
Applies to Victoria, Wallaby, Xena, Yoga
OS_powered_orchestration Component Capabilities
===============================================
Required Capabilities
-----------------------
* stack-create (Heat)
* stack-delete (Heat)
* stack-environment-parameter (Heat)
* stack-event (Heat)
* stack-hook (Heat)
* stack-list (Heat)
* stack-output (Heat)
* stack-preview (Heat)
* stack-list-resources (Heat)
* stack-list-resource-types (Heat)
* stack-list-template-functions (Heat)
* stack-list-template-versions (Heat)
* stack-mark-resource-unhealthy (Heat)
* stack-resource-type-template (Heat)
* stack-show (Heat)
* stack-show-resource (Heat)
* stack-show-resource-type (Heat)
* stack-show-unhealthy-resource (Heat)
* stack-signal-resource (Heat)
* stack-software-config (Heat)
* stack-tag (Heat)
* stack-template (Heat)
* stack-update (Heat)
Advisory Capabilities
-----------------------
None
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Designated Sections
=====================================
The following designated sections apply to the same releases as
this specification.
Required Designated Sections
----------------------------
* Heat : Must at a minimum include resources for OpenStack Powered Compute
components.
Advisory Designated Sections
----------------------------
None
Deprecated Designated Sections
------------------------------
None
Removed Designated Sections
---------------------------
None
===============================================================
OpenStack Interoperability Guideline shared_file_system.2021.11
===============================================================
:Status: approved
:Replaces: shared_file_system.2020.11
:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/shared_file_system.2021.11.json
This document outlines the mandatory capabilities and designated
sections required to exist in a software installation in order to
be eligible to use marks controlled by the OpenStack Foundation.
This document was generated from the `<shared_file_system.2021.11.json>`_.
Releases Covered
==============================
Applies to Victoria, Wallaby, Xena, Yoga
OS_powered_shared_file_system Component Capabilities
====================================================
Required Capabilities
-----------------------
* share-list-api-versions (Manila)
* share-create-delete (Manila)
* share-get (Manila)
* share-list (Manila)
* share-update (Manila)
* share-extend (Manila)
* share-shrink (Manila)
* share-network-create-delete (Manila)
* share-network-update (Manila)
* share-network-get (Manila)
* share-network-list (Manila)
Advisory Capabilities
-----------------------
None
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Designated Sections
=====================================
The following designated sections apply to the same releases as
this specification.
Required Designated Sections
----------------------------
* Manila : The Shared File Systems v2 API (with microversions) is designated
Advisory Designated Sections
----------------------------
None
Deprecated Designated Sections
------------------------------
None
Removed Designated Sections
---------------------------
None

View File

@@ -1,431 +0,0 @@
============================================
OpenStack Interoperability Guideline 2022.06
============================================
:Status: approved
:Replaces: 2021.11
:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/guidelines/2022.06.json
This document outlines the mandatory capabilities and designated
sections required to exist in a software installation in order to
be eligible to use marks controlled by the OpenStack Foundation.
This document was generated from the `<2022.06.json>`_.
Releases Covered
==============================
Applies to Wallaby, Xena, Yoga, Zed
OS_powered_compute Component Capabilities
=========================================
Required Capabilities
-----------------------
* compute-availability-zones-list (Nova)
* compute-flavors-list (Nova)
* compute-instance-actions-get (Nova)
* compute-instance-actions-list (Nova)
* compute-keypairs-create (Nova)
* compute-keypairs-create-type (Nova)
* compute-list-api-versions (Nova)
* compute-quotas-get (Nova)
* compute-servers-create (Nova)
* compute-servers-create-multiple (Nova)
* compute-servers-delete (Nova)
* compute-servers-get (Nova)
* compute-servers-host (Nova)
* compute-servers-invalid (Nova)
* compute-servers-list (Nova)
* compute-servers-lock (Nova)
* compute-servers-name (Nova)
* compute-servers-reboot (Nova)
* compute-servers-rebuild (Nova)
* compute-servers-stop (Nova)
* compute-servers-update (Nova)
* compute-servers-verify (Nova)
* compute-servers-metadata-delete (Nova)
* compute-servers-metadata-get (Nova)
* compute-servers-metadata-list (Nova)
* compute-servers-metadata-set (Nova)
* compute-servers-metadata-update (Nova)
* compute-volume-attach (Nova)
* compute-images-create (Nova)
* compute-servers-resize (Nova)
* compute-servers-tags-CRUD (Nova)
* compute-servers-tags-tag-CRUD (Nova)
* identity-v3-api-discovery (Keystone)
* identity-v3-catalog (Keystone)
* identity-v3-list-projects (Keystone)
* identity-v3-tokens-create (Keystone)
* identity-v3-tokens-delete (Keystone)
* identity-v3-tokens-validate (Keystone)
* identity-v3-list-versions (Keystone)
* identity-v3-application-credentials (Keystone)
* identity-v3-users (Keystone)
* identity-v3-domains (Keystone)
* images-v2-index (Glance)
* images-v2-update (Glance)
* images-v2-list (Glance)
* images-v2-delete (Glance)
* images-v2-get (Glance)
* images-v2-import (Glance)
* networks-l2-CRUD (Neutron)
* networks-l3-router (Neutron)
* networks-l3-CRUD (Neutron)
* networks-list-api-versions (Neutron)
* networks-security-groups-CRUD (Neutron)
* networks-subnet-pools-CRUD (Neutron)
* networks-security-groups-CRUD-2 (Neutron)
* networks-dhcp (Neutron)
* networks-floating-ips-CRUD (Neutron)
* volumes-list-api-versions (Cinder)
* volumes-v3-create-delete (Cinder)
* volumes-v3-snapshot-create-delete (Cinder)
* volumes-v3-get (Cinder)
* volumes-v3-list (Cinder)
* volumes-v3-update (Cinder)
* volumes-v3-copy-image-to-volume (Cinder)
* volumes-v3-clone (Cinder)
* volumes-v3-availability-zones (Cinder)
* volumes-v3-extensions (Cinder)
* volumes-v3-metadata (Cinder)
* volumes-v3-readonly (Cinder)
* volumes-v3-upload (Cinder)
* volumes-v3-snapshots-list (Cinder)
Advisory Capabilities
-----------------------
* networks-address-pairs (Neutron)
* networks-extensions (Neutron)
* networks-bulk (Neutron)
* networks-negative (Neutron)
* networks-ipv6 (Neutron)
* networks-show-api-details (Neutron)
* networks-port-list-filter (Neutron)
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
OS_powered_storage Component Capabilities
=========================================
Required Capabilities
-----------------------
* objectstore-account-quotas (Swift)
* objectstore-account-list (Swift)
* objectstore-container-acl (Swift)
* objectstore-container-quotas (Swift)
* objectstore-container-create (Swift)
* objectstore-container-delete (Swift)
* objectstore-container-list (Swift)
* objectstore-container-metadata (Swift)
* objectstore-dlo-support (Swift)
* objectstore-slo-support (Swift)
* objectstore-info-request (Swift)
* objectstore-object-copy (Swift)
* objectstore-object-create (Swift)
* objectstore-object-delete (Swift)
* objectstore-object-get (Swift)
* objectstore-object-versioned (Swift)
* objectstore-temp-url-get (Swift)
* objectstore-temp-url-put (Swift)
* objectstore-account-update (Swift)
* objectstore-bulk (Swift)
* identity-v3-tokens-create (Keystone)
* identity-v3-tokens-delete (Keystone)
Advisory Capabilities
-----------------------
None
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Designated Sections
=====================================
The following designated sections apply to the same releases as
this specification.
Required Designated Sections
----------------------------
* Cinder : Designated sections are the API implementation code
* Glance : Designated sections are the API implementation code and domain
model.
* Keystone : Designation is outlined per API grouping. Identity (user and
group) management APIs will not be designated. API access (with exception of
auth) may be prohibited by policy (resulting in HTTP 403). Designated APIs
include v3 version where applicable.
* Neutron : By default, designated for all code backing required capabilities
except pluggable components such as plugins, drivers, and API extensions
other than those listed below.
* Nova : By default, designated except scheduler, filter, drivers, API
extensions and networking. Additional properties on responses are not
allowed.
* Swift : Designated sections are proxy server, object server, container
server, account server and select middleware
Advisory Designated Sections
----------------------------
None
Deprecated Designated Sections
------------------------------
None
Removed Designated Sections
---------------------------
None
================================================
OpenStack Interoperability Guideline dns.2022.06
================================================
:Status: approved
:Replaces: dns.2021.11
:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/dns.2022.06.json
This document outlines the mandatory capabilities and designated
sections required to exist in a software installation in order to
be eligible to use marks controlled by the OpenStack Foundation.
This document was generated from the `<dns.2022.06.json>`_.
Releases Covered
==============================
Applies to Wallaby, Xena, Yoga, Zed
OS_powered_dns Component Capabilities
=====================================
Required Capabilities
-----------------------
* dns-record-crud (Designate)
* dns-zone-crud (Designate)
Advisory Capabilities
-----------------------
None
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Designated Sections
=====================================
The following designated sections apply to the same releases as
this specification.
Required Designated Sections
----------------------------
* Designate : API and Central code, allowing for plugins and excluding storage
and scheduler filters
Advisory Designated Sections
----------------------------
None
Deprecated Designated Sections
------------------------------
None
Removed Designated Sections
---------------------------
None
==========================================================
OpenStack Interoperability Guideline orchestration.2022.06
==========================================================
:Status: approved
:Replaces: orchestration.2021.11
:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/orchestration.2022.06.json
This document outlines the mandatory capabilities and designated
sections required to exist in a software installation in order to
be eligible to use marks controlled by the OpenStack Foundation.
This document was generated from the `<orchestration.2022.06.json>`_.
Releases Covered
==============================
Applies to Wallaby, Xena, Yoga, Zed
OS_powered_orchestration Component Capabilities
===============================================
Required Capabilities
-----------------------
* stack-create (Heat)
* stack-delete (Heat)
* stack-environment-parameter (Heat)
* stack-event (Heat)
* stack-hook (Heat)
* stack-list (Heat)
* stack-output (Heat)
* stack-preview (Heat)
* stack-list-resources (Heat)
* stack-list-resource-types (Heat)
* stack-list-template-functions (Heat)
* stack-list-template-versions (Heat)
* stack-mark-resource-unhealthy (Heat)
* stack-resource-type-template (Heat)
* stack-show (Heat)
* stack-show-resource (Heat)
* stack-show-resource-type (Heat)
* stack-show-unhealthy-resource (Heat)
* stack-signal-resource (Heat)
* stack-software-config (Heat)
* stack-tag (Heat)
* stack-template (Heat)
* stack-update (Heat)
Advisory Capabilities
-----------------------
None
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Designated Sections
=====================================
The following designated sections apply to the same releases as
this specification.
Required Designated Sections
----------------------------
* Heat : Must at a minimum include resources for OpenStack Powered Compute
components.
Advisory Designated Sections
----------------------------
None
Deprecated Designated Sections
------------------------------
None
Removed Designated Sections
---------------------------
None
===============================================================
OpenStack Interoperability Guideline shared_file_system.2022.06
===============================================================
:Status: approved
:Replaces: shared_file_system.2021.11
:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/shared_file_system.2022.06.json
This document outlines the mandatory capabilities and designated
sections required to exist in a software installation in order to
be eligible to use marks controlled by the OpenStack Foundation.
This document was generated from the `<shared_file_system.2022.06.json>`_.
Releases Covered
==============================
Applies to Wallaby, Xena, Yoga, Zed
OS_powered_shared_file_system Component Capabilities
====================================================
Required Capabilities
-----------------------
* share-list-api-versions (Manila)
* share-create-delete (Manila)
* share-get (Manila)
* share-list (Manila)
* share-update (Manila)
* share-extend (Manila)
* share-shrink (Manila)
* share-network-create-delete (Manila)
* share-network-update (Manila)
* share-network-get (Manila)
* share-network-list (Manila)
Advisory Capabilities
-----------------------
None
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Designated Sections
=====================================
The following designated sections apply to the same releases as
this specification.
Required Designated Sections
----------------------------
* Manila : The Shared File Systems v2 API (with microversions) is designated
Advisory Designated Sections
----------------------------
None
Deprecated Designated Sections
------------------------------
None
Removed Designated Sections
---------------------------
None

View File

@@ -1,572 +0,0 @@
============================================
OpenStack Interoperability Guideline 2022.11
============================================
:Status: draft
:Replaces: 2022.06
:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/guidelines/2022.11.json
This document outlines the mandatory capabilities and designated
sections required to exist in a software installation in order to
be eligible to use marks controlled by the OpenStack Foundation.
This document was generated from the `<2022.11.json>`_.
Releases Covered
==============================
Applies to Xena, Yoga, Zed, Antelope
OS_powered_compute Component Capabilities
=========================================
Required Capabilities
-----------------------
* compute-availability-zones-list (Nova)
* compute-flavors-list (Nova)
* compute-instance-actions-get (Nova)
* compute-instance-actions-list (Nova)
* compute-keypairs-create (Nova)
* compute-keypairs-create-type (Nova)
* compute-list-api-versions (Nova)
* compute-quotas-get (Nova)
* compute-servers-create (Nova)
* compute-servers-create-multiple (Nova)
* compute-servers-delete (Nova)
* compute-servers-get (Nova)
* compute-servers-host (Nova)
* compute-servers-invalid (Nova)
* compute-servers-list (Nova)
* compute-servers-lock (Nova)
* compute-servers-name (Nova)
* compute-servers-reboot (Nova)
* compute-servers-rebuild (Nova)
* compute-servers-stop (Nova)
* compute-servers-update (Nova)
* compute-servers-verify (Nova)
* compute-volume-attach (Nova)
* compute-images-create (Nova)
* compute-servers-resize (Nova)
* compute-servers-tags-CRUD (Nova)
* compute-servers-tags-tag-CRUD (Nova)
* identity-v3-api-discovery (Keystone)
* identity-v3-catalog (Keystone)
* identity-v3-list-projects (Keystone)
* identity-v3-tokens-create (Keystone)
* identity-v3-tokens-delete (Keystone)
* identity-v3-tokens-validate (Keystone)
* identity-v3-list-versions (Keystone)
* identity-v3-application-credentials (Keystone)
* identity-v3-users (Keystone)
* identity-v3-domains (Keystone)
* images-v2-index (Glance)
* images-v2-update (Glance)
* images-v2-list (Glance)
* images-v2-delete (Glance)
* images-v2-get (Glance)
* images-v2-import (Glance)
* networks-l2-CRUD (Neutron)
* networks-l3-router (Neutron)
* networks-l3-CRUD (Neutron)
* networks-list-api-versions (Neutron)
* networks-security-groups-CRUD (Neutron)
* networks-subnet-pools-CRUD (Neutron)
* networks-security-groups-CRUD-2 (Neutron)
* networks-dhcp (Neutron)
* networks-floating-ips-CRUD (Neutron)
* volumes-list-api-versions (Cinder)
* volumes-v3-create-delete (Cinder)
* volumes-v3-snapshot-create-delete (Cinder)
* volumes-v3-get (Cinder)
* volumes-v3-list (Cinder)
* volumes-v3-update (Cinder)
* volumes-v3-copy-image-to-volume (Cinder)
* volumes-v3-clone (Cinder)
* volumes-v3-availability-zones (Cinder)
* volumes-v3-extensions (Cinder)
* volumes-v3-metadata (Cinder)
* volumes-v3-readonly (Cinder)
* volumes-v3-upload (Cinder)
* volumes-v3-snapshots-list (Cinder)
Advisory Capabilities
-----------------------
* networks-address-pairs (Neutron)
* networks-extensions (Neutron)
* networks-bulk (Neutron)
* networks-negative (Neutron)
* networks-ipv6 (Neutron)
* networks-show-api-details (Neutron)
* networks-port-list-filter (Neutron)
Deprecated Capabilities
-------------------------
* compute-servers-metadata-delete (Nova)
* compute-servers-metadata-get (Nova)
* compute-servers-metadata-list (Nova)
* compute-servers-metadata-set (Nova)
* compute-servers-metadata-update (Nova)
Removed Capabilities
----------------------
None
OS_powered_storage Component Capabilities
=========================================
Required Capabilities
-----------------------
* objectstore-account-quotas (Swift)
* objectstore-account-list (Swift)
* objectstore-container-acl (Swift)
* objectstore-container-quotas (Swift)
* objectstore-container-create (Swift)
* objectstore-container-delete (Swift)
* objectstore-container-list (Swift)
* objectstore-container-metadata (Swift)
* objectstore-dlo-support (Swift)
* objectstore-slo-support (Swift)
* objectstore-info-request (Swift)
* objectstore-object-copy (Swift)
* objectstore-object-create (Swift)
* objectstore-object-delete (Swift)
* objectstore-object-get (Swift)
* objectstore-object-versioned (Swift)
* objectstore-temp-url-get (Swift)
* objectstore-temp-url-put (Swift)
* objectstore-account-update (Swift)
* objectstore-bulk (Swift)
* identity-v3-tokens-create (Keystone)
* identity-v3-tokens-delete (Keystone)
Advisory Capabilities
-----------------------
None
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Designated Sections
=====================================
The following designated sections apply to the same releases as
this specification.
Required Designated Sections
----------------------------
* Cinder : Designated sections are the API implementation code
* Glance : Designated sections are the API implementation code and domain
model.
* Keystone : Designation is outlined per API grouping. Identity (user and
group) management APIs will not be designated. API access (with exception of
auth) may be prohibited by policy (resulting in HTTP 403). Designated APIs
include v3 version where applicable.
* Neutron : By default, designated for all code backing required capabilities
except pluggable components such as plugins, drivers, and API extensions
other than those listed below.
* Nova : By default, designated except scheduler, filter, drivers, API
extensions and networking. Additional properties on responses are not
allowed.
* Swift : Designated sections are proxy server, object server, container
server, account server and select middleware
Advisory Designated Sections
----------------------------
None
Deprecated Designated Sections
------------------------------
None
Removed Designated Sections
---------------------------
None
================================================
OpenStack Interoperability Guideline dns.2022.11
================================================
:Status: draft
:Replaces: dns.2022.06
:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/dns.2022.11.json
This document outlines the mandatory capabilities and designated
sections required to exist in a software installation in order to
be eligible to use marks controlled by the OpenStack Foundation.
This document was generated from the `<dns.2022.11.json>`_.
Releases Covered
==============================
Applies to Xena, Yoga, Zed, Antelope
OS_powered_dns Component Capabilities
=====================================
Required Capabilities
-----------------------
* dns-record-crud (Designate)
* dns-zone-crud (Designate)
Advisory Capabilities
-----------------------
None
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Designated Sections
=====================================
The following designated sections apply to the same releases as
this specification.
Required Designated Sections
----------------------------
* Designate : API and Central code, allowing for plugins and excluding storage
and scheduler filters
Advisory Designated Sections
----------------------------
None
Deprecated Designated Sections
------------------------------
None
Removed Designated Sections
---------------------------
None
========================================================
OpenStack Interoperability Guideline key_manager.2022.11
========================================================
:Status: draft
:Replaces:
:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/key_manager.2022.11.json
This document outlines the mandatory capabilities and designated
sections required to exist in a software installation in order to
be eligible to use marks controlled by the OpenStack Foundation.
This document was generated from the `<key_manager.2022.11.json>`_.
Releases Covered
==============================
Applies to Xena, Yoga, Zed, Antelope
OS_powered_key_manager Component Capabilities
=============================================
Required Capabilities
-----------------------
None
Advisory Capabilities
-----------------------
* secret-CRUD (Barbican)
* secret-generation (Barbican)
* secret-management (Barbican)
* system-management (Barbican)
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Designated Sections
=====================================
The following designated sections apply to the same releases as
this specification.
Required Designated Sections
----------------------------
* Barbican : Key Manager solution.
Advisory Designated Sections
----------------------------
None
Deprecated Designated Sections
------------------------------
None
Removed Designated Sections
---------------------------
None
==========================================================
OpenStack Interoperability Guideline load_balancer.2022.11
==========================================================
:Status: draft
:Replaces:
:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/load_balancer.2022.11.json
This document outlines the mandatory capabilities and designated
sections required to exist in a software installation in order to
be eligible to use marks controlled by the OpenStack Foundation.
This document was generated from the `<load_balancer.2022.11.json>`_.
Releases Covered
==============================
Applies to Xena, Yoga, Zed, Antelope
OS_powered_load_balancer Component Capabilities
===============================================
Required Capabilities
-----------------------
None
Advisory Capabilities
-----------------------
* provider-list (Octavia)
* load-balancer-CRUD (Octavia)
* create-listener (Octavia)
* show-listener (Octavia)
* show-listener-stats (Octavia)
* list-listeners (Octavia)
* update-listener (Octavia)
* delete-listener (Octavia)
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Designated Sections
=====================================
The following designated sections apply to the same releases as
this specification.
Required Designated Sections
----------------------------
* Octavia : Load Balancing solution.
Advisory Designated Sections
----------------------------
None
Deprecated Designated Sections
------------------------------
None
Removed Designated Sections
---------------------------
None
==========================================================
OpenStack Interoperability Guideline orchestration.2022.11
==========================================================
:Status: draft
:Replaces: orchestration.2022.06
:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/orchestration.2022.11.json
This document outlines the mandatory capabilities and designated
sections required to exist in a software installation in order to
be eligible to use marks controlled by the OpenStack Foundation.
This document was generated from the `<orchestration.2022.11.json>`_.
Releases Covered
==============================
Applies to Xena, Yoga, Zed, Antelope
OS_powered_orchestration Component Capabilities
===============================================
Required Capabilities
-----------------------
* stack-create (Heat)
* stack-delete (Heat)
* stack-environment-parameter (Heat)
* stack-event (Heat)
* stack-hook (Heat)
* stack-list (Heat)
* stack-output (Heat)
* stack-preview (Heat)
* stack-list-resources (Heat)
* stack-list-resource-types (Heat)
* stack-list-template-functions (Heat)
* stack-list-template-versions (Heat)
* stack-mark-resource-unhealthy (Heat)
* stack-resource-type-template (Heat)
* stack-show (Heat)
* stack-show-resource (Heat)
* stack-show-resource-type (Heat)
* stack-show-unhealthy-resource (Heat)
* stack-signal-resource (Heat)
* stack-software-config (Heat)
* stack-tag (Heat)
* stack-template (Heat)
* stack-update (Heat)
Advisory Capabilities
-----------------------
None
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Designated Sections
=====================================
The following designated sections apply to the same releases as
this specification.
Required Designated Sections
----------------------------
* Heat : Must at a minimum include resources for OpenStack Powered Compute
components.
Advisory Designated Sections
----------------------------
None
Deprecated Designated Sections
------------------------------
None
Removed Designated Sections
---------------------------
None
===============================================================
OpenStack Interoperability Guideline shared_file_system.2022.11
===============================================================
:Status: draft
:Replaces: shared_file_system.2022.06
:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/shared_file_system.2022.11.json
This document outlines the mandatory capabilities and designated
sections required to exist in a software installation in order to
be eligible to use marks controlled by the OpenStack Foundation.
This document was generated from the `<shared_file_system.2022.11.json>`_.
Releases Covered
==============================
Applies to Xena, Yoga, Zed, Antelope
OS_powered_shared_file_system Component Capabilities
====================================================
Required Capabilities
-----------------------
* share-list-api-versions (Manila)
* share-create-delete (Manila)
* share-get (Manila)
* share-list (Manila)
* share-update (Manila)
* share-extend (Manila)
* share-shrink (Manila)
* share-network-create-delete (Manila)
* share-network-update (Manila)
* share-network-get (Manila)
* share-network-list (Manila)
Advisory Capabilities
-----------------------
None
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Designated Sections
=====================================
The following designated sections apply to the same releases as
this specification.
Required Designated Sections
----------------------------
* Manila : The Shared File Systems v2 API (with microversions) is designated
Advisory Designated Sections
----------------------------
None
Deprecated Designated Sections
------------------------------
None
Removed Designated Sections
---------------------------
None

View File

@@ -1,572 +0,0 @@
=========================================
OpenStack Interoperability Guideline next
=========================================
:Status: draft
:Replaces: 2022.11
:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/guidelines/next.json
This document outlines the mandatory capabilities and designated
sections required to exist in a software installation in order to
be eligible to use marks controlled by the OpenStack Foundation.
This document was generated from the `<next.json>`_.
Releases Covered
==============================
Applies to Xena, Yoga, Zed, Antelope
OS_powered_compute Component Capabilities
=========================================
Required Capabilities
-----------------------
* compute-availability-zones-list (Nova)
* compute-flavors-list (Nova)
* compute-instance-actions-get (Nova)
* compute-instance-actions-list (Nova)
* compute-keypairs-create (Nova)
* compute-keypairs-create-type (Nova)
* compute-list-api-versions (Nova)
* compute-quotas-get (Nova)
* compute-servers-create (Nova)
* compute-servers-create-multiple (Nova)
* compute-servers-delete (Nova)
* compute-servers-get (Nova)
* compute-servers-host (Nova)
* compute-servers-invalid (Nova)
* compute-servers-list (Nova)
* compute-servers-lock (Nova)
* compute-servers-name (Nova)
* compute-servers-reboot (Nova)
* compute-servers-rebuild (Nova)
* compute-servers-stop (Nova)
* compute-servers-update (Nova)
* compute-servers-verify (Nova)
* compute-volume-attach (Nova)
* compute-images-create (Nova)
* compute-servers-resize (Nova)
* compute-servers-tags-CRUD (Nova)
* compute-servers-tags-tag-CRUD (Nova)
* identity-v3-api-discovery (Keystone)
* identity-v3-catalog (Keystone)
* identity-v3-list-projects (Keystone)
* identity-v3-tokens-create (Keystone)
* identity-v3-tokens-delete (Keystone)
* identity-v3-tokens-validate (Keystone)
* identity-v3-list-versions (Keystone)
* identity-v3-application-credentials (Keystone)
* identity-v3-users (Keystone)
* identity-v3-domains (Keystone)
* images-v2-index (Glance)
* images-v2-update (Glance)
* images-v2-list (Glance)
* images-v2-delete (Glance)
* images-v2-get (Glance)
* images-v2-import (Glance)
* networks-l2-CRUD (Neutron)
* networks-l3-router (Neutron)
* networks-l3-CRUD (Neutron)
* networks-list-api-versions (Neutron)
* networks-security-groups-CRUD (Neutron)
* networks-subnet-pools-CRUD (Neutron)
* networks-security-groups-CRUD-2 (Neutron)
* networks-dhcp (Neutron)
* networks-floating-ips-CRUD (Neutron)
* volumes-list-api-versions (Cinder)
* volumes-v3-create-delete (Cinder)
* volumes-v3-snapshot-create-delete (Cinder)
* volumes-v3-get (Cinder)
* volumes-v3-list (Cinder)
* volumes-v3-update (Cinder)
* volumes-v3-copy-image-to-volume (Cinder)
* volumes-v3-clone (Cinder)
* volumes-v3-availability-zones (Cinder)
* volumes-v3-extensions (Cinder)
* volumes-v3-metadata (Cinder)
* volumes-v3-readonly (Cinder)
* volumes-v3-upload (Cinder)
* volumes-v3-snapshots-list (Cinder)
Advisory Capabilities
-----------------------
* networks-address-pairs (Neutron)
* networks-extensions (Neutron)
* networks-bulk (Neutron)
* networks-negative (Neutron)
* networks-ipv6 (Neutron)
* networks-show-api-details (Neutron)
* networks-port-list-filter (Neutron)
Deprecated Capabilities
-------------------------
* compute-servers-metadata-delete (Nova)
* compute-servers-metadata-get (Nova)
* compute-servers-metadata-list (Nova)
* compute-servers-metadata-set (Nova)
* compute-servers-metadata-update (Nova)
Removed Capabilities
----------------------
None
OS_powered_storage Component Capabilities
=========================================
Required Capabilities
-----------------------
* objectstore-account-quotas (Swift)
* objectstore-account-list (Swift)
* objectstore-container-acl (Swift)
* objectstore-container-quotas (Swift)
* objectstore-container-create (Swift)
* objectstore-container-delete (Swift)
* objectstore-container-list (Swift)
* objectstore-container-metadata (Swift)
* objectstore-dlo-support (Swift)
* objectstore-slo-support (Swift)
* objectstore-info-request (Swift)
* objectstore-object-copy (Swift)
* objectstore-object-create (Swift)
* objectstore-object-delete (Swift)
* objectstore-object-get (Swift)
* objectstore-object-versioned (Swift)
* objectstore-temp-url-get (Swift)
* objectstore-temp-url-put (Swift)
* objectstore-account-update (Swift)
* objectstore-bulk (Swift)
* identity-v3-tokens-create (Keystone)
* identity-v3-tokens-delete (Keystone)
Advisory Capabilities
-----------------------
None
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Designated Sections
=====================================
The following designated sections apply to the same releases as
this specification.
Required Designated Sections
----------------------------
* Cinder : Designated sections are the API implementation code
* Glance : Designated sections are the API implementation code and domain
model.
* Keystone : Designation is outlined per API grouping. Identity (user and
group) management APIs will not be designated. API access (with exception of
auth) may be prohibited by policy (resulting in HTTP 403). Designated APIs
include v3 version where applicable.
* Neutron : By default, designated for all code backing required capabilities
except pluggable components such as plugins, drivers, and API extensions
other than those listed below.
* Nova : By default, designated except scheduler, filter, drivers, API
extensions and networking. Additional properties on responses are not
allowed.
* Swift : Designated sections are proxy server, object server, container
server, account server and select middleware
Advisory Designated Sections
----------------------------
None
Deprecated Designated Sections
------------------------------
None
Removed Designated Sections
---------------------------
None
=============================================
OpenStack Interoperability Guideline dns.next
=============================================
:Status: draft
:Replaces: dns.2022.11
:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/dns.next.json
This document outlines the mandatory capabilities and designated
sections required to exist in a software installation in order to
be eligible to use marks controlled by the OpenStack Foundation.
This document was generated from the `<dns.next.json>`_.
Releases Covered
==============================
Applies to Xena, Yoga, Zed, Antelope
OS_powered_dns Component Capabilities
=====================================
Required Capabilities
-----------------------
* dns-record-crud (Designate)
* dns-zone-crud (Designate)
Advisory Capabilities
-----------------------
None
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Designated Sections
=====================================
The following designated sections apply to the same releases as
this specification.
Required Designated Sections
----------------------------
* Designate : API and Central code, allowing for plugins and excluding storage
and scheduler filters
Advisory Designated Sections
----------------------------
None
Deprecated Designated Sections
------------------------------
None
Removed Designated Sections
---------------------------
None
=====================================================
OpenStack Interoperability Guideline key_manager.next
=====================================================
:Status: draft
:Replaces: key_manager.2022.11
:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/key_manager.next.json
This document outlines the mandatory capabilities and designated
sections required to exist in a software installation in order to
be eligible to use marks controlled by the OpenStack Foundation.
This document was generated from the `<key_manager.next.json>`_.
Releases Covered
==============================
Applies to Xena, Yoga, Zed, Antelope
OS_powered_key_manager Component Capabilities
=============================================
Required Capabilities
-----------------------
None
Advisory Capabilities
-----------------------
* secret-CRUD (Barbican)
* secret-generation (Barbican)
* secret-management (Barbican)
* system-management (Barbican)
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Designated Sections
=====================================
The following designated sections apply to the same releases as
this specification.
Required Designated Sections
----------------------------
* Barbican : Key Manager solution.
Advisory Designated Sections
----------------------------
None
Deprecated Designated Sections
------------------------------
None
Removed Designated Sections
---------------------------
None
=======================================================
OpenStack Interoperability Guideline load_balancer.next
=======================================================
:Status: draft
:Replaces: load_balancer.2022.11
:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/load_balancer.next.json
This document outlines the mandatory capabilities and designated
sections required to exist in a software installation in order to
be eligible to use marks controlled by the OpenStack Foundation.
This document was generated from the `<load_balancer.next.json>`_.
Releases Covered
==============================
Applies to Xena, Yoga, Zed, Antelope
OS_powered_load_balancer Component Capabilities
===============================================
Required Capabilities
-----------------------
None
Advisory Capabilities
-----------------------
* provider-list (Octavia)
* load-balancer-CRUD (Octavia)
* create-listener (Octavia)
* show-listener (Octavia)
* show-listener-stats (Octavia)
* list-listeners (Octavia)
* update-listener (Octavia)
* delete-listener (Octavia)
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Designated Sections
=====================================
The following designated sections apply to the same releases as
this specification.
Required Designated Sections
----------------------------
* Octavia : Load Balancing solution.
Advisory Designated Sections
----------------------------
None
Deprecated Designated Sections
------------------------------
None
Removed Designated Sections
---------------------------
None
=======================================================
OpenStack Interoperability Guideline orchestration.next
=======================================================
:Status: draft
:Replaces: orchestration.2022.11
:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/orchestration.next.json
This document outlines the mandatory capabilities and designated
sections required to exist in a software installation in order to
be eligible to use marks controlled by the OpenStack Foundation.
This document was generated from the `<orchestration.next.json>`_.
Releases Covered
==============================
Applies to Xena, Yoga, Zed, Antelope
OS_powered_orchestration Component Capabilities
===============================================
Required Capabilities
-----------------------
* stack-create (Heat)
* stack-delete (Heat)
* stack-environment-parameter (Heat)
* stack-event (Heat)
* stack-hook (Heat)
* stack-list (Heat)
* stack-output (Heat)
* stack-preview (Heat)
* stack-list-resources (Heat)
* stack-list-resource-types (Heat)
* stack-list-template-functions (Heat)
* stack-list-template-versions (Heat)
* stack-mark-resource-unhealthy (Heat)
* stack-resource-type-template (Heat)
* stack-show (Heat)
* stack-show-resource (Heat)
* stack-show-resource-type (Heat)
* stack-show-unhealthy-resource (Heat)
* stack-signal-resource (Heat)
* stack-software-config (Heat)
* stack-tag (Heat)
* stack-template (Heat)
* stack-update (Heat)
Advisory Capabilities
-----------------------
None
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Designated Sections
=====================================
The following designated sections apply to the same releases as
this specification.
Required Designated Sections
----------------------------
* Heat : Must at a minimum include resources for OpenStack Powered Compute
components.
Advisory Designated Sections
----------------------------
None
Deprecated Designated Sections
------------------------------
None
Removed Designated Sections
---------------------------
None
============================================================
OpenStack Interoperability Guideline shared_file_system.next
============================================================
:Status: draft
:Replaces: shared_file_system.2022.11
:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/shared_file_system.next.json
This document outlines the mandatory capabilities and designated
sections required to exist in a software installation in order to
be eligible to use marks controlled by the OpenStack Foundation.
This document was generated from the `<shared_file_system.next.json>`_.
Releases Covered
==============================
Applies to Xena, Yoga, Zed, Antelope
OS_powered_shared_file_system Component Capabilities
====================================================
Required Capabilities
-----------------------
* share-list-api-versions (Manila)
* share-create-delete (Manila)
* share-get (Manila)
* share-list (Manila)
* share-update (Manila)
* share-extend (Manila)
* share-shrink (Manila)
* share-network-create-delete (Manila)
* share-network-update (Manila)
* share-network-get (Manila)
* share-network-list (Manila)
Advisory Capabilities
-----------------------
None
Deprecated Capabilities
-------------------------
None
Removed Capabilities
----------------------
None
Designated Sections
=====================================
The following designated sections apply to the same releases as
this specification.
Required Designated Sections
----------------------------
* Manila : The Shared File Systems v2 API (with microversions) is designated
Advisory Designated Sections
----------------------------
None
Deprecated Designated Sections
------------------------------
None
Removed Designated Sections
---------------------------
None

View File

@@ -1,46 +0,0 @@
=======================
Guideline Documentation
=======================
Latest Guideline
----------------
.. toctree::
:maxdepth: 1
:includehidden:
all.2022.11
Proposed Guideline
------------------
.. toctree::
:maxdepth: 1
:includehidden:
all.next
Previous Guidelines
-------------------
.. toctree::
:maxdepth: 1
:includehidden:
all.2022.06
all.2021.11
all.2020.11
all.2020.06
all.2019.11
all.2019.06
all.2018.11
2018.02
2017.09
2017.01
2016.08
2016.01
2015.07
2015.05
2015.04
2015.03

View File

@@ -1,189 +0,0 @@
=========================================
OpenStack Interoperability Guideline next
=========================================
:Status: draft
:Replaces: 2017.01
:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/guidelines/next.json
This document outlines the mandatory capabilities and designated
sections required to exist in a software installation in order to
be eligible to use marks controlled by the OpenStack Foundation.
This document was generated from the `master JSON version <next.json>`_.
Releases Covered
==============================
Applies to Mitaka, Newton, Ocata, Pike
Platform Components
==============================
:Required: Compute, Object
:Advisory: None
:Deprecated: None
:Removed: None
Compute Component Capabilities
==============================
Required Capabilities
-----------------------
* compute-images-create (Nova)
* compute-images-delete (Nova)
* compute-images-get (Nova)
* compute-images-list (Nova)
* compute-instance-actions-get (Nova)
* compute-instance-actions-list (Nova)
* compute-keypairs-create (Nova)
* compute-quotas-get (Nova)
* compute-servers-create (Nova)
* compute-servers-delete (Nova)
* compute-servers-get (Nova)
* compute-servers-host (Nova)
* compute-servers-invalid (Nova)
* compute-servers-list (Nova)
* compute-servers-lock (Nova)
* compute-servers-name (Nova)
* compute-servers-reboot (Nova)
* compute-servers-rebuild (Nova)
* compute-servers-resize (Nova)
* compute-servers-stop (Nova)
* compute-servers-update (Nova)
* compute-servers-verify (Nova)
* compute-volume-attach (Nova)
* compute-volume-get (Nova)
* compute-volume-list (Nova)
* compute-servers-metadata-delete (Nova)
* compute-servers-metadata-get (Nova)
* compute-servers-metadata-list (Nova)
* compute-servers-metadata-set (Nova)
* compute-servers-metadata-update (Nova)
* compute-list-api-versions (Nova)
* identity-v3-api-discovery (Keystone)
* identity-v3-tokens-create (Keystone)
* images-v2-index (Nova)
* images-v2-remove (Glance)
* images-v2-update (Glance)
* images-v2-share (Glance)
* images-v2-import (Glance)
* images-v2-list (Glance)
* images-v2-delete (Glance)
* images-v2-get (Glance)
* networks-l2-CRUD (Neutron)
* networks-security-groups-CRUD (Neutron)
* volumes-v2-create-delete (Cinder)
* volumes-v2-attach-detach (Cinder)
* volumes-v2-snapshot-create-delete (Cinder)
* volumes-v2-get (Cinder)
* volumes-v2-list (Cinder)
* volumes-v2-update (Cinder)
* volumes-v2-copy-image-to-volume (Cinder)
* volumes-v2-clone (Cinder)
* volumes-v2-availability-zones (Cinder)
* volumes-v2-extensions (Cinder)
* volumes-v2-metadata (Cinder)
* volumes-v2-reserve (Cinder)
* volumes-v2-readonly (Cinder)
Advisory Capabilities
-----------------------
* networks-l3-router (Neutron)
* networks-l3-CRUD (Neutron)
* images-v2-remove (Glance)
* images-v2-update (Glance)
* images-v2-share (Glance)
* images-v2-import (Glance)
* images-v2-list (Glance)
* images-v2-delete (Glance)
* images-v2-get (Glance)
* volumes-v2-upload (Cinder)
Deprecated Capabilities
-------------------------
* compute-auth-create (Nova)
* compute-auth-get (Nova)
* compute-auth-set (Nova)
Removed Capabilities
----------------------
* identity-v2-tokens-create (Keystone)
* compute-servers-change (Nova)
Object Component Capabilities
=============================
Required Capabilities
-----------------------
* objectstore-object-copy (Swift)
* objectstore-object-create (Swift)
* objectstore-object-delete (Swift)
* objectstore-object-get (Swift)
* objectstore-object-put (Swift)
* objectstore-object-upload (Swift)
* objectstore-object-versioned (Swift)
* objectstore-temp-url-get (Swift)
* identity-v3-tokens-create (Keystone)
Advisory Capabilities
-----------------------
* objectstore-account-quotas (Swift)
* objectstore-account-list (Swift)
* objectstore-container-acl (Swift)
* objectstore-container-quotas (Swift)
* objectstore-container-create (Swift)
* objectstore-container-delete (Swift)
* objectstore-container-list (Swift)
Deprecated Capabilities
-------------------------
* objectstore-object-access (Swift)
Removed Capabilities
----------------------
* identity-v2-tokens-create (Keystone)
Designated Sections
=====================================
The following designated sections apply to the same releases as
this specification.
Required Designated Sections
----------------------------
* Cinder : Designated sections are the API implementation code
* Glance : Designated sections are the API implementation code and domain
model.
* Keystone : Designation is outlined per API grouping. Identity (user and
group) management APIs will not be designated. API access (with exception of
auth) may be prohibited by policy (resulting in HTTP 403). Designated APIs
include both v2.0 and v3 versions where applicable.
* Nova : By default, designated except scheduler, filter, drivers, API
extensions and networking.
* Swift : Designated sections are proxy server, object server, container
server, account server and select middleware
Advisory Designated Sections
----------------------------
* Neutron : By default, designated for all code backing required capabilities
except plugable components such as plugins, drivers, and API extensions other
than those listed below.
Deprecated Designated Sections
------------------------------
None
Removed Designated Sections
---------------------------
None

View File

@@ -1,5 +0,0 @@
=======
Hacking
=======
.. include:: ../../HACKING.rst

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

View File

@@ -1,41 +0,0 @@
Interop Working Group Documentation
===================================
This Committee was formed during the OpenStack Ice House Summit in Hong Kong
by Board Resolution on 11/4.
Interop Working Group sets base requirements by defining:
1. capabilities,
2. code and
3. must-pass tests for all OpenStack products.
This definition uses community resources and involvement to drive
interoperability by creating the minimum standards for products labeled
"OpenStack."
Our mission is to define "OpenStack Core" that is supported by all
implementations as chartered by the by-laws.
Tools for Interoperability Testing
----------------------------------
* `refstack <https://docs.opendev.org/openinfra/refstack/latest/>`_
is a user interface to display individual test run results, it is deployed
`at this page <https://refstack.openstack.org/#/>`_.
* `refstack-client <https://docs.opendev.org/openinfra/refstack-client/latest/>`_
is a command line utility that allows user to execute Tempest test runs based
on the specified configuration. When finished running Tempest, it can send
the test results to the RefStack server.
Content:
--------
.. toctree::
:maxdepth: 2
process/index
schema/index
guidelines/index
contributing
hacking

View File

@@ -1,466 +0,0 @@
===========================================================
DefCore Committee Fall 2016 Interoperability Issues Report
===========================================================
.. contents:: Table of Contents
About This Document
--------------------
OpenStack is tremendously flexible, feature-rich, powerful software that can be
used to create clouds that fit a wide variety of use cases including software
development, web services and e-commerce, network functions virtualization
(NFV), video processing, and content delivery to name a few. Commercial
offerings built on OpenStack are available as public clouds, installable
software distributions, managed private clouds, appliances, and services.
OpenStack can be deployed on thousands of combinations of underpinning storage,
network, and compute hardware and software. Because of the incredible amount
of flexibility OpenStack offers and the constraints of the many use cases it
can address, interoperability between OpenStack clouds isn't always assured:
due to various choices deployers make, different clouds may have some
inconsistent behaviors.
One of the goals of the DefCore Committee's work is to create strong
interoperability standards so that end users of clouds can expect certain
behaviors to be consistent between different OpenStack Powered clouds and
products. As the DefCore Committee has gone about its work of defining
Interoperability Guidelines over the past few years, it has encountered various
barriers to interoperability among OpenStack Powered clouds. The DefCore
Committee seeks to work with the rest of the OpenStack Community to reduce or
eliminate these barriers and recognize work that is being done to promote
interoperability for end users of OpenStack Powered clouds.
To that end, the DefCore Committee has chosen to create a semi-annual report
that highlights a few key interoperability challenges that the Committee has
identified in the course of creating its
`Interoperability Guidelines <../guidelines/>`_. This report is not intended
to be a comprehensive listing of all barriers to interoperability among
OpenStack clouds--rather, it seeks to call out a small, actionable subset
of those barriers to highlight their importance and request the
community's focus toward discussing and resolving them. This report is
also not intended to be critical of the work of OpenStack developers: its
intent is to communicate feedback that the DefCore Committee has received
constructively so that the issues are known to the Technical Committee
and Project Teams and to enable discussion and improvement. The report also
highlights known issues so that OpenStack deployers are aware of some choices
they make when deploying OpenStack, and so that end users of OpenStack clouds
are aware of some of the issues they may face when working with different
OpenStack clouds.
The issues highlighted in this report are listed in no particular order,
as their importance varies for different users and use cases. This report
is intended to be periodically updated so that we can report on new issues
that arise and progress being made on existing issues.
This report is not intended to prescribe or mandate solutions to
interoperability problems. Often, the resolution to interoperability issues
may involve changes to the OpenStack software, and while the DefCore Committee
is generally happy to engage in creating solutions, technical governance is
not the domain of the DefCore Committee or the Board of Directors. Rather,
this report is intended to inform the Technical Committee and Project Teams
about issues so that they can take action as they see fit.
Finally, the DefCore Committee would like to take this opportunity to thank
the OpenStack community for its continued attention to interoperability
issues. We congratulate OpenStack on its progress toward becoming "a
ubiquitous Open Source Cloud Computing platform that is easy to use, simple
to implement, interoperable between deployments, works well at all scales,
and meets the needs of users and operators of both public and private clouds."
About The DefCore Committee
----------------------------
The OpenStack DefCore Committee was formed during the OpenStack Icehouse Summit
in Hong Kong by a Board of Directors Resolution on November 4, 2013. DefCore
sets base requirements by defining 1) capabilities, 2) code, and 3) must-pass
tests for all OpenStack products. This definition uses community resources
and involvement to drive interoperability by creating the minimum standards
for products labeled "OpenStack." For more information about the DefCore
Committee, please refer to the following resources:
* The `Core Definition
<http://opendev.org/openinfra/interop/raw/branch/master/doc/source/process/CoreDefinition.rst>`_
document describes the DefCore Committee's guiding principals.
* The `2016A Process document
<http://opendev.org/openinfra/interop/raw/branch/master/doc/source/process/2016A.rst>`_
describes some of the DefCore Committee's operating procedures.
* The `Core Criteria document
<http://opendev.org/openinfra/interop/raw/branch/master/doc/source/process/CoreCriteria.rst>`_
describes the criteria the DefCore Committee uses to evaluate Capabilities
for inclusion in its Interoperability Guidelines.
* The `DefCore Lexicon <http://opendev.org/openinfra/interop/raw/branch/master/doc/source/process/Lexicon.rst>`_
defines some of the terminology the DefCore Committee uses, including some
terms that are used in this report.
* The `OpenStack Interoperability page
<http://www.openstack.org/brand/interop/>`_ describes the logo/trademark
programs that the DefCore Committee's Interoperability Guidelines govern
admission to. As of this writing, some 38 OpenStack Powered products have
verified that they meet the program requirements and are listed in the
`OpenStack Marketplace <http://www.openstack.org/marketplace>`_,
including
`7 public clouds <http://www.openstack.org/marketplace/public-clouds/>`_,
`27 distributions and appliances <http://www.openstack.org/marketplace/distros/>`_,
and `4 hosted private clouds <http://www.openstack.org/marketplace/hosted-private-clouds/>`_.
You can communicate with the DefCore Committee via email at
defcore-committee@lists.openstack.org, or on IRC in the #openstack-defcore
channel on freednode.net.
Issue 1: Testing Interoperability
----------------------------------
In order for OpenStack Powered clouds to prove that they behave consistently,
the DefCore Committee requires that certain tests be successfully run against
the cloud or product in question. These tests are listed in the DefCore
Committee's Interoperability Guidelines. To date, all of the tests that the
DefCore Committee has selected for its Guidelines are maintained by the
OpenStack Community in Tempest [1]_. Since no formal interoperability program
existed prior to the DefCore Committee's creation, in some sense the decision
to use Tempest tests as the basis of interoperability testing put Tempest
tests in the position of being "used in a new way" compared to the use cases
they were originally written for. The introduction of a new way to use
Tempest has surfaced some design choices that were made that are better
suited to the "traditional" uses for Tempest (such as CI testing at the
development gates) than for interoperability testing.
One example of such an issue is implicit test requirements. For instance, a
test might be written to test that Nova can boot an instance using the v2 API.
In order to boot an instance, a user must first have an image stored in Glance
to boot from. OpenStack provides several different ways to create a bootable
image, not all of which may meet DefCore Criteria [2]_ for inclusion in an
interoperability Guideline. For example, the Glance v1 API may not be
available to all users of some clouds since although v1 is "SUPPORTED", v2 is
the "CURRENT" version of the Glance API. [3]_ Some clouds may disallow
uploading an image by policy and only allow users to use the Glance task API.
If the test for booting an instance also attempts to create an image to boot
using a method that doesn't meet DefCore Criteria, then passing the test
effectively requires that a cloud support a Capability that the DefCore
Committee did not intend to require.
As a second example, Interoperability Guidelines may cover releases that are
commonly deployed and used in commercial products but are no longer tested in
the upstream CI gate due to the branches `having reached end-of-life
<http://releases.openstack.org/>`_ in the development community. Because
Tempest has traditionally focused its efforts on non-EOL branches, changes
may be made to the tests that make them unusable with older releases. Since
DefCore Criteria generally favor capabilities and APIs that are long-lived
across multiple releases, this problem has not frequently manifested to date.
However, there is potential for it to become more of an issue in the future.
As a third example, DefCore has chosen to only include tests in its
Guidelines that can be repeated by end users of clouds in order to ensure that
end users can verify whether or not a cloud they're considering using is
in fact interoperable with others. This constraint means that tests that
require administrator credentials are unsuitable for Interoperability
Guidelines, since end users of clouds typically don't have administrative
privileges. Some tests use administrative credentials for reasons of code
efficiency (for instance, a base class might use administrative credentials
because some tests that use it may genuinely need them, while others do not).
Because not all existing tests are suitable for inclusion in Interoperability
Guidelines, the DefCore Committee has at times been unable to include
a Capability in the Guidelines in spite of the Capability meeting the
DefCore Criteria. As a result, users of OpenStack Powered clouds are unable
to rely on those Capabilities to be present and functional.
The DefCore Committee recognizes that using existing tests for a new purpose
may sometimes require tests to be refined or even for new tests to be written.
In order for good interoperability tests to be developed, the DefCore
Committee has `created a specification
<http://opendev.org/openinfra/interop/raw/branch/master/working_materials/DefCoreSpec.rst>`_
that discusses what traits we look for in a test that is suitable for inclusion
in the Interoperability Guidelines. It is our hope that this listing will help
foster awareness and understanding within the development community as tests
are created, updated, or moved into Tempest over time.
.. [1] Notably, in 2016 the Technical Committee passed
`a resolution
<https://governance.openstack.org/resolutions/20160504-defcore-test-location.html>`_
indicating its preference that the DefCore Committee use tests in
the Tempest source tree for its Guidelines.
.. [2] Refer to the
`Core Criteria
<http://opendev.org/openinfra/interop/raw/branch/master/doc/source/process/CoreCriteria.rst>`_
document for more details.
.. [3] As of this writing. Refer to the
`OpenStack API Complete Reference <http://developer.openstack.org/api-ref.html>`_
for more information.
Issue 2: Varying Models for API Evolution
------------------------------------------
APIs are a very important contact point between the OpenStack software and
end users: whether they're using one of OpenStack's own clients, a third
party management tool, or an SDK developed outside of the OpenStack community,
they all end up using OpenStack's APIs in some way.
OpenStack also has a very diverse community of projects under the Big Tent in
various stages of development: some have been around since the beginning of
OpenStack and have mature, fairly stable APIs. Others are new and evolving
quickly and may iterate on their APIs faster. Some projects have moved to
a microversioning model [4]_, others haven't. Some projects that have gone
through major-version API changes over time have elected to continue supporting
older versions of their API for long periods, while others have chosen to
deprecate and remove older versions of their API relatively quickly. At times,
announced plans to make modifications to which APIs are CURRENT, SUPPORTED,
and DEPRECATED have changed, and feedback we've received indicates that
communication around API changes isn't always clear and consistent to
parties outside of the OpenStack ecosystem (for example: developers of third
party SDKs and tools that don't regularly read posts on the high-volume
openstack-dev@lists.openstack.org mailing list and may not regularly attend
project IRC meetings). API transitions for projects that depend on one another
within OpenStack aren't always handled uniformly: sometimes one project
continues to call an older version of another project's API for quite some
time after a newer version is released [5]_. Some "tribal knowledge" has
also developed within OpenStack over time: for example, APIs that OpenStack
developers themselves say should only be used internally by other OpenStack
services and shouldn't be exposed to end users (documentation of which may
be scant or non-existent).
OpenStack has and wishes to maintain a rich ecosystem of tools that consume
OpenStack's services but are developed outside of OpenStack itself, and
many users of OpenStack clouds depend on this ecosystem [6]_ when developing
applications for OpenStack clouds.
Differences in how OpenStack projects handle API transitions and in how
transitions and plans are communicated to the outside world at times make
it difficult to know when external tools need to be updated. For example,
some external toolkits may be surprised when an API becomes deprecated quickly
for one project after observing another project maintain older versions of an
API indefinitely. They may rely on an API version being exposed to end users
that many clouds don't actually expose. Updating external tools and clients
requires real time and effort from their maintainers, so some may be reluctant
to move to a newer API version unless it's very clear to them that there is
added value in doing so or that they absolutely need to because the version
they're currently using is being removed.
When APIs become inconsistently adopted either within OpenStack or among
external tools, those inconsistencies are often reflected in certain
capabilities failing to meet DefCore Criteria. For example, if many
third party SDKs are split between supporting Glance v1 and Glance v2,
those individual APIs may have trouble achieving the "Used by Tools"
criteria. If OpenStack's own clients and other projects keep relying on
an older API, the new API may be unable to achieve the "Used by Clients"
and "Foundation" criteria. If APIs are iterated quickly between versions of
OpenStack or only some clouds disable a particular version of an API from being
consumed by end users, the API may be unable to achieve the "Widely Deployed"
criteria. Failing to meet Criteria means that a capability can't be introduced
into an Interoperability Guideline since it is not, in fact, interoperable.
.. [4] For example, refer to
`Nova's Microversions documentation
<http://developer.openstack.org/api-guide/compute/microversions.html>`_.
.. [5] As an example, the Glance v1 API was moved from CURRENT to SUPPORTED status
in the spring of 2015 in the Kilo release. Nova will continue to depend
on the v1 API until the Newton release in the fall of 2016. Refer to
the Nova `Add support for Glance v2 API Spec
<https://specs.openstack.org/openstack/nova-specs/specs/newton/approved/use-glance-v2-api.html>`_
for more information.
.. [6] Refer to page 22 of the
`April 2016 User Survey
<https://www.openstack.org/assets/survey/April-2016-User-Survey-Report.pdf>`_
for examples, a few of which include libcloud, FOG, jclouds, Terraform,
and clients that users wrote themselves.
Issue 3: External Network Connectivity
---------------------------------------
Networking is a complex topic by its very nature: different use cases or
organizational constraints may demand different network models. OpenStack
in turn provides a great deal of flexibility in networking, with several
models available in Neutron. For many users of clouds, the ability to
get a compute instance connected to the outside world is a particularly
important capability. For example, a popular use case for OpenStack is
"web services and e-commerce" [7]_. E-commerce platforms generally feature
some webserver instances that need publicly routable IP addresses so that
customers can reach the site. Another popular use case is
"Software dev/test/QA and CI", and many continuous integration systems need to
pull packages and software updates from repositories outside of their own
networks.
OpenStack provides many options for getting external connectivity to compute
instances: in some cases, users create a private network and attach floating
IP addresses to instances that need to be reachable from the Internet. In
others, users must attach instances that they want to be reachable from the
public Internet to a specific administratively-created provider network. In
other cases, instances are booted onto a specific network that provides
external reachability by default.
Unfortunately, the differing network models that OpenStack provides for also
introduce some complexity for clients and app developers: the method they use
to get external reachability differs from cloud to cloud. Discovering the
correct method can be complicated, and is often done by reading documentation
provided by the cloud administrator rather than programmatically. Once the
user discerns the correct methods for each cloud they want to use, they are
still often forced to complicate their code with if/else loops or similar
constructs because of the varying models in use:
.. code:: python
if cloud == 'Cloud A':
# The IP address we were given at boot time is public; do nothing.
elif cloud == 'Cloud B':
attach_floating_ip_to_instance(myinstance)
elif cloud == 'Cloud C':
attach_instance_to_network('c8c43765-53cf-4030-a115-a89471ded2ed')
Because making an instance externally reachable is such a common need and
because the networking models used by deployers differ so greatly, this is
a particularly challenging issue for end users.
.. [7] Refer to page 35 of the
`April 2016 User Survey
<https://www.openstack.org/assets/survey/April-2016-User-Survey-Report.pdf>`_.
Issue 4: API and Policy Discoverability
----------------------------------------
OpenStack frequently offers more than one method to accomplish a given end-user
objective. For example: a user wishing to create an image might call Nova's
API to make an image of a currently running instance, or they might upload an
image through the Glance v1 API, the Glance v2 API, or they might use an import
task. All of these methods create an image, but all are different API calls.
Generally speaking, the mechanics are very different and are intended to
address different use cases. Sometimes the use cases are similar but the
API calls are different (for example, using a similar API call to the v1
endpoint vs the v2 endpoint). Further, most OpenStack projects offer policy
controls that can be configured by cloud administrators: for example, a cloud
administrator might disable the Glance v1 API for end users or might only
allow image creation via the task API (or indeed may not allow image creation
at all, and instead restrict users of the cloud to images created by
administrators). Further still, some capabilities may be exposed to some users
of clouds (for example, project administrators) but not others (project
members).
Discovering which capabilities and methods are available and accessible to
end users can be a somewhat frustrating exercise that often amounts to trial
and error:
.. code:: python
def create_image(image, cloud)
'''Create an image in a cloud.'''
try:
create_image_via_glance_v1_upload(image, cloud)
except ApiNotAvailableError:
try:
create_image_via_glance_v2_upload(image, cloud)
except UnauthorizedError:
try:
create_image_via_glance_import_task(image, cloud)
except:
print "I can't or don't know how to create an image in this cloud"
Some external tools and SDKs simply assume that certain capabilities are
available to all users which causes frustration for users of clouds in
which those capabilities are not available to them. The varying policy
settings and API versions available among differing clouds coupled with the
differing adoption of methods among clients may cause some Capabilities to not
meet DefCore Criteria.
In most cases, the versions of an API that are available are discoverable via
a GET request to the root URL of an API endpoint (though in some cases a
client may also need to check microversion headers if the project is known to
use microversions). In some cases there is no test coverage for the
discovery API in Tempest [8]_, which limits DefCore's ability to add tests
for the discovery API to an Interoperability Guideline. Policy is often
trickier to programmatically discover as policy files are only available
to cloud administrators.
The issue of discoverability also impacts what tests can be included in
Interoperability Guidelines in another way: some tests assume that particular
methods of accomplishing an end-user objective are available, and rely on
them to set up for the capability they actually want to test. Drawing on
the example above, a test for the ability to boot an instance in Nova might
need to create an image to boot, and might assume that Glance v1 is both
supported by the cloud and available to the unprivileged user running the test.
As per Issue 1 described previously in this document, if that method isn't
actually interoperable, the test for booting an instance may be excluded from
an Interoperability Guideline even if booting an instance is actually
an interoperable capability. If the test instead had a way to discover how the
cloud allowed the user to create images and implemented that method as part of
its fixture, the test would likely be more suitable for inclusion.
.. [8] As an example, Neutron did not have a Tempest test for the "list API
versions" API until
`one was created <https://review.openstack.org/#/c/311747/>`_
in June 2016 after the gap was identified during capabilities scoring
activities for the 2016.08 Interoperability Guideline.
Issue 5: Lack of Clarity on DefCore's Purpose and Abilities
------------------------------------------------------------
Although the DefCore Committee was initially created almost three years ago,
the program has taken some time to evolve its operating procedures and develop
Guidelines. Some further time elapsed before Guidelines included enough
required Capabilities to be genuinely useful as decision-making tools for
many consumers of OpenStack clouds, vendors designing products or services
built on OpenStack, prospective customers of those products and services, and
the tooling ecosystem. Over that time, the role of the DefCore Committee has
been a matter of many discussions within the community. For example, some
feedback we've received indicates that there is some sentiment that the
DefCore Committee can "bless" a capability by including it in an
Interoperability Guideline based on whether or not the Committee members feel
that all clouds should support the capability. In fact, most of the DefCore
Criteria are trailing indicators of whether or not a capability has become
widely adopted throughout the ecosystem. The DefCore Committee also does not
mandate technical decisions for projects such as when an API should be
deprecated, how or if a capability that has been deemed not interoperable must
be improved or replaced, or how Tempest tests should be designed. Technical
governance of OpenStack's development instead resides with the projects
themselves and ultimately with the Technical Committee.
The logo programs [9]_ that Interoperability Guidelines govern admission
to are designed to be simple. They allow a product or service built on
OpenStack to use a logo that indicates it is interoperable. The logo is a
very easily recognizable mark that indicates some base level of interoperable
functionality is available, and is thus easy for consumers of OpenStack clouds
to look for. However, users must dig a bit further to really understand which
Capabilities are actually interoperable. A list of Capabilities and required
tests are published with each Guideline, but the tests may not easily map to
particular APIs that users are interested in using. Users may also need to
compare different Guidelines to determine differences in the Capabilities
covered if they are concerned with clouds that have demonstrated compliance
with different Guidelines. Even armed with a list of tests, users may require
that some Capabilities not covered by the Guidelines be present in products
that they choose to use--and there's currently no good way for them to
determine which products support those Capabilities.
.. [9] Refer to: http://www.openstack.org/brand/interop/
Concluding Remarks and Acknowledgements
----------------------------------------
The DefCore Committee hopes that this report is informative and useful in
directing attention to current interoperability challenges. We believe that
focussing attention on these issues will ultimately lead to a more
interoperable ecosystem for OpenStack users. We believe that the OpenStack
ecosystem strongly desires interoperability among clouds, and congratulate
OpenStack on progress already being made toward fostering greater
interoperability among OpenStack clouds. We look forward to sharing updates
on these issues and more in future reports.
In particular, the DefCore Committee would like to gratefully acknowledge the
feedback and engagement we've received from:
* The OpenStack Foundation and its Board of Directors.
* The Technical Committee.
* The User Committee.
* Providers of products and services built on OpenStack.
* The RefStack project team.
* PTLs and Project Teams who contributed to identifying interoperable
Capabilities and working to improve the interoperability of their projects.
* The OpenStack QA team for its assistance in refining tests and working with
the DefCore Committee to expand and maintain interoperability tests.
* End users of OpenStack who've provided feedback and frank conversation.
Without the participation of such a broad swath of our community, this report
and indeed most of the DefCore Committee's work would not be possible. **Thank
you for your support.**
If you wish to provide feedback or engage the DefCore Committee in other ways,
please contact us at defcore-committee@lists.openstack.org.

View File

@@ -1,271 +0,0 @@
OpenStack DefCore Process 2015A
================================
:Status: Superseded (by 2015B)
:Replaces: none
This document describes the DefCore process required by the OpenStack
bylaws and approved by the OpenStack Technical Committee and Board.
Expected Time line:
---------------------------------------
+------------+-----------+--------------------------------------+-----------+
| Time Frame | Milestone | Activities | Lead By |
+============+===========+======================================+===========+
| -3 months | S-3 | \"Preliminary\" draft (from current) | DefCore |
+------------+-----------+--------------------------------------+-----------+
| -2 months | S-2 | ID new Capabilities | Community |
+------------+-----------+--------------------------------------+-----------+
| -1 month | S-1 | Score Capabilities | DefCore |
+------------+-----------+--------------------------------------+-----------+
| Summit | S | \"Solid\" draft | Community |
+ + +--------------------------------------+-----------+
| | | Advisory/Deprecated items selected | DefCore |
+------------+-----------+--------------------------------------+-----------+
| +1 month | S+1 | Self-testing | Vendors |
+------------+-----------+--------------------------------------+-----------+
| +2 months | S+2 | Test Flagging | DefCore |
+------------+-----------+--------------------------------------+-----------+
| +3 months | S+3 | Approve Guidance | Board |
+------------+-----------+--------------------------------------+-----------+
Note: DefCore may accelerate the process to correct errors and omissions.
Process Definition
--------------------------------------
The DefCore Guideline process has two primary phases: Draft and Review.
During the Draft phase (A), the DefCore Committee is working with community
leaders to update and score the components of the guideline. During the
Review phase (B), general community and vendors have an opportunity to
provide input and check the guidelines (C) against actual implementations.
Review phase ends with Board approval of the draft guideline (D).
This section provides specific rules and structure for each phase.
NOTE: To ensure continuity of discussion, process components defined below
must _not_ reuse numbers in future revisions. The numbering pattern
follows draft, section and sub-item numbering, e.g.: 2015A.B2.2. This
requirement may create numbering gaps in future iterations that will help
indicate changes.
Guidelines Draft Phase (A)
^^^^^^^^^^^^^^^^^^^^^^^^^^
Starting: S-3
A1. New Guidelines Start From Previous Guidelines
1. New Guidelines start from the previous Board approved document.
2. New Guidelines are given the preliminary name of the target year and
.next. (ref section D4)
A2. Community Groups Tests into Capabilities
1. DefCore Committee coordinates community activities with the Technical
Leadership to revise the capabilities based on current technical needs
and functionality.
2. Capabilities must correspond to projects which are part of the
"TC-approved release" as designated by the TC (see bylaws of the
Foundation, section 4.1(b)(iii)).
3. Groupings may change between iterations.
4. Tests must have unique identifiers that are durable across releases
and changes in grouping.
5. Tests must be under OpenStack Technical Committee governance.
6. The DefCore committee will provide the test groupings in JSON format
for scoring.
7. The DefCore committee will provide a human-readable summary of
the Guideline generated from the JSON version.
A3. DefCore Collects Recommendations for Designated Sections
1. Designated Sections will not be removed without being deprecated in the
previous Guideline.
2. Designated Sections will not be added without being advisory in the
previous Guideline.
3. Designated Sections will not be added or be made advisory unless the
corresponding code base is designated as part of the "TC-approved release"
by the Technical Committee (see bylaws of the Foundation, section
4.1(b)(iii)).
4. Technical leadership may, but is not required to, assist DefCore with
defining advisory sections for projects that have advisory or required
capabilities.
5. Designated Sections may be sufficiently defined for Guidelines using
general descriptions.
6. DefCore will present A3.4 descriptions to the Board for approval.
7. Technical leadership may, but is not required to, provide more specific
details describing the Designated Sections for a project.
8. Designated Sections will be included in the JSON Guideline.
A4. DefCore Committee identifies required capabilities
1. DefCore uses Board approved DefCore scoring criteria to evaluate
capabilities.
2. DefCore needs Board approval to change scoring
criteria.
3. Scoring criteria factor or weights cannot change after Draft is
published.
4. DefCore identifies cut-off score for determining that a
capability is required.
5. Capabilities will not be removed without being deprecated in the
previous Guideline.
6. Capabilities will not be added without being advisory in the previous
Guideline.
A5. Foundation Staff recommends OpenStack Components and OpenStack Platform
Scope
1. Foundation Staff recommends capabilities to include in each OpenStack
Component.
2. Foundation Staff recommends which Components are required for
the OpenStack Platform.
A6. Additional Capabilities and Tests
1. DefCore will work with the community to define new capabilities.
2. Test grouping for new capabilities will be included in the DefCore
documents.
3. DefCore will publish a list of missing capabilities and capabilities with
inadequate test coverage.
A7. DefCore Committee creates recommendation for Draft.
1. DefCore Committee coordinates activities to create draft.
2. DefCore Committee may choose to ignore recommendations with documented
justification.
Guidelines Review Phase (B)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Starting: Summit
B1. All Reference Artifacts are reviewed via Gerrit
1. Draft Guideline
2. Designated sections
3. Test-Capability groupings
4. Flagged Test List
5. Capability Scoring criteria and weights
6. Not in Gerrit: Working materials (spreadsheets, etc)
B2. Presentation of Draft Guidelines for Review
1. DefCore will present Draft Guidelines to the Board for review.
2. DefCore will distribute Draft Guidelines to the community for review.
3. Foundation Staff will provide Draft Guidelines to vendors for review.
4. A link to the Gerrit document must be provided with the review materials.
B3. Changes to Guideline made by Gerrit Review Process
1. Community discussion including vendors must go through Gerrit.
2. All changes to draft must go through Gerrit process.
3. DefCore will proxy for users who do not participate in the Gerrit process
with attribution.
B4. For Gerrit reviews, DefCore CoChairs act as joint PTLs
1. Board committee members of DefCore serve as "core" reviewers (+2).
2. Requests for changes must be submitted as patches by the requesting
party.
3. DefCore Committee members may proxy change requests as long as the
requesting party is explicitly acknowledged.
Community Review & Vendor Self-Test (C)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Starting: S and continues past S+3
C1. Vendor Self-Tests
1. Vendors are responsible for executing tests identified by the
DefCore committee.
2. The Foundation may, but is not required to, provide tooling for
running tests.
3. The Foundation may, but is not required to, define a required
reporting format.
4. Self-test results may be published by Vendors in advance of Foundation
review, but must be clearly labeled as "Unofficial Results - Not Yet
Accepted By The OpenStack Foundation".
5. Vendors who publish self-tests MUST provide them in the same format that
would be submitted to the OpenStack Foundation but MAY provide additional
formats if they choose to do so.
6. Self-test results cannot be used as proof of compliance.
C2. Vendor submits results to Foundation for review
1. The Foundation determines the acceptable format for submissions.
2. The Foundation has final authority to determine if Vendor meets
criteria.
3. The Foundation will provide a review of the results within 30 days.
C3. Vendor Grievance Process
1. Vendors may raise concerns with specific tests to the DefCore
committee.
2. The DefCore committee may choose to remove tests from a Guideline
(known as flagging).
3. The DefCore committee will acknowledge vendor requests to flag tests
within 30 days.
4. Vendors may not request flagging all tests in a capability.
C4. Results of Vendor Self-Tests will be open
1. The Foundation will make the final results of approved vendors
available to the community.
2. The Foundation will not publish incomplete or unapproved results.
3. Only "pass" results will be reported. Skipped and failed results will
be omitted from the reports.
4. Reports will include individual test results, not just capability
scoring.
C5. API Usage Data Report
1. The Foundation will provide DefCore committee with an open report
about API usage based on self-tests.
2. To the extent the data is available, capabilities beyond the DefCore
list will be included in the report.
Guideline Approval (D)
^^^^^^^^^^^^^^^^^^^^^^
Starting: S+3
D1. Board will review and approve DefCore Guideline from draft
1. Guidelines are set at the Platform, Component and Capability level
only.
2. The DefCore Committee will submit the human-readable summary of
capabilities (see section A2[6]) to the Board for approval.
3. By voting to approve the summary, the Board delegates responsibility
for maintaining test groupings to the DefCore committee subject to
the limitations described in section D2.
4. Guidelines only apply to the identified releases (a.k.a. release
tags).
D2. DefCore Committee has authority on test categorization
1. DefCore Committee can add flagged tests before and after Guideline
approval.
2. DefCore Committee cannot add additional Tests to Capability mappings
after approval.
3. DefCore Committee maintains the test to capability mappings in the
JSON representation.
D3. Designated sections only enforced for projects with required capabilities
1. Designated sections may be defined for any project.
2. Designated sections apply to the releases (a.k.a. release tags)
identified in the Guideline.
3. Designated sections will be included in the JSON Capabilities file
to ensure a single source of identification.
D4. Guidelines are named based on the date of Board approval
1. Naming pattern will be: 4-digit year, dot (period), and 2-digit month.
Functional Information
----------------------
:Format: RestructuredText
:Layout: 1.0

View File

@@ -1,298 +0,0 @@
OpenStack DefCore Process 2015B
================================
:Status: Superseded (by 2016A)
:Replaces: 2015A
This document describes the DefCore process required by the OpenStack
bylaws and approved by the OpenStack Technical Committee and Board.
Expected Time line:
---------------------------------------
+------------+-----------+--------------------------------------+-----------+
| Time Frame | Milestone | Activities | Lead By |
+============+===========+======================================+===========+
| -3 months | S-3 | Draft status | DefCore |
+------------+-----------+--------------------------------------+-----------+
| -2 months | S-2 | ID new Capabilities | Community |
+------------+-----------+--------------------------------------+-----------+
| -1 month | S-1 | Score Capabilities | DefCore |
+------------+-----------+--------------------------------------+-----------+
| Summit | S | Review status | Community |
+ + +--------------------------------------+-----------+
| | | Advisory/Deprecated items selected | DefCore |
+------------+-----------+--------------------------------------+-----------+
| +1 month | S+1 | Self-testing | Vendors |
+------------+-----------+--------------------------------------+-----------+
| +2 months | S+2 | Test Flagging | DefCore |
+------------+-----------+--------------------------------------+-----------+
| +3 months | S+3 | Approve Guidance | Board |
+------------+-----------+--------------------------------------+-----------+
Note: DefCore may accelerate the process to correct errors and omissions.
Process Definition
--------------------------------------
The DefCore Guideline process has two primary phases: Draft and Review.
During the Draft phase (A), the DefCore Committee is working with community
leaders to update and score the components of the guideline. During the
Review phase (B), general community and vendors have an opportunity to
provide input and check the guidelines (C) against actual implementations.
Review phase ends with Board approval of the draft guideline (D).
This section provides specific rules and structure for each phase.
NOTE: To ensure continuity of discussion, process components defined below
must _not_ reuse numbers in future revisions. The numbering pattern
follows draft, section and sub-item numbering, e.g.: 2015A.B2.2. This
requirement may create numbering gaps in future iterations that will help
indicate changes.
Guidelines Draft Phase (A)
^^^^^^^^^^^^^^^^^^^^^^^^^^
Starting: S-3
A1. New Guidelines Start From Previous Guidelines
1. New Guidelines start from the previous Board approved document.
2. New Guidelines are given the preliminary name of "next.json".
A2. Community Groups Tests into Capabilities
1. DefCore Committee coordinates community activities with the Technical
Leadership to revise the capabilities based on current technical needs
and functionality.
2. Capabilities must correspond to projects which are part of the
"TC-approved release" as designated by the TC (see bylaws of the
Foundation, section 4.1(b)(iii)).
3. Groupings may change between iterations.
4. Tests must have unique identifiers that are durable across releases
and changes in grouping.
5. Tests must be under OpenStack Technical Committee governance.
6. The DefCore committee will provide the test groupings in JSON format
for scoring.
7. The DefCore committee will provide a human-readable summary of
the Guideline generated from the JSON version.
A3. DefCore Collects Recommendations for Designated Sections
1. Designated Sections will not be removed without being deprecated in the
previous Guideline.
2. Designated Sections will not be added without being advisory in the
previous Guideline.
3. Designated Sections will not be added or be made advisory unless the
corresponding code base is designated as part of the "TC-approved release"
by the Technical Committee (see bylaws of the Foundation, section
4.1(b)(iii)).
4. Technical leadership may, but is not required to, assist DefCore with
defining advisory sections for projects that have advisory or required
capabilities.
5. Designated Sections may be sufficiently defined for Guidelines using
general descriptions.
6. DefCore will present A3.4 descriptions to the Board for approval.
7. Technical leadership may, but is not required to, provide more specific
details describing the Designated Sections for a project.
8. Designated Sections will be included in the JSON Guideline.
A4. DefCore Committee identifies required capabilities
1. DefCore uses Board approved DefCore scoring criteria to evaluate
capabilities.
2. DefCore needs Board approval to change scoring
criteria.
3. Scoring criteria factor or weights cannot change after Draft is
published.
4. DefCore identifies cut-off score for determining that a
capability is required.
5. Capabilities will not be removed without being deprecated in the
previous Guideline.
6. Capabilities will not be added without being advisory in the previous
Guideline.
7. For level of "widely deployed" adoption criteria, the size of the
pool being considered will match the scope of the community being
considered. Capabilities will be evaluated based on their use in their
component. Components will be evaluated based on their use in the
Platform.
A5. Foundation Staff recommends OpenStack Components and OpenStack Platform
Scope
1. Foundation Staff recommends capabilities to include in each OpenStack
Component.
2. Foundation Staff recommends which Components are required for
the OpenStack Platform.
3. To support the Foundation recommendation, DefCore will apply the approved
scoring criteria to evaluate if a component should be included in the
platform (see A4).
A6. Additional Capabilities and Tests
1. DefCore will work with the community to define new capabilities.
2. Test grouping for new capabilities will be included in the DefCore
documents.
3. DefCore will publish a list of missing capabilities and capabilities with
inadequate test coverage.
A7. DefCore Committee creates recommendation for Draft.
1. DefCore Committee coordinates activities to create draft.
2. DefCore Committee may choose to ignore recommendations with documented
justification.
Guidelines Review Phase (B)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Starting: Summit
B1. All Reference Artifacts are reviewed via Gerrit
1. Draft Guideline
2. Designated sections
3. Test-Capability groupings
4. Flagged Test List
5. Capability Scoring criteria and weights
6. Not in Gerrit: Working materials (spreadsheets, etc)
B2. Presentation of Draft Guidelines for Review
1. DefCore will present Draft Guidelines to the Board for review.
2. DefCore will distribute Draft Guidelines to the community for review.
3. Foundation Staff will provide Draft Guidelines to vendors for review.
4. A link to the Gerrit document must be provided with the review materials.
B3. Changes to Guideline made by Gerrit Review Process
1. Community discussion including vendors must go through Gerrit.
2. All changes to draft must go through Gerrit process.
3. DefCore will proxy for users who do not participate in the Gerrit process
with attribution.
B4. For Gerrit reviews, DefCore CoChairs act as joint PTLs
1. Board committee members of DefCore serve as "core" reviewers (+2).
2. Requests for changes must be submitted as patches by the requesting
party.
3. DefCore Committee members may proxy change requests as long as the
requesting party is explicitly acknowledged.
Community Review & Vendor Self-Test (C)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Starting: S and continues past S+3
C1. Vendor Self-Tests
1. Vendors are responsible for executing tests identified by the
DefCore committee.
2. The Foundation may, but is not required to, provide tooling for
running tests.
3. The Foundation may, but is not required to, define a required
reporting format.
4. Self-test results may be published by Vendors in advance of Foundation
review, but must be clearly labeled as "Unofficial Results - Not Yet
Accepted By The OpenStack Foundation".
5. Vendors who publish self-tests MUST provide them in the same format that
would be submitted to the OpenStack Foundation but MAY provide additional
formats if they choose to do so.
6. Self-test results cannot be used as proof of compliance.
C2. Vendor submits results to Foundation for review
1. The Foundation determines the acceptable format for submissions.
2. The Foundation has final authority to determine if Vendor meets
criteria.
3. The Foundation will provide a review of the results within 30 days.
C3. Vendor Grievance Process
1. Vendors may raise concerns with specific tests to the DefCore
committee.
2. The DefCore committee may choose to remove tests from a Guideline
(known as flagging).
3. The DefCore committee will acknowledge vendor requests to flag tests
within 30 days.
4. Vendors may not request flagging all tests in a capability.
C4. Results of Vendor Self-Tests will be open
1. The Foundation will make the final results of approved vendors
available to the community.
2. The Foundation will not publish incomplete or unapproved results.
3. Only "pass" results will be reported. Skipped and failed results will
be omitted from the reports.
4. Reports will include individual test results, not just capability
scoring.
5. Vendors are required to submit a description of the system and
configuration used to achieve the results.
6. The Foundation may require vendors to submit specific details of the
configuration and may also require use of a specific format for
reporting.
C5. API Usage Data Report
1. The Foundation will provide DefCore committee with an open report
about API usage based on self-tests.
2. To the extent the data is available, capabilities beyond the DefCore
list will be included in the report.
C6. Only Two Approved Guidelines at a time:
1. Vendors seeking Foundation validation are limited to using the two
latest approved Guidelines.
2. Since past validations are respected, older Guidelines will be
maintained as superseded for historical reference.
3. Guideline status progresses as follows:
:draft: initial work, pre-summit (S-3) discussion material
:review: as presented at summit (S) for community review
:approved: board approved, one of the two official guidelines
:superseded: board approved, now superseded by two latest guidelines
Guideline Approval (D)
^^^^^^^^^^^^^^^^^^^^^^
Starting: S+3
D1. Board will review and approve DefCore Guideline from draft
1. Guidelines are set at the Platform, Component and Capability level
only.
2. The DefCore Committee will submit the human-readable summary of
capabilities (see section A2[6]) to the Board for approval.
3. By voting to approve the summary, the Board delegates responsibility
for maintaining test groupings to the DefCore committee subject to
the limitations described in section D2.
4. Guidelines only apply to the identified releases (a.k.a. release
tags).
D2. DefCore Committee has authority on test categorization
1. DefCore Committee can add flagged tests before and after Guideline
approval.
2. DefCore Committee cannot add additional Tests to Capability mappings
after approval.
3. DefCore Committee maintains the test to capability mappings in the
JSON representation.
D3. Designated sections only enforced for projects with required capabilities
1. Designated sections may be defined for any project.
2. Designated sections apply to the releases (a.k.a. release tags)
identified in the Guideline.
3. Designated sections will be included in the JSON Capabilities file
to ensure a single source of identification.
D4. Guidelines are named based on the date of Board approval
1. Naming pattern will be: 4-digit year, dot (period), and 2-digit month.
Functional Information
----------------------
:Format: RestructuredText
:Layout: 1.0

View File

@@ -1,302 +0,0 @@
OpenStack DefCore Process 2016A
================================
:Status: Approved
:Replaces: 2015B
This document describes the DefCore process required by the OpenStack
bylaws and approved by the OpenStack Technical Committee and Board.
Expected Time line:
---------------------------------------
+------------+-----------+--------------------------------------+-----------+
| Time Frame | Milestone | Activities | Lead By |
+============+===========+======================================+===========+
| -3 months | S-3 | Draft status | DefCore |
+------------+-----------+--------------------------------------+-----------+
| -2 months | S-2 | ID new Capabilities | Community |
+------------+-----------+--------------------------------------+-----------+
| -1 month | S-1 | Score Capabilities | DefCore |
+------------+-----------+--------------------------------------+-----------+
| Summit | S | Review status | Community |
+ + +--------------------------------------+-----------+
| | | Advisory/Deprecated items selected | DefCore |
+------------+-----------+--------------------------------------+-----------+
| +1 month | S+1 | Self-testing | Vendors |
+------------+-----------+--------------------------------------+-----------+
| +2 months | S+2 | Test Flagging | DefCore |
+------------+-----------+--------------------------------------+-----------+
| +3 months | S+3 | Approve Guidance | Board |
+------------+-----------+--------------------------------------+-----------+
Note: DefCore may accelerate the process to correct errors and omissions.
Process Definition
--------------------------------------
The DefCore Guideline process has two primary phases: Draft and Review.
During the Draft phase (A), the DefCore Committee is working with community
leaders to update and score the components of the guideline. During the
Review phase (B), general community and vendors have an opportunity to
provide input and check the guidelines (C) against actual implementations.
Review phase ends with Board approval of the draft guideline (D).
This section provides specific rules and structure for each phase.
NOTE: To ensure continuity of discussion, process components defined below
must _not_ reuse numbers in future revisions. The numbering pattern
follows draft, section and sub-item numbering, e.g.: 2015A.B2.2. This
requirement may create numbering gaps in future iterations that will help
indicate changes.
Guidelines Draft Phase (A)
^^^^^^^^^^^^^^^^^^^^^^^^^^
Starting: S-3
A1. New Guidelines Start From Previous Guidelines
1. New Guidelines start from the previous Board approved document.
2. New Guidelines are given the preliminary name of "next.json".
A2. Community Groups Tests into Capabilities
1. DefCore Committee coordinates community activities with the Technical
Leadership to revise the capabilities based on current technical needs
and functionality.
2. Capabilities must correspond to projects which are part of the
"TC-approved release" as designated by the TC (see bylaws of the
Foundation, section 4.1(b)(iii)).
3. Groupings may change between iterations.
4. Tests must have unique identifiers that are durable across releases
and changes in grouping.
5. Tests must be under OpenStack Technical Committee governance.
6. The DefCore working group will provide the test groupings in JSON format
for scoring.
7. The DefCore working group will provide a human-readable summary of
the Guideline generated from the JSON version.
A3. DefCore Collects Recommendations for Designated Sections
1. Designated Sections will not be removed without being deprecated in the
previous Guideline.
2. Designated Sections will not be added without being advisory in the
previous Guideline.
3. Designated Sections will not be added or be made advisory unless the
corresponding code base is designated as part of the "TC-approved release"
by the Technical Committee (see bylaws of the Foundation, section
4.1(b)(iii)).
4. Technical leadership may, but is not required to, assist DefCore with
defining advisory sections for projects that have advisory or required
capabilities.
5. Designated Sections may be sufficiently defined for Guidelines using
general descriptions.
6. DefCore will present A3.4 descriptions to the Board for approval.
7. Technical leadership may, but is not required to, provide more specific
details describing the Designated Sections for a project.
8. Designated Sections will be included in the JSON Guideline.
A4. DefCore Committee identifies required capabilities
1. DefCore uses Board approved DefCore scoring criteria to evaluate
capabilities.
2. DefCore needs Board approval to change scoring
criteria.
3. Scoring criteria factor or weights cannot change after Draft is
published.
4. DefCore identifies cut-off score for determining that a
capability is required.
5. Capabilities will not be removed without being deprecated in the
previous Guideline.
6. Capabilities will not be added without being advisory in the previous
Guideline.
7. For level of "widely deployed" adoption criteria, the size of the
pool being considered will match the scope of the community being
considered. Capabilities will be evaluated based on their use in their
component. Components will be evaluated based on their use in the
Platform.
A5. Foundation Staff recommends OpenStack Components and OpenStack Platform
Scope
1. Foundation Staff recommends capabilities to include in each OpenStack
Component.
2. Foundation Staff recommends which Components are required for
the OpenStack Platform.
3. To support the Foundation recommendation, DefCore will apply the approved
scoring criteria to evaluate if a component should be included in the
platform (see A4).
A6. Additional Capabilities and Tests
1. DefCore will work with the community to define new capabilities.
2. Test grouping for new capabilities will be included in the DefCore
documents.
3. DefCore will publish a list of missing capabilities and capabilities with
inadequate test coverage.
A7. DefCore Committee creates recommendation for Draft.
1. DefCore Committee coordinates activities to create draft.
2. DefCore Committee may choose to ignore recommendations with documented
justification.
Guidelines Review Phase (B)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Starting: Summit
B1. All Reference Artifacts are reviewed via Gerrit
1. Draft Guideline
2. Designated sections
3. Test-Capability groupings
4. Flagged Test List
5. Capability Scoring criteria and weights
6. Not in Gerrit: Working materials (spreadsheets, etc)
B2. Presentation of Draft Guidelines for Review
1. DefCore will present Draft Guidelines to the Board for review.
2. DefCore will distribute Draft Guidelines to the community for review.
3. Foundation Staff will provide Draft Guidelines to vendors for review.
4. A link to the Gerrit document must be provided with the review materials.
B3. Changes to Guideline made by Gerrit Review Process
1. Community discussion including vendors must go through Gerrit.
2. All changes to draft must go through Gerrit process.
3. DefCore will proxy for users who do not participate in the Gerrit process
with attribution.
B4. For Gerrit reviews, DefCore CoChairs act as joint PTLs
1. DefCore CoChairs serve as "core" reviewers (+2).
2. Requests for changes must be submitted as patches by the requesting
party.
3. DefCore Committee members may proxy change requests as long as the
requesting party is explicitly acknowledged.
4. One DefCore CoChair needs to be Board member.
5. One DefCore CoChair needs to be elected by DefCore working group. Election
quorum is composed of attendees present during the election meeting.
6. Additional core reviewers (+2) can be appointed by CoChairs.
7. Election meetings must be posted at least one meeting prior.
Community Review & Vendor Self-Test (C)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Starting: S and continues past S+3
C1. Vendor Self-Tests
1. Vendors are responsible for executing tests identified by the
DefCore working group.
2. The Foundation may, but is not required to, provide tooling for
running tests.
3. The Foundation may, but is not required to, define a required
reporting format.
4. Self-test results may be published by Vendors in advance of Foundation
review, but must be clearly labeled as "Unofficial Results - Not Yet
Accepted By The OpenStack Foundation".
5. Vendors who publish self-tests MUST provide them in the same format that
would be submitted to the OpenStack Foundation but MAY provide additional
formats if they choose to do so.
6. Self-test results cannot be used as proof of compliance.
C2. Vendor submits results to Foundation for review
1. The Foundation determines the acceptable format for submissions.
2. The Foundation has final authority to determine if Vendor meets
criteria.
3. The Foundation will provide a review of the results within 30 days.
C3. Vendor Grievance Process
1. Vendors may raise concerns with specific tests to the DefCore
working group.
2. The DefCore working group may choose to remove tests from a Guideline
(known as flagging).
3. The DefCore working group will acknowledge vendor requests to flag tests
within 30 days.
C4. Results of Vendor Self-Tests will be open
1. The Foundation will make the final results of approved vendors
available to the community.
2. The Foundation will not publish incomplete or unapproved results.
3. Only "pass" results will be reported. Skipped and failed results will
be omitted from the reports.
4. Reports will include individual test results, not just capability
scoring.
5. Vendors are required to submit a description of the system and
configuration used to achieve the results.
6. The Foundation may require vendors to submit specific details of the
configuration and may also require use of a specific format for
reporting.
C5. API Usage Data Report
1. The Foundation will provide DefCore working group with an open report
about API usage based on self-tests.
2. To the extent the data is available, capabilities beyond the DefCore
list will be included in the report.
C6. Only Two Approved Guidelines at a time:
1. Vendors seeking Foundation validation are limited to using the two
latest approved Guidelines.
2. Since past validations are respected, older Guidelines will be
maintained as superseded for historical reference.
3. Guideline status progresses as follows:
:draft: initial work, pre-summit (S-3) discussion material
:review: as presented at summit (S) for community review
:approved: board approved, one of the two official guidelines
:superseded: board approved, now superseded by two latest guidelines
Guideline Approval (D)
^^^^^^^^^^^^^^^^^^^^^^
Starting: S+3
D1. Board will review and approve DefCore Guideline from draft
1. Guidelines are set at the Platform, Component and Capability level
only.
2. The DefCore Committee will submit the human-readable summary of
capabilities (see section A2[6]) to the Board for approval.
3. By voting to approve the summary, the Board delegates responsibility
for maintaining test groupings to the DefCore working group subject to
the limitations described in section D2.
4. Guidelines only apply to the identified releases (a.k.a. release
tags).
D2. DefCore Committee has authority on test categorization
1. DefCore Committee can add flagged tests before and after Guideline
approval.
2. DefCore Committee cannot add additional Tests to Capability mappings
after approval.
3. DefCore Committee maintains the test to capability mappings in the
JSON representation.
D3. Designated sections only enforced for projects with required capabilities
1. Designated sections may be defined for any project.
2. Designated sections apply to the releases (a.k.a. release tags)
identified in the Guideline.
3. Designated sections will be included in the JSON Capabilities file
to ensure a single source of identification.
D4. Guidelines are named based on the date of Board approval
1. Naming pattern will be: 4-digit year, dot (period), and 2-digit month.
Functional Information
----------------------
:Format: RestructuredText
:Layout: 1.0

View File

@@ -1,314 +0,0 @@
OpenStack Interop Working Group Process 2017A
==============================================
:Status: Draft
:Replaces: 2016A
This document describes the Interop Working Group's working
process required by the OpenStack bylaws and approved by the OpenStack
Technical Committee and Board.
Expected Time line:
---------------------------------------
+------------+-----------+--------------------------------------+-----------+
| Time Frame | Milestone | Activities | Lead By |
+============+===========+======================================+===========+
| -3 months | S-3 | Draft status | Interop WG|
+------------+-----------+--------------------------------------+-----------+
| -2 months | S-2 | ID new Capabilities | Community |
+------------+-----------+--------------------------------------+-----------+
| -1 month | S-1 | Score Capabilities | Interop WG|
+------------+-----------+--------------------------------------+-----------+
| Summit | S | Review status | Community |
+ + +--------------------------------------+-----------+
| | | Advisory/Deprecated items selected | Interop WG|
+------------+-----------+--------------------------------------+-----------+
| +1 month | S+1 | Self-testing | Vendors |
+------------+-----------+--------------------------------------+-----------+
| +2 months | S+2 | Test Flagging | Interop WG|
+------------+-----------+--------------------------------------+-----------+
| +3 months | S+3 | Approve Guidance | Board |
+------------+-----------+--------------------------------------+-----------+
Note: The Interop Working Group may accelerate the process to correct errors
and omissions.
Process Definition
--------------------------------------
The Guideline process has two primary phases: Draft and Review.
During the Draft phase (A), the Interop Working Group is working
with community leaders to update and score the components of the Guideline.
During the Review phase (B), the general community and vendors have an
opportunity to provide input and check the Guidelines (C) against actual
implementations. The Review phase ends with Board approval of the draft
Guideline (D).
This section provides specific rules and structure for each phase.
NOTE: To ensure continuity of discussion, process components defined below
must _not_ reuse numbers in future revisions. The numbering pattern
follows draft, section and sub-item numbering, e.g.: 2015A.B2.2. This
requirement may create numbering gaps in future iterations that will help
indicate changes.
Guidelines Draft Phase (A)
^^^^^^^^^^^^^^^^^^^^^^^^^^
Starting: S-3
A1. New Guidelines Start From Previous Guidelines
1. New Guidelines start from the previous Board approved document.
2. New Guidelines are given the preliminary name of "next.json".
A2. Community Groups Tests into Capabilities
1. The Interop Working Group coordinates community
activities with the Technical Leadership to revise the capabilities
based on current technical needs and functionality.
2. Capabilities must correspond to projects which are part of the
"TC-approved release" as designated by the TC (see bylaws of the
Foundation, section 4.1(b)(iii)).
3. Groupings may change between iterations.
4. Tests must have unique identifiers that are durable across releases
and changes in grouping.
5. Tests must be under OpenStack Technical Committee governance.
6. The Interop Working Group will provide the test groupings
in JSON format for scoring.
7. The Interop Working Group will provide a human-readable summary
of the Guideline generated from the JSON version.
A3. Interop Working Group Collects Recommendations for
Designated Sections
1. Designated Sections will not be removed without being deprecated in the
previous Guideline.
2. Designated Sections will not be added without being advisory in the
previous Guideline.
3. Designated Sections will not be added or be made advisory unless the
corresponding code base is designated as part of the "TC-approved release"
by the Technical Committee (see bylaws of the Foundation, section
4.1(b)(iii)).
4. Technical leadership may, but is not required to, assist the
Interop Working Group with defining advisory Designated
Sections for projects that have advisory or required Capabilities.
5. Designated Sections may be sufficiently defined for Guidelines using
general descriptions.
6. The Interop Working Group will present A3.4 descriptions to
the Board for approval.
7. Technical leadership may, but is not required to, provide more specific
details describing the Designated Sections for a project.
8. Designated Sections will be included in the JSON Guideline.
A4. Interop Working Group identifies required capabilities
1. The Interop Working Group uses Board approved scoring
criteria to evaluate Capabilities.
2. The Interop Working Group needs Board approval to change
scoring criteria.
3. Scoring criteria factors or weights cannot change after Draft is
published.
4. The Interop Working Group identifies a cut-off score for
determining that a Capability is required.
5. Capabilities will not be removed without being deprecated in the
previous Guideline.
6. Capabilities will not be added without being advisory in the previous
Guideline.
7. For the "widely deployed" adoption criteria, the size of the
pool being considered will match the scope of the community being
considered. Capabilities will be evaluated based on their use in their
Component. Components will be evaluated based on their use in the
Platform.
A5. Foundation Staff recommends OpenStack Components and OpenStack Platform
Scope
1. Foundation Staff recommends Capabilities to include in each OpenStack
Component.
2. Foundation Staff recommends which Components are required for
the OpenStack Powered Platform.
3. To support the Foundation recommendation, the Interop
Working Group will apply the approved scoring criteria to
evaluate if a component should be included in the
Platform (see A4).
A6. Additional Capabilities and Tests
1. The Interop Working Group will work with the community to
define new Capabilities.
2. Test grouping for new Capabilities will be included in the
Interop Working Group documents.
3. The Interop Working Group will publish a list of missing
Capabilities and Capabilities with inadequate test coverage.
A7. The Interop Working Group creates recommendation for Draft.
1. The Interoper Working Group coordinates activities to create
the Guideline draft.
2. The Interop Working Group may choose to ignore recommendations
with documented justification.
Guidelines Review Phase (B)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Starting: Summit
B1. All Reference Artifacts are reviewed via Gerrit
1. Draft Guideline
2. Designated sections
3. Test-Capability groupings
4. Flagged Test List
5. Capability Scoring criteria and weights
6. May not be in Gerrit: Working materials (spreadsheets, etc)
B2. Presentation of Draft Guidelines for Review
1. The Interop Working Group will present Draft Guidelines to
the Board for review.
2. The Interop Working Group will distribute Draft Guidelines
to the community for review.
3. Foundation Staff will provide Draft Guidelines to vendors for review.
4. A link to the Gerrit document must be provided with the review materials.
B3. Changes to Guideline made by Gerrit Review Process
1. Community discussion including vendors must go through Gerrit.
2. All changes to draft must go through Gerrit process.
3. The Interop Working Group will proxy for users who do not
participate in the Gerrit process with attribution.
B4. For Gerrit reviews, Interop Working Group Co-Chairs act as
Joint PTLs
1. Interop Working Group Co-Chairs serve as "core" reviewers (+2).
2. Requests for changes must be submitted as patches by the requesting
party.
3. Interop Working Group members may proxy change requests as
long as the requesting party is explicitly acknowledged.
4. One Interop Working Group Co-Chair must be Board member.
5. One Interop Working Group Co-Chair will be elected by the
Interop Working Group. Election quorum is composed of
attendees present during the election meeting.
6. Additional core reviewers (+2) can be appointed by Co-Chairs.
7. Election meetings must be posted at least one meeting prior.
Community Review & Vendor Self-Test (C)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Starting: S and continues past S+3
C1. Vendor Self-Tests
1. Vendors are responsible for executing tests identified by the
Interop Working Group.
2. The Foundation may, but is not required to, provide tooling for
running tests.
3. The Foundation may, but is not required to, define a required
reporting format.
4. Self-test results may be published by Vendors in advance of Foundation
review, but must be clearly labeled as "Unofficial Results - Not Yet
Accepted By The OpenStack Foundation".
5. Vendors who publish self-tests MUST provide them in the same format that
would be submitted to the OpenStack Foundation but MAY provide additional
formats if they choose to do so.
6. Self-test results cannot be used as proof of compliance.
C2. Vendor submits results to Foundation for review
1. The Foundation determines the acceptable format for submissions.
2. The Foundation has final authority to determine if Vendor meets
criteria.
3. The Foundation will provide a review of the results within 30 days.
C3. Vendor Grievance Process
1. Vendors may raise concerns with specific tests to the Interop
Working Group.
2. The Interop Working Group may choose to remove tests from
a Guideline (known as flagging).
3. The Interop Working Group will acknowledge vendor requests
to flag tests within 30 days.
C4. Results of Vendor Self-Tests will be open
1. The Foundation will make the final results of approved vendors
available to the community.
2. The Foundation will not publish incomplete or unapproved results.
3. Only "pass" results will be reported. Skipped and failed results will
be omitted from the reports.
4. Reports will include individual test results, not just Capability
scoring.
5. Vendors are required to submit a description of the system and
configuration used to achieve the results.
6. The Foundation may require vendors to submit specific details of the
configuration and may also require use of a specific format for
reporting.
C5. API Usage Data Report
1. The Foundation will provide Interop Working Group with an
open report about API usage based on self-tests.
2. To the extent the data is available, Capabilities beyond the
Interoperability Guideline list will be included in the report.
C6. Only Two Approved Guidelines at a time:
1. Vendors seeking Foundation validation are limited to using the two
latest approved Guidelines.
2. Since past validations are respected, older Guidelines will be
maintained as superseded for historical reference.
3. Guideline status progresses as follows:
:draft: initial work, pre-summit (S-3) discussion material
:review: as presented at summit (S) for community review
:approved: board approved, one of the two official guidelines
:superseded: board approved, now superseded by two latest guidelines
Guideline Approval (D)
^^^^^^^^^^^^^^^^^^^^^^
Starting: S+3
D1. Board will review and approve Interoperability Guidelines from draft
1. Guidelines are set at the Platform, Component and Capability level
only.
2. The Interop Working Group will submit the human-readable
summary of Capabilities (see section A2[6]) to the Board for approval.
3. By voting to approve the summary, the Board delegates responsibility
for maintaining test groupings to the Interop Working Group
subject to the limitations described in section D2.
4. Guidelines only apply to the identified releases (a.k.a. release
tags).
D2. Interop Working Group has authority on test categorization
1. The Interop Working Group can add flagged tests before and
after Guideline approval.
2. The Interop Working Group cannot add additional Tests to
Capability mappings after approval.
3. The Interop Working Group maintains the test to Capability
mappings in the JSON representation.
D3. Designated Sections only enforced for projects with required Capabilities
1. Designated Sections may be defined for any project.
2. Designated Sections apply to the releases (a.k.a. release tags)
identified in the Guideline.
3. Designated Sections will be included in the JSON Capabilities file
to ensure a single source of identification.
D4. Guidelines are named based on the date of Board approval
1. Naming pattern will be: 4-digit year, dot (period), and 2-digit month.
Functional Information
----------------------
:Format: RestructuredText
:Layout: 1.0

View File

@@ -1,416 +0,0 @@
OpenStack Interop Working Group Process 2021A
==============================================
:Status: Approved #June 29, 2021 OIF board meeting
:Replaces: 2017A
This document describes the Interop Working Group's working
process as required by the OpenStack bylaws
(see `<https://www.openstack.org/legal/bylaws-of-the-openstack-foundation/>`_)
and approved by the OpenStack Technical Committee and
Open Infrastructure Foundation Board.
Expected Time line
------------------
+------------+--------------------------------------+---------------------+
| Time Frame | Activities | Lead By |
+============+======================================+=====================+
| -1 month | Draft of next guidelines. | Interop WG |
+------------+--------------------------------------+---------------------+
| PTG | Review next guidelines | Community |
+------------+--------------------------------------+---------------------+
| PTG | Review status | Interop WG |
+------------+--------------------------------------+---------------------+
| +1 month | Update draft of guidelines | Interop WG |
+------------+--------------------------------------+---------------------+
| +2 months | Testing draft guidelines | Refstack, Vendors |
+------------+--------------------------------------+---------------------+
| +3 months | Approve Guidance | approval_committee_ |
+------------+--------------------------------------+---------------------+
Note: Time line is aligned with releases schedules.
See `<https://releases.openstack.org/xena/schedule.html>`_ as example of
Xena schedule. Draft is done during the release for which guideline is
being developed, while its completion is done during next release
schedule.
The Interop Working Group may accelerate the process to correct errors
and omissions.
Process Definition
------------------
The Guideline process has four primary phases: Draft, Review, Validation
and Approval.
- During the Draft phase (A), the Interop Working Group
creates new draft of guideline with input from the community
with updated coverage, scores of the components, and other details.
- During the Review phase (B), guidelines for each project are reviewed
during the PTG with that project, input from refstack community,
and general feedback from the community and vendors.
- During the Validation phase (C) Guidelines go through and implementation
and testing cycle.
- Finally, Approval by approval_committee_
The Open Infrastructure Board of Directors is not involved
in the guideline process and review, and approve only changes to the
Interop WG process.
This section provides specific rules and structure for each phase.
Guidelines Draft Phase (A)
^^^^^^^^^^^^^^^^^^^^^^^^^^
Starting: S-1
A1. New Guidelines Start From Previous Guidelines
1. New Guidelines start from the previously approved Guidelines document.
2. New Guidelines are given the preliminary name of "next.json".
3. For each of the new Guidelines add-on component there is
a separate "next.json" document.
A2. Community Groups Tests for Capabilities
1. The Interop Working Group coordinates community
activities with the Technical Leadership to revise the capabilities
based on current technical needs and functionality.
2. Capabilities must be a subset of the OpenStack Technical Committee
Approved Release as determined by the Board of Directors
(see bylaws of the Foundation, section 4.1(b)(iii)).
3. Groupings may change between iterations.
4. Tests must have unique identifiers that are durable across releases
and changes in grouping.
5. Tests must be under OpenStack Technical Committee governance.
6. The Interop Working Group will provide the test groupings
in JSON format for scoring.
7. The Interop Working Group optionally will provide a human-readable summary
of the Guideline generated from the JSON version.
A3. Interop Working Group Collects Recommendations for Designated Sections
1. Designated Sections will not be removed without being deprecated in the
previous Guideline.
2. Designated Sections will not be added without being advisory in the
previous Guideline.
3. Designated Sections will not be added or be made advisory unless the
corresponding code base is a subset of the OpenStack Technical Committee
Approved Release as determined by the Board of Directors
(see bylaws of the Foundation, section 4.1(b)(iii)).
4. TC & PTLs may, but is not required to, assist the
Interop Working Group with defining advisory Designated
Sections for projects that have advisory or required Capabilities.
5. Designated Sections may be sufficiently defined for Guidelines using
general descriptions.
6. The Interop Working Group will present A3.4 descriptions to
approval_committee_ for approval.
7. TC & PTLs may, but is not required to, provide more specific
details describing the Designated Sections for a project.
8. Designated Sections will be included in the JSON Guideline.
A4. Interop Working Group identifies required capabilities
1. The Interop Working Group uses Board approved scoring criteria
`scoring criteria <https://opendev.org/openinfra/interop/src/branch/master/doc/source/process/CoreCriteria.rst>`_
to evaluate Capabilities.
2. The Interop Working Group needs Board approval to change
scoring criteria.
3. Scoring criteria factors or weights cannot change after Draft is
published.
4. The Interop Working Group identifies a cut-off score for
determining that a Capability is required.
5. Capabilities will not be removed without being deprecated in the
previous Guideline.
6. Capabilities will not be added without being advisory in the previous
Guideline.
7. For the "widely deployed" adoption criteria, the size of the
pool being considered will match the scope of the community being
considered. Capabilities will be evaluated based on their use in their
Component. Components will be evaluated based on their use in the
Platform.
A5. The Interop Working Group recommends OpenStack Components and OpenStack
Platform Scope
1. The Interop Working Group recommends Capabilities to include
in each OpenStack Component.
2. The Interop Working Group recommends which Components are required for
the OpenStack Powered Platform.
3. The Interop Working Group will apply the approved scoring criteria to
evaluate if a component should be included in the
Platform (see A4).
A6. Additional Capabilities and Tests
1. The Interop Working Group will work with the OpenStack community to
define new Capabilities.
2. Test grouping for new Capabilities will be included in the
Interop Working Group documents.
3. The Interop Working Group will publish a list of missing
Capabilities and Capabilities with inadequate test coverage.
4. Interop Working Group in conjuction with TC and Foundation Marketplace
product owner can propose additional Add-on component
guidelines.
5. Each Add-on is provided as a seperate additional guideline,
that follows the same process as "OpenStack powered" ones
as defined by this document.
A7. The Interop Working Group creates recommendation for Draft.
1. The Interop Working Group coordinates activities to create
the Guideline draft.
2. The Interop Working Group may choose to ignore recommendations
with documented justification.
Guidelines Review Phase (B)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Starting: PTG
B1. All Reference Artifacts are reviewed via Gerrit
1. Draft Guideline
2. Designated sections
3. Test-Capability groupings
4. Flagged Test List
5. Capability Scoring criteria and weights
6. May not be in Gerrit: Working materials (spreadsheets, etc)
B2. Presentation of Draft Guidelines for Review
1. The Interop Working Group will distribute Draft Guidelines
to the OpenStack community for review.
2. A link to the Gerrit document must be provided with the review materials.
3. The draft Guidelines will consist of single document for
"OpenStack-Powered" Logo and separate document for each
of the add-ons components.
B3. Changes to Guideline made by Gerrit Review Process
1. Guidelines proposal and review must go through Gerrit.
2. The Interop Working Group will proxy for users who do not
participate in the Gerrit process with attribution.
B4. For Gerrit reviews, Interop Working Group Co-Chairs act as
core reviewers.
1. Interop Working Group Co-Chairs serve as "core" reviewers (+2).
2. Requests for changes must be submitted as patches by the requesting
party.
3. Interop Working Group members may proxy change requests as
long as the requesting party is explicitly acknowledged.
4. All Interop Working Group Co-Chair will be elected by the
Interop Working Group. Election quorum is composed of
attendees present during the election meeting.
5. Additional core reviewers (+2) can be appointed by Co-Chairs.
6. Election meetings must be posted at least one meeting prior.
B5. Projects Interlocks
1. For the PTG, the Interop Working Group requests a meeting
with each project under the "OpenStack Powered" guideline and
each of the add-on guidelines.
2. Project meeting covers a review of the current guidelines
for the projects, any changes/addition/deprecation/removal of
APIs. Tests must be available in repositories under
OpenStack TC governance. The tests cannot be in repositories
outside of list in the openstack governance repository:
`<https://opendev.org/openstack/governance/src/branch/master/reference/projects.yaml>`_
3. Project meeting covers any test result for specific
drivers of that project to ensure consistent functionality
coverage for all required and designated interoperability
functionality of the project.
B6. Draft Guidelines update
1. Following the PTG meeting the Interop Working Group updates
draft Guidelines using feedback from each of the projects.
2. Ensure any new or modified guidelines must have the corresponding
test(s) in Tempest or Tempest plugins, and Refstack wrapper
include it.
3. For any new add-on program Refstack need to be able to collect
submissions for marketplace.
4. For any new add-on programs Foundation Marketplace product
owner need to prepare ability to issue, record and administer
new add-on Logo under Marketplace program.
Validation (C)
^^^^^^^^^^^^^^
Starting: S and continues until S+2
C0. RefStack validation
1. Refstack makes necessary changes to `Page <https://refstack.openstack.org/#/>`_
2. Refstack makes necessary changes to handle new guidelines.
3. Refstack representative share test results of new guidelines
on default platform with Interop Working Group.
4. Refstack flags any tests that do not pass on the default platform.
C1. Vendor Self-Tests
1. Vendors are responsible for executing tests identified by the
Interop Working Group.
2. The Interop Working Group may, but is not required to, provide tooling for
running tests through Refstack.
3. The Interop Working Group may, but is not required to, define a required
reporting format.
4. Self-test results may be published by Vendors in advance of Open
Infrastructure Foundation Marketplace manager review,
but must be clearly labeled as "Unofficial Results - Not Yet
Accepted By The Open Infrastructure Foundation".
5. Vendors who publish self-tests MUST provide them in the same format that
would be submitted to the Open Infrastructure Foundation
but MAY provide additional formats if they choose to do so.
6. Self-test results cannot be used as proof of compliance.
C2. Vendor submits results to Foundation for review
1. The Open Infrastructure Foundation Marketplace manager
determines the acceptable format for submissions.
2. The Open Infrastructure Foundation Marketplace manager
has final authority to determine if Vendor meets criteria.
3. The Open Infrastructure Foundation Marketplace manager
will provide a review of the results within 30 days.
4. Vendors can submit results for "OpenStack Powered" Logo
and any of the add-on programs together or separately.
5. The Open Infrastructure Foundation Marketplace manager
can provide review of the results for all vendor
submissions together or separately for each Logo.
C3. Vendor Grievance Process
1. Vendors may raise concerns with specific tests to the Interop
Working Group.
2. The Interop Working Group may choose to remove tests from
a Guideline (known as flagging).
3. The Interop Working Group will acknowledge vendor requests
to flag tests within 30 days.
C4. Results of Vendor Self-Tests will be open
1. The Open Infrastructure Foundation Marketplace manager
will make the final results of approved vendors
available to the community.
2. The Open Infrastructure Foundation Marketplace manager
will not publish incomplete or unapproved results.
3. Only "pass" results will be reported. Skipped and failed results will
be omitted from the reports.
4. Reports will include individual test results, not just Capability
scoring.
5. Vendors are required to submit a description of the system and
configuration used to achieve the results.
C5. API Usage Data Report
1. The Open Infrastructure Foundation Marketplace manager
will provide the Interop Working Group with an
open report about API usage based on self-tests based on
Refstack submitted results.
2. To the extent the data is available, Capabilities beyond the
Interoperability Guideline list will be included in the report.
C6. Only Two Approved Guidelines at a time:
1. Vendors seeking validation are limited to using the two
latest approved Guidelines.
2. Since past validations are respected, older Guidelines will be
maintained as superseded for historical reference.
3. Guideline status progresses as follows:
:draft: initial work, pre-PTG discussion material
:review: as presented at the PTG (S) for community review
:approved: Committee approved, one of the two official guidelines
:superseded: Committee approved, now superseded by two latest guidelines
Guideline Approval (D)
^^^^^^^^^^^^^^^^^^^^^^
Starting: S+3 or earlier
.. _approval_committee:
D0. Approval Committee
1. Approval Committee consists of representatives from 4 bodies
a. Interop Working Group Co-chairs are approval authority of
this committee.
b. Refstack core member or repesentative(s) as advisory member
c. Open Infrastructure Foundation Marketplace product owner as
advisory member
d. OpenStack TC representative(s) as advisory member
D1. Committee will review and approve Interoperability Guidelines from draft
1. Interop Working Group must approve the proposed guidelines.
2. Foundation staff member(s) and OpenStack TC member(s) vote in
advisory capacity but do not have veto power.
3. The approval is done through formal vote and its results recorded
with the date of Approval.
4. Upon approval guideline document is marked as approved with the
date of approval.
5. approval_committee_ members may request delay of the formal vote till
foundation staff and/or Refstack is capable of handling new guidelines.
6. Delay of the vote can be resolved by at most 1 month prior to
next PTG meeting, which is the start of work on the new
guidelines.
7. Guidelines are set at the Platform, Component and
Capability level only.
8. The Interop Working Group will submit the summary of
Capabilities (see section A2[6]) to the Committee for approval.
The human-readable format of the summary is encouraged but optional.
9. By voting to approve the summary, the Committee delegates responsibility
for maintaining test groupings to the Interop Working Group
subject to the limitations described in section D2.
10. Guidelines only apply to the identified releases (a.k.a. release
tags).
11. The Add-on Guidelines are set for OpenStack projects in addition
to "OpenStack Powered" ones.
12. All guidelines follow the same review and approval process
irrespective if they are "OpenStack Powered" or "OpenStack Add-on"
guidelines.
D2. Interop Working Group has authority on test categorization
1. The Interop Working Group can add flagged tests before and
after Guideline approval.
2. The Interop Working Group cannot add additional Tests to
Capability mappings after approval.
3. The Interop Working Group maintains the test to Capability
mappings in the JSON representation.
D3. Designated Sections only enforced for projects with required Capabilities
1. Designated Sections may be defined for any project.
2. Designated Sections apply to the releases (a.k.a. release tags)
identified in the Guideline.
3. Designated Sections will be included in the JSON Capabilities file
to ensure a single source of identification.
D4. Guidelines are named based on the date of Board approval
1. Naming pattern will be: 4-digit year, dot (period), and 2-digit month.
Process Change
--------------
E1. Process Draft
1. Any process change follows the process of draft, review and approval.
2. Any process changes are handled thru gerrit process.
3. Proposed changes submitted to Gerrit for review by
Interop Working Group as a draft document.
4. Interop Working Group adds all Committee members for review of the draft.
5. Once that draft is approved, Interop Working Group co-chairs present it to
Open Infrastructure Board for approval.
6. Once Board approved the changes the new process is marked as
approved and is linked from `Interop WG wiki page
<https://wiki.openstack.org/wiki/Governance/InteropWG>`_.
Functional Information
----------------------
:Format: RestructuredText
:Layout: 1.0

View File

@@ -1,241 +0,0 @@
===============
Core Definition
===============
Objective
=========
The following list represents the "guiding principles" used by the
Foundation Board to determine how commercial implementations of OpenStack
can be granted use of the trademark. They will continue to get refined over
the next 6 months as the to-be-renamed-Core-Definition Committee refines
the must-pass test selection process and governance. The committee may
suggest changes to the by-laws to clarify the definition of core.
::
Principles Adopted at Oct 4th 2013 Board Meeting
Implementation
==============
* The `Governance/InteropWG
<https://wiki.openstack.org/wiki/Governance/InteropWG/>`_ is
working to manage this.
* Meetings and agendas are linked from that page, including
`Meetpad <https://meetpad.opendev.org/Interop-WG-weekly-meeting>`_
available on `Etherpad <https://etherpad.opendev.org/p/interop>`_
and open to the community.
* Meeting participants will be expected to commit to the full set of
meetings, be familiar with the Spider process materials, and up-to-date
on the committee resolutions to date.
* Havana must-pass tests approved by Ice House Release Ice House must-pass
tests approved by Ice House Release +90
Principles
==========
.. image:: ../images/500px-Core_flow.png
1. Implementations that are Core can use OpenStack trademark (OpenStack™)
1. This is the legal definition of "core" and the why it matters to the
community.
2. We want to make sure that the OpenStack™ mark means something.
3. The OpenStack™ mark is not the same as the OpenStack brand; however,
the Board uses its control of the mark as a proxy to help manage the
brand.
2. Core is a subset of the whole project
1. The OpenStack project is supposed to be a broad and diverse community
with new projects entering incubation and new implementations being
constantly added. This innovation is vital to OpenStack but separate
from the definition of Core.
2. There may be other marks that are managed separately by the
foundation, and available for the platform ecosystem as per the
Boards discretion
3. "OpenStack API Compatible" mark not part of this discussion and
should be not be assumed.
3. Core definition can be applied equally to all usage models
1. There should not be multiple definitions of OpenStack depending on
the operator (public, private, community, etc)
2. While expected that each deployment is identical, the differences
must be quantifiable
4. Claiming OpenStack requiring use of designated upstream code
1. Implementations claiming the OpenStack™ mark must use the OpenStack
upstream code (or be using code submitted to upstream)
2. You are not OpenStack, if you pass all the tests but do not use the
API framework
3. This also surfaces bit-rot in alternate implementations to the larger
community
4. This behavior improves interoperability because there is more shared
code between implementations
5. Projects must have an open reference implementation
1. OpenStack will require an open source reference base plug-in
implementation for projects (if not part of OpenStack, license model
for reference plug-in must be compatible).
2. Definition of a plug-in: alternate backend implementations with a
common API framework that uses common _code_ to implement the API
3. This expects that projects (where technically feasible) are expected
to implement a plug-in or extension architecture.
4. This is already in place for several projects and addresses around
ecosystem support, enabling innovation
5. Reference plug-ins are, by definition, the complete capability set.
It is not acceptable to have "core" features that are not functional
in the reference plug-in
6. This will enable alternate implementations to offer innovative or
differentiated features without forcing changes to the reference
plug-in implementation
7. This will enable the reference to expand without forcing other
alternate implementations to match all features and recertify
6. Vendors may substitute alternate implementations
1. If a vendor plug-in passes all relevant tests then it can be
considered a full substitute for the reference plug-in
2. If a vendor plug-in does NOT pass all relevant test then the vendor
is required to include the open source reference in the
implementation.
3. Alternate implementations may pass any tests that make sense
4. Alternate implementations should add tests to validate new
functionality.
5. They must have all the must-pass tests (see #10) to claim the
OpenStack mark.
6. OpenStack Implementations are verified by open community tests
7. Vendor OpenStack implementations must achieve 100% of must-have
coverage?
8. Implemented tests can be flagged as may-have requires list [Joshua
McKenty]
9. Certifiers will be required to disclose their testing gaps.
10. This will put a lot of pressure on the Tempest project
11. Maintenance of the testing suite to become a core Foundation
responsibility. This may require additional resources
12. Implementations and products are allowed to have variation based on
publication of compatibility
13. Consumers must have a way to determine how the system is different
from reference (posted, discovered, etc)
14. Testing must respond in an appropriate way on BOTH pass and fail
(the wrong return rejects the entire suite)
7. Tests can be remotely or self-administered
1. Plug-in certification is driven by Tempest self-certification model
2. Self-certifiers are required to publish their results
3. Self-certified are required to publish enough information that a 3rd
party could build the reference implementation to pass the tests.
4. Self-certified must include the operating systems that have been
certified
5. It is preferred for self-certified implementation to reference an
OpenStack reference architecture "flavor" instead of defining their
own reference. (a way to publish and agree on flavors is needed)
6. The Foundation needs to define a mechanism of dispute resolution. (A
trust but verify model)
7. As an ecosystem partner, you have a need to make a "works against
OpenStack" statement that is supportable
8. API consumer can claim working against the OpenStack API if it works
against any implementation passing all the "must have" tests(YES)
9. API consumers can state they are working against the OpenStack API
with some "may have" items as requirements
10. API consumers are expected to write tests that validate their
required behaviors (submitted as "may have" tests)
8. A subset of tests are chosen by the Foundation as "must-pass"
1. How? Read the `Governance/CoreCriteria <./CoreCriteria.rst/>`_ Selection
Process
2. An OpenStack body will recommend which tests are elevated from
may-have to must-have
3. The selection of "must-pass" tests should be based on quantifiable
information when possible.
4. Must-pass tests should be selected from the existing body of
"may-pass" tests. This encourages people to write tests for cases
they want supported.
5. We will have a process by which tests are elevated from may to must
lists
6. Potentially: the User Committee will nominate tests that elevated to
the board
7. OpenStack Core means passing all "must-pass" tests
9. The OpenStack board owns the responsibility to define 'core' to
approve 'musts'
1. The "CoreDef" committee will submit the must-pass tests to the board
as a block and passed as a single motion
2. We are NOT defining which items are on the list in this effort, just
making the position that it is how we will define core
3. May-have tests include items in the integrated release, but which are
not core.
4. Must haves must comply with the Core criteria defined from the
IncUp committee results
5. Projects in Incubation or pre-Incubation are not to be included in
the 'may' list
10. OpenStack Core means passing all "must-pass" tests
1. The OpenStack board owns the responsibility to define 'core' to
approve 'musts'
2. We are NOT defining which items are on the list in this effort, just
making the position that it is how we will define core
3. May-have tests include items in the integrated release, but which
are not core.
4. Must haves must comply with the Core criteria defined from the
IncUp committee results
5. Projects in Incubation or pre-Incubation are not to be included in
the 'may' list

View File

@@ -1,75 +0,0 @@
===================
Designated Sections
===================
Designated Sections Illustration
================================
.. image:: ../images/Defcore_designated_sections.png
Designated Sections Selection Guidance
======================================
::
_Approved 2014 Dec 2_
The Interop Working Group identified 10 selection criteria. The first
seven are technical from the TC and last three allow the Board to resolve
issues without needing a technical judgement.
1. Designated if the code provides the project external REST API
2. Designated if the code is shared and provides common functionality for
all options
3. Designated if the code implements logic that is critical for
cross­platform operation
4. NOT Designated if project design explicitly intended this section to be
replaceable
5. NOT Designated if code extends the project external REST API in a new or
different way
6. NOT Designated if code is being deprecated
7. NOT Designated if code interfaces to vendor­specific functions
8. NOT Designated by Default
1. Unless code is designated, it is assumed to be undesignated.
2. This aligns with the Apache license.
3. We have a preference for smaller core.
9. Designated by Consensus
1. If the community cannot reach a consensus about designation then it
is considered undesignated.
2. Time to reach consensus will be short: days, not months
3. Except obvious trolling, this prevents endless wrangling.
4. If theres a difference of opinion then the safe choice is
UNdesignated.
10. Designated is Guidance
1. Loose descriptions of designated sections are acceptable.
2. The goal is guidance on where we want upstream contributions not a
code inspection police state. Guidance will be revised per release
as part of the Interop Working Group process.
Designated Sections
===================
Effective April 2015, approved Designated Sections are maintained
in the Board approved Interoperability Guidelines. The 2015.03 Guideline
was set to match the Board action of 2014 December 2.
Please see the current Guidelines to determine which Designated
Sections apply.

View File

@@ -1,13 +0,0 @@
Governance Process
==================
* Meetings details and agendas are available in
`the etherpad page <https://etherpad.opendev.org/p/interop>`_ and are open
to the community.
* Meeting info is available at:
https://meetings.opendev.org/#Interop_Working_Group_Meeting
* Members are expected to do their homework. We will not be rehashing
due to time limits. Minutes from prior meetings are available in
`the etherpad page <https://etherpad.opendev.org/p/interop>`_.

View File

@@ -1,130 +0,0 @@
Internal Process Documentation
==============================
Here we document all internal (within the IWG group) actions needed in order
to release a new guideline.
This documentation should help to avoid mistakes and to ensure that every
guideline is released in a standardized way.
This document is based on
`OpenStack Interop Working Group Process 2021A <./2021A.rst/>`_ although it
focuses more on the internal (within the IWG group) actions, such as order of
reviews, their content and timing.
Actions done during a cycle
---------------------------
This section summarizes actions in a suggested order IWG team should focus on
during the cycle.
* See if we have any new tests (for projects currently covered by Interop) in
tempest which haven't been added to interop yet, (this script will help here
`<https://review.opendev.org/c/osf/interop/+/799201>`_)
* If there are new tests, decide whether they are worth to be included in any
(maybe new) capability.
* If yes, add them to a capability / create a new one.
* when creating a new capability make sure that required_since is empty -
it will be set once the capability gets under required (new ones are
under advisory)
* If not, add them to the exclude list with a brief explanation why
so that the test won't come up in a future release.
* See if we have any new deprecated tests in Tempest or if any tests got
removed from Tempest recently (only tests related to the projects under
Interop coverage concern us). E.g. go through merged patches within the
relevant time frame.
* If there are any deprecated tests, let's deprecate the capabilities which
contain the deprecated tests (move them from required to deprecated in the
relevant next files). Don't forget to **mention a related link** in the
commit message (f.e. tempest change which deprecated the tests).
* If there are any removed tests, verify whether the related capabilities
were deprecated already.
* If they were, consider moving the capabilities to removed section.
* If they were not, deprecate them. They will be removed in the next cycle.
* Watch out for any reported issues or skips (f.e. in the upstream CI) of tests
which are part of any capability which is currently under advisory. This info
will be crucial in the release process when we decide whether to move the
advisory capabilities to the required section.
Release process (starting 1 month before PTG)
---------------------------------------------
Changes to be done within next.json files are documented in this section.
1. Make sure tempest/<plugin> sha is correct
(test_repositories.tempest/<plugin>.reference)
2. Make sure values listed under os_trademark_approval are correct
(target_approval, replaces, releases)
3. Make sure required_since within lately added tests is equal to an empty
string ("") the guideline release and to the target_approval
4. Verify all flagged tests should be still flagged - unflag them otherwise
5. Verify all advisory tests we still want to be advisory, if not move them
accordingly
1. If you move a test from advisory (probably to required), set
required_since to the guideline release and to the target_approval
6. Check if any of the capabilities are deprecated.
7. Repeat the above process for every add-on's next file
8. Rename next.json to <target_release.json> - in case there are other changes
in the next.json file, do this step in a separate patch as the rename appear
in gerrit as a new file which makes it harder to see other changes within
the file.
1. Edit required_platform_components.source references in the add-on next
files so that they point to the new platform guideline being released
(next.json -> <target_release>.json)
9. Copy and rename the newly created <target_release>.json files to next.json
files (<add-on>.next.json)
1. Run the following script to update the documentation for next and
target_release guidelines. It will generate a new file named
*all.<target_release>.rst* and update *all.next.rst* under
*doc/source/guidelines/*
.. code-block:: console
$ tools/jsonToRst.py --all next
$ tools/jsonToRst.py --all <target_release>
2. Edit *doc/source/guidelines/index.rst* file to make the new guideline doc
visible - move the latest guideline from **Latest Guideline** section to
the **Previous Guidelines** section and put the new guideline to the
**Latest Guideline** section.
3. Edit the symlinks so that they point to the latest guidelines:
.. code-block:: console
$ rm current_guideline
$ ln -s guidelines/<target_release>.json current_guideline
$ cd add-ons/
$ rm *_current_guideline
$ ln -s guidelines/dns.<target_release>.json dns_current_guideline
$ ln -s guidelines/key_manager.<target_release>.json key_manager_current_guideline
$ ln -s guidelines/load_balancer.<target_release>.json load_balancer_current_guideline
$ ln -s guidelines/orchestration.<target_release>.json orchestration_current_guideline
$ ln -s guidelines/shared_file_system.<target_release>.json shared_file_system_current_guideline
10. Add PTL or project representatives for each project that the changed files
are covering, to review the changes.
11. Add Foundation Marketplace representatives to review the proposed
guidelines.
12. Change status from draft to approved. (after committee review - that will
be in separate patch) -> ~ 3 months after PTG
1. Run the following script to reflect the status change in the documentation
.. code-block:: console
$ tools/jsonToRst.py --all <target_release>

View File

@@ -1,114 +0,0 @@
OpenStack Interop Working Group Lexicon
========================================
Licensing the OpenStack commercial-use marks requires passing tests of
required capabilities, and including designated sections of code.
There are multiple marks available for vendors depending on which
capability groupings are passed.
TERMS
-----
Advisory
Capabilities that have been suggested for the next Guideline.
Capability
The functionality ensured by a set of tests collected into
a group as defined by the Interop Working Group.
Certify or Accredit
The Interop Working Group does not do any of these things
for OpenStack clouds. These actions would fall under the
governance of the Foundation trademark policy.
Community
The universe of people and companies that are involved in the OpenStack
project as active contributors, users, operators, vendors and enthusiasts.
This is a very broad group with diverse interests, needs and participation
levels. (see also Participant)
Component
A collection of functionality generally used together (e.g.:
object, compute).
Contributor
Word to be avoided in this process due to confusion with other uses.
Core
Word to be avoided in this process due to confusion with other
uses.
DefCore
The original name for the OpenStack board committee that managed
commercial definition of OpenStack for trademark purposes. As the
group evolved, it's name was eventually changed to the Interop
Working Group.
Deprecated
Capabilities that will be removed in the next Guideline.
Designated Sections
Portions of the OpenStack codebase that must be used to provide
required capabilities in a product wishing to use the OpenStack
trademark. Designated sections fulfill one or more of the following
criteria: they provide the project-external REST API, or are shared
and provide common functionality for all options, or implement logic
that is critical for cross-platform operation. Designated sections
must exist in the OpenStack gerrit namespace and have corresponding
tests. Code that meets the following criteria will not be considered
designated: provides vendor-specific functionality, are explicitly
intended by the project maintainers to be replaceable, extend the
project REST API in a new or different way, or code that is being
deprecated.
Flagged Test
A test that does not provide consistent results in the
field and it not required for vendor self-test.
Guidelines
Output of the Interop Working Group process detailing which
Designated Sections and Capabilities are required. Guidelines will be
approved on a regular cadence and identified by the date of approval.
Interop Working Group Process
The process used by the Interop Working Group to score Capabilities
and select Criteria.
OpenStack Mark
Right granted by the OpenStack Foundation to use the name and logo of
OpenStack in a vendors product.
Participant
The subset of the Community that actively engages in creating
components of OpenStack including, but not limited to, the code,
documentation, training, product management and other materials.
For Interop Working Group purposes, Participant is not limited to
the community members identified as "ATC" as per
https://governance.openstack.org/tc/reference/charter.html
(see also Technical Leadership)
Platform
The collection of components required to use the least restricted mark.
Removed
Capabilities that are no longer required and are not included in the
current Guideline.
Required - Capabilities that are required to be exposed to end users to
satisfy the requirements of an Interoperability Guideline.
Self-test
Process by which a vendor runs tests against their product or service
without 3rd party observation.
Technical Leadership
The subset of the Participants (see above) that are recognized by the
community to guide the technical direction of the OpenStack project.
These leaders include the Technical Committee (TC) and Project
Technical Leads (PTL).
See: https://governance.openstack.org/tc/reference/charter.html
Test
Program that exercises functionality of a component to validate
expected behavior and provides pass or fail judgement.

View File

@@ -1,292 +0,0 @@
============================
Trademark Process Definition
============================
.. replaces CoreDefintion.rst.
Objective
=========
The following list represents the "guiding principles" used by the
Foundation Board to determine how commercial implementations of OpenStack
can be granted use of the trademark.
::
Principles Adopted at Oct 4th 2013 Board Meeting
Implementation
==============
* The `Governance/InteropWG
<https://wiki.openstack.org/wiki/Governance/InteropWG>`_ is
working to manage this.
* Meetings and agendas are linked from that page and open to the community.
Principles
==========
.. image:: ../images/500px-Core_flow.png
1. Implementations that are Required Cloud Services can use OpenStack
Trademark (OpenStack™)
1. This is the legal definition of "core" and the why it matters to the
community.
2. We want to make sure that the OpenStack™ mark means something.
3. The OpenStack™ mark is not the same as the OpenStack brand; however,
the Board uses its control of the mark as a proxy to help manage the
brand.
2. Required Cloud Services is a subset of the whole project
1. OpenStack is a broad and diverse community with growing functionality.
This growing functionality is achieved via "projects" that expose
services to create Cloud Computing Platforms. This constant innovation
is vital to OpenStack. The pursuit of this Interop effort is to define
a common stable subset OpenStack functionality that most cloud platform
are using. Not all services, and not all features of chosen services
are required to do that. For OpenStack Logo Program The Open
Infrastructure Foundation defines what projects are required services.
Currently, the list of services consists of:
Nova, Keystone, Neutron, Cinder, Glance and Swift. See
`OpenStack Software page
<https://www.openstack.org/software/project-navigator/openstack-components/#openstack-services>`_.
2. The Interop effort is currently centered around three Platform programs:
- OpenStack Powered Platform,
- OpenStack Powered Compute and
- OpenStack Powered Storage.
Each of these programs have designated sections of OpenStack components
that form an important part of interoperability across implementations.
Alongside these platforms, there are also "add-on" services that extend
the functionality. OpenStack Powered Compute Platform
encompasses designated sections from:
- OpenStack Identity (keystone),
- OpenStack Compute (nova),
- OpenStack Image Storage (glance),
- OpenStack Block Storage (cinder) and
- OpenStack Networking (neutron) services.
The separate add-on guidelines include designated sections of:
- OpenStack DNS (designate),
- OpenStack Orchestration (heat) and
- OpenStack Shared File System Storage (manila) services, respectively.
3. There are other Add-on Trademarks that are managed together with
the Required Cloud Services by the Open Infrastructure Foundation,
and available for the platform ecosystem as per
the Boards discretion, and administered by Interop WG.
4. Currently there are three Add-on programs: OpenStack with DNS,
OpenStack with Orchestration, and OpenStack with Shared File System.
These three add Designate, Heat and Manila projects to the Openstack
Powered programs.
5. "OpenStack API Compatible" Trademark is not part of this discussion and
should be not be assumed.
3. Required Cloud Services and Add-on definitions can be applied equally
to all usage models
1. There should not be multiple definitions of OpenStack depending on
the operator (public, private, community, etc)
2. While expected that each deployment is identical, the differences
must be quantifiable
4. Claiming OpenStack requiring use of designated upstream code
1. Implementations claiming the OpenStack™ Trademark must use the OpenStack
upstream code (or be using code submitted to upstream)
2. You are not OpenStack, if you pass all the tests but do not use the
API framework
3. This also surfaces bit-rot in alternate implementations to the larger
community
4. This behavior improves interoperability because there is more shared
code between implementations
5. Projects must have an open reference implementation
1. OpenStack will require an open source reference base plug-in
implementation for projects (if not part of OpenStack, license model
for reference plug-in must be compatible).
2. Definition of a plug-in: alternate backend implementations with a
common API framework that uses common _code_ to implement the API.
That is commonly referred to as a driver.
3. This expects that projects (where technically feasible) are expected
to implement a plug-in or extension architecture.
4. This is already in place for several projects and addresses around
ecosystem support, enabling innovation.
5. Reference plug-ins are, by definition, the complete capability set.
It is not acceptable to have "core" features that are not functional
in the reference plug-in.
6. This will enable alternate implementations to offer innovative or
differentiated features without forcing changes to the reference
plug-in implementation. These are commonly referred to as vendor
drivers.
7. This will enable the reference to expand without forcing other
alternate implementations to match all features and recertify.
6. Vendors may utilize vendor plug-ins as alternative implementations
to reference plug-ins
1. If a vendor plug-in passes all relevant tests then it can be
considered a full substitute for the reference plug-in
2. If a vendor plug-in does NOT pass all relevant test then the vendor
is required to include the open source reference in the
implementation.
3. Vendor plug-in implementations may pass any tests that make sense
4. Vendor plug-in implementations should add tests to validate new
functionality.
5. They must have all the must-pass tests (see #10) to claim the
OpenStack Trademark.
6. OpenStack Implementations are verified by open community tests
7. Vendor OpenStack implementations must achieve 100% of must-have
coverage?
8. Implemented tests can be flagged as may-have requires list.
9. Certifiers will be required to disclose their testing gaps.
10. This will put a lot of pressure on the Tempest project.
11. Maintenance of the testing suite to become a core Open
Infrastructure Foundation responsibility.
This may require additional resources.
12. Implementations and products are allowed to have variation based on
publication of compatibility.
13. Consumers must have a way to determine how the system is different
from reference (posted, discovered, etc.)
14. Testing must respond in an appropriate way on BOTH pass and fail
(the wrong return rejects the entire suite)
15. Vendor plug-in implementations are applicable to all projects
under Interop programs, both Required Cloud Services and Add-ons.
7. Tests can be remotely or self-administered
1. Plug-in certification is driven by Tempest self-certification model
2. Self-certifiers are required to publish their results
3. Self-certified are required to publish enough information that a 3rd
party could build the reference implementation to pass the tests.
4. Self-certified must include the operating systems that have been
certified
5. It is preferred for self-certified implementation to reference an
OpenStack reference architecture "flavor" instead of defining their
own reference. (a way to publish and agree on flavors is needed)
6. The Open Infrastructure Foundation had defined a mechanism of
dispute resolution. (A trust but verify model)
7. As an ecosystem partner, you have a need to make a "works against
OpenStack" statement that is supportable
8. API consumer can claim working against the OpenStack API if it works
against any implementation passing all the "must have" tests(YES)
9. API consumers can state they are working against the OpenStack API
with some "may have" items as requirements
10. API consumers are expected to write tests that validate their
required behaviors (submitted as "may have" tests)
8. A subset of tests are chosen by the Open Infrastructure Foundation
as "must-pass"
1. How? Read the `Governance/CoreCriteria <./CoreCriteria.rst/>`_ Selection
Process
2. An OpenStack body will recommend which tests are elevated from
may-have to must-have
3. The selection of "must-pass" tests should be based on quantifiable
information when possible.
4. Must-pass tests should be selected from the existing body of
"may-pass" tests. This encourages people to write tests for cases
they want supported.
5. We will have a process by which tests are elevated from may to must
lists
6. Potentially: the User Committee will nominate tests that elevated to
the board
7. OpenStack Powered Trademark means passing all "must-pass" tests
9. The OpenStack board delegated to Interop WG responsibility
to define Trademark criteria to approve 'musts'.
1. The Interop WG will submit the must-pass tests to the Approval Committee
as a block and passed as a single motion.
2. We are NOT defining which items are on the list in this effort, just
making the position that it is how we will define Required Cloud
Services.
3. May-have tests include items in the integrated release, but which are
not core.
4. Must haves must comply with the Core criteria defined from the
IncUp committee results
5. Interop WG can propose new Add-on programs for inclusion for OpenStack
Powered Trademark to the Approval Committee.
6. Interop WG must bring to the Open Infrastructure Foundation any major
changes to OpenStack Trademark program for approval. Approval of new
guidelines, adding new projects to Add-on Trademark are not considered
major change to the operation of the OpenStack Trademark program. These
are handled by the Approval Committee. Process changes,
like the membership of the Approval Committee,
alignment of OpenStack Powered Logo to OpenStack
TC changes to grouping of OpenStack projects into use case scenarios
are examples of major changes that require the Open Infrastructure
Board approval.
10. OpenStack Trademark means passing all "must-pass" tests
1. The Approval Committee owns the responsibility
to define 'guidelines' - to approve 'musts'
2. We are NOT defining which items are on the list in this effort, just
making the position that it is how we will define guideline
3. May-have tests include items in the release, but which
are not core functionality of included projects.
4. Must haves must comply with the criteria defined in 'guidelines' from
the committee results
5. Projects that are not included in 'the Required Cloud Services'
or 'Add-on' programs
are not to be included in the 'may' or 'must' list

View File

@@ -1,103 +0,0 @@
=============
Core Criteria
=============
.. contents::
General
=======
This is a subcomponent of the larger `Core Definition
<./CoreDefinition.rst>`_ documentation.
Core Capability Selection uses 12 criteria grouped into four primary
categories:
:Usage: the capability is widely used (Refstack will collect data)
:Direction: the capability advances OpenStack technically
:Community: the capability builds the OpenStack community experience
:System: the capability integrates with other parts of OpenStack
These categories summarize critical values that we want in OpenStack and so
make sense to be the primary factors used when we select required Capabilities.
While we strive to make the process objective and quantitive, we
must recognize that these choices drive community behavior.
.. figure:: ../images/Defcore_capabilities_criteria.png
Graphic showing Capabilities Seleciton Criteria
Details
=======
With this perspective, here are the selection criteria.
*To make cross reference easier, criteria are given a shortened name.*
SHOWS PROVEN USAGE
------------------
* **"Widely Deployed"** Candidates are widely deployed capabilities. We favor
capabilities that are supported by multiple public cloud providers and
private cloud products.
* **"Used by Tools"** Candidates are widely used capabilities: Should be
included if supported by common tools outside of the OpenStack community
(RightScale, Scalr, CloudForms, jClouds, Fog, etc...).
* **"Used by Clients"** Candidates are widely used capabilities: Should be
included if called by common OpenStack clients (openstackclient,
neutronclient, novaclient, etc) if necessary. This Criteria pertains
mostly to API versioning. For example: if v2 of a given API is not used
by other OpenStack clients but v1 is, then v2 doesn't achieve the "used
by clients" Criteria.
ALIGNS WITH TECHNICAL DIRECTION
-------------------------------
* **"Future Direction"** Should reflect future technical direction (from the
project technical teams and the TC) and help manage deprecated
capabilities.
* **"Stable"** Capabilities are required to be stable for >2 releases because
we do not want required Capabilities that do not have dependable APIs.
* **"Complete"** Where the code being tested has a designated area of alternate
implementation (extension framework) as per the Interoperability Principles,
there should be parity in capability tested across extension implementations.
This also implies that the capability test is not configuration specific
or locked to non-open technology.
PLAYS WELL WITH OTHERS
----------------------
* **"Discoverable"** Capability being tested is Service Discoverable (can be
found in Keystone and via service introspection).
* **"Doc'd"** Should be well documented, particularly the expected behavior.
This can be a very subjective measure and we expect to refine this
definition over time.
* **"Required in Last Release"** A required capability should stay a required
capability. This makes Capabilities sticky per release. Leaving
the Interoperability Guidelines is disruptive to the ecosystem.
TAKES A SYSTEM VIEW
-------------------
* **"Foundation"** Capabilities that are required by other required
capabilities and/or depended on by many other capabilities.
* **"Atomic"** Capability is unique and cannot be built out of other
required capabilities.
* **"Proximity"** (sometimes called a Capability Cluster) selects for
capabilities that are related to other required capabilities. This helps
ensure that related capabilities are managed together.
NON-ADMIN
---------
The original 13th "non-admin" criteria has been removed because Admin
APIs cannot be used for interoperability and are not considered for end
users.

View File

@@ -1,65 +0,0 @@
=====================
Platform Capabilities
=====================
Platform and Program Capabilities
=================================
::
The following was approved by the OpenStack Board.
Extend the Interop WG principles to allow for multiple levels: programs and
platforms. Programs represent subsections of the overall platform. In some
cases, it is acceptable for a program identified without being included in
the platform. New programs are added at Foundation recommendation via board
approval. Programs are added to the platform via board approval.
The initial programs will be Compute & Object. The Platform will
require the Compute program, Object program and additional capabilities.
Havana Approved: The Compute Program will consist of the following
capabilities:
* compute-servers
* compute-volume
* compute-quotas
* compute-flavors
* compute-auth
* compute-keypairs
* compute-servers-metadata
* compute-floating-ips
* compute-images
* compute-instance-actions
* compute-security-groups
Havana Approved: The Object Program will consist of the following
capabilities:
* objectstore-object,
* objectstore-container
Havana Approved:: The Platform will consist of all the capabilities in the
Compute and Object programs and the following capabilities:
* images-v1
* volume
* volume-snapshots
Platform and Components Illustration
====================================
.. image:: ../images/DefCore_Platform_and_Programs_v14.jpg

View File

@@ -1,178 +0,0 @@
Process Cycles
==============
Defining OpenStack Core is a long term process and we are doing the work
in progressive cycles. For reference, we have named the cycles. This
helps describe concrete deliverables for a cycle while allowing
discussion of the broader long term issues. For example, we may say that
"item X is important to interoperability but out of scope for Elephant."
We have found that this approach to breaking down the problem is necessary
to maintain community consensus because we are taking smaller bites of the
larger challenge (aka eating the elephant).
Spider (Fall 2013)
------------------
Objectives
~~~~~~~~~~
* Find a consensus approach to moving forward on DefCore
* Define process by which Core will be defined
Elephant (Spring 2014)
----------------------
Objectives
~~~~~~~~~~
* If needed, change the bylaws to reflect the Spider Core Principles
* Establish the "must-pass" tests, processes and tools
* Define tests that will be used to determine core based on Spider
cycle work
* Lower the water in the discussion to expose broader issues
* Clearly identity "elephants" that we are not ready to resolve in this cycle
Meetings
~~~~~~~~
* https://etherpad.openstack.org/p/DefCoreElephant.2
* https://etherpad.openstack.org/p/DefCoreElephant.3
* https://etherpad.openstack.org/p/DefCoreElephant.4
* https://etherpad.openstack.org/p/DefCoreElephant.5
Lighthouse (Fall 2014)
----------------------
Objectives
~~~~~~~~~~
* Complete Capabilities Score for Havana (Advisory), Icehouse and
Juno
* Recommend by-laws changes for winter voting
* Launch refstack site for data collection and sharing
Meetings
~~~~~~~~
* https://etherpad.openstack.org/p/DefCoreLighthouse.1
* https://etherpad.openstack.org/p/DefCoreLighthouse.2
* https://etherpad.openstack.org/p/DefCoreLighthouse.3
* https://etherpad.openstack.org/p/DefCoreLighthouse.Bylaws1
* https://etherpad.openstack.org/p/DefCoreLighthouse.F2F
* https://etherpad.openstack.org/p/DefCoreBylawsIPE
Scale Cycle (Spring 2015)
-------------------------
Objectives
~~~~~~~~~~
* Capabilities for I & J
* Process approved by TC & Board
Process Meetings
~~~~~~~~~~~~~~~~
* https://etherpad.openstack.org/p/DefCoreScale.1
* https://etherpad.openstack.org/p/DefCoreScale.2
* https://etherpad.openstack.org/p/DefCoreScale.3
* https://etherpad.openstack.org/p/DefCoreScale.4
* https://etherpad.openstack.org/p/DefCoreScale.F2F
* https://etherpad.openstack.org/p/DefCoreScale.5
* https://etherpad.openstack.org/p/DefCoreScale.6
* https://etherpad.openstack.org/p/DefCoreScale.7
* https://etherpad.openstack.org/p/DefCoreScale.8
* https://etherpad.openstack.org/p/DefCoreScale.9
* https://etherpad.openstack.org/p/DefCoreScale.10
* https://etherpad.openstack.org/p/DefCoreScale.11
* https://etherpad.openstack.org/p/DefCoreScale.12
* https://etherpad.openstack.org/p/DefCoreScale.13
* https://etherpad.openstack.org/p/DefCoreScale.14
* https://etherpad.openstack.org/p/DefCoreScale.15
* https://etherpad.openstack.org/p/DefCoreScale.16
Capabilities Meetings
~~~~~~~~~~~~~~~~~~~~~
* https://etherpad.openstack.org/p/defcore-capabilities-jan-28-2015
* https://etherpad.openstack.org/p/defcore-capabilities-feb-04-2015
* https://etherpad.openstack.org/p/defcore-capabilities-feb-18-2015
* https://etherpad.openstack.org/p/defcore-capabilities-mar-04-2015
* https://etherpad.openstack.org/p/defcore-capabilities-mar-11-2015
* https://etherpad.openstack.org/p/defcore-capabilities-mar-25-2015
* https://etherpad.openstack.org/p/defcore-capabilities-apr-01-2015
* https://etherpad.openstack.org/p/defcore-capabilities-apr-08-2015
* https://etherpad.openstack.org/p/defcore-capabilities-apr-15-2015
* https://etherpad.openstack.org/p/defcore-capabilities-apr-22-2015
* https://etherpad.openstack.org/p/defcore-capabilities-apr-29-2015
* https://etherpad.openstack.org/p/defcore-capabilities-may-13-2015
Flag Cycle (Spring - Summer 2015)
---------------------------------
Objectives
~~~~~~~~~~
* Improve and clearly document the test flagging process.
* Ensure that DefCore/RefStack can include tests that are not run via Tempest.
* Determine a path forward for components with overlapping capabilities
(such as networking).
Meetings
~~~~~~~~
Meeting information for the Flag cycle will be archived here once the cycle
is complete. During the cycle, please refer to the
`Interop WG wiki page <https://wiki.openstack.org/wiki/Governance/InteropWG/>`_.
Future
------
Names to be decided when we get there. Topics that
are intentionally pushed into the future:
* OpenStack API Mark

View File

@@ -1,16 +0,0 @@
=====================
Process Documentation
=====================
.. toctree::
:maxdepth: 2
:includehidden:
CoreDefinition
DesignatedSections
GovernanceProcess
Lexicon
TrademarkProgram
2021A
procedure
InternalProcessDoc

View File

@@ -1,68 +0,0 @@
Interoperability Guideline Testing
==================================
Testing against 2017.01 until present Capabilities
--------------------------------------------------
Tempest can be run standalone, or under a test runner such as refstack-client.
We recommend running under refstack-client.
The test names of the capabilities are derived from a recent release of
Tempest, from the time of capability approval. Keep in mind that Tempest
is under active development, and tests may move. If you're not seeing
full coverage, please consider reverting back to a Tempest SHA that more
closely matches the capability release date. The git SHA of Tempest that was
known to be working at the time the Guideline was approved is listed in the
Guideline JSON document itself (just search for "git-sha"). Please contact
RefStack team at <openstack-discuss@lists.openstack.org> for assistance if
needed. Use [interop] and/or [refstack] tags in the subject of the email.
It's important to run a recent version of Tempest, as some bugs might have
been fixed just recently. refstack-client uses Tempest from a specific commit
(see setup_env script or README), which is intentionally older than master to
avoid compatibility issues with older stable releases of OpenStack.
Network provisioning have been fixed. Some tests are still flagged due to
outstanding bugs in the Tempest library, particularly tests that require SSH.
We are working on correcting these bugs upstream. Please note that
although some tests are flagged because of bugs, there is still an
expectation that the capabilities covered by the tests are available.
In addition to testing required capabilities, we are also interested
in collecting data on which API tests are being passed by production clouds.
This information will be very useful in determining which capabilities will be
used to define future releases. For that reason, we ask that you run all
tests rather than just the required subset when submitting results to
the OpenStack Foundation.
It is important to note that you MUST NOT modify the Tempest tests in any
way. Modifying the tests means that Capability being tested is validated
in a different way on your cloud than it is on other clouds, which voids
any guarantee of interoperability. If you're having problems passing
all required tests, please contact RefStack team at
<openstack-discuss@lists.openstack.org> for assistance or consider filing a
request to have the tests flagged.
Please refer to `HACKING <../hacking.rst>`_ for information on valid
reasons to flag a test and how to file a flag request. Results from
modified tests cannot be accepted as valid for trademark licensing
purposes.
Recommended Test Procedure
##########################
Follow steps mentioned in the refstack-client's documentation:
https://docs.opendev.org/openinfra/refstack-client/latest/readme.html
* Follow 'Environment setup' section to clone and install refstack-client
* Follow steps in 'Usage' section in order to run tests against a desired
OpenStack Marketing program.
* Review the test results, and when you're satisfied, upload it to RefStack
server (steps in the 'Usage' section) then send them to interop@openstack.org
* Every effort should be made to pass all of the required tests, but you
will want to compare any lists of failed tests to the list of flagged tests.
The refstack server will automatically grade tests results, taking
into account flagged tests.

View File

@@ -1,48 +0,0 @@
JSON Schema v1.2
====================
.. code-block:: json
{ "id": "2015.03", # Spec name (date based)
"source": "http://opendev.org/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" ]
},

View File

@@ -1,102 +0,0 @@
JSON Schema v1.3
====================
Changes from v1.2
:added: reference
:added: tests-repositories
:added: required-since
:added: tests now have block including idempotent_id and (optional) flagged
information
:change: guidelines to point to required-since
:change: tests from array to hash
:change: add hash after test-name keys
:change: flagged points to new location tests/test-name/flagged
:change: new version 1.3
.. code-block:: json
{ "id": "2015.03", # Spec name (date based)
"schema": "1.3", # Schema version
"reference": "http://github.com/openstack/defcore/schema.1.3.rst", # Schema description
"source": "http://opendev.org/openstack/defcore/", # git repo for files
"status": "approved", # can be draft, review, approved or superseded [see 2015B C6.3]
"replaces": "2014.07", # previous spec
"releases": ["icehouse"], # array of releases, lower case (generally three releases)
"platform": { # platform components
"required": [ # required array
"compute", "object"
],
"advisory": [], # incoming array
"deprecated": [], # 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"
]
},
},
"test-repositories": { # tracks difference possible test sources
"tempest": { # source of tests
"git-sha": "c77e46d8e3", # reference for automated checkout
"url": "https://opendev.org/openstack/tempest/" # git location from OpenStack
}
},
"criteria" : { # explains achievements
"core01" : {
"Description" : "blah blah blah",
"name" : "readable core01", # allows more readable name than key
"weight": 8 # total of all weights must be 100
},
}
"capabilities": { # capabilities listed in components
"example-cap" : { # capability key (cross reference to components required)
"achievements" : ["core01"], # array of criteria met. must be one of items from "criteria" section
"admin" : false, # boolean designating whether an admin API is required
"status" : "required", # One of: required, advisory, deprecated, or removed
"guidelines" : ["deprecated"] # deprecated DO NOT USE
"required-since" : "2015.05" # guideline where capability became required, "" if not required
"description" : "Helpful Description",
"flagged" : [], # deprecated DO NOT USE, moved under test
"name" : "Friendly Short Name",
"tests" : { # hash of tests (use unique names)
"tempest.api.project.file.class.test_name" : { # test ID
"idempotent_id" : "id-123-456", # internal test identifier to track changes if test is moved
"flagged" : { # This section is required only if the test is flagged
"reason" : "why this test was flagged", # required to support flag request
"action" : "proposed action to resolve", # required path to resolve flag
"date" : "yyyy-mm-dd" # date flag was proposed (not approved)
}
},
},
},
},
"designated-sections" : { # designated sections
"required" : { # sections that are required for this Guideline
"nova" : { # project name
"guidance": "short description", # general information providing actionable detail
"comment": "optional rationale", # additional clairification
"sections": { # hash of sections, project specific
"section": { # key / name of a section
"description": "useful detail", # expand on key in useful way
"designated": false, # boolean. true if designated. must align with guidance
"comment": "none provided" # optional details
}
}
}
},
"advisory" : { # not required in this Guideline but may be required in a future guideline },
"deprecated" : { # no longer required in this Guideline and will be removed in futur Guidelines },
"removed" : { # no longer required and have been removed since the last Guideline }
}
}

View File

@@ -1,113 +0,0 @@
JSON Schema v1.4
====================
Changes from v1.3
:change: update the aliases field description
:added: aliases field in test block
:added: cutoff_score
:added: target_approval
:removed: Status field in Capability blocks (as it duplicates the information
already present in the Components list)
Changes from v1.2
:added: reference
:added: tests-repositories
:added: required-since
:added: tests now have block including idempotent_id and (optional) flagged
information
:change: guidelines to point to required-since
:change: tests from array to hash
:change: add hash after test-name keys
:change: flagged points to new location tests/test-name/flagged
:change: new version 1.3
.. code-block:: json
{ "id": "2016.01", # Spec name (date based)
"schema": "1.4", # Schema version
"reference": "http://github.com/openstack/defcore/schema.1.4.rst", # Schema description
"source": "http://opendev.org/openstack/defcore/", # git repo for files
"status": "approved", # can be draft, review, approved or superseded [see 2015B C6.3]
"cutoff_score": "74", # the minimum score a Capability must achieve to be required in this Guideline
"target_approval": "2016-01-27", # Target date for BoD to approve Guideline
"replaces": "2015.07", # previous spec
"releases": ["icehouse"], # array of releases, lower case (generally three releases)
"platform": { # platform components
"required": [ # required array
"compute", "object"
],
"advisory": [], # incoming array
"deprecated": [], # 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"
]
},
},
"test-repositories": { # tracks difference possible test sources
"tempest": { # source of tests
"git-sha": "c77e46d8e3", # reference for automated checkout
"url": "https://opendev.org/openstack/tempest/" # git location from OpenStack
}
},
"criteria" : { # explains achievements
"core01" : {
"Description" : "blah blah blah",
"name" : "readable core01", # allows more readable name than key
"weight": 8 # total of all weights must be 100
},
}
"capabilities": { # capabilities listed in components
"example-cap" : { # capability key (cross reference to components required)
"achievements" : ["core01"], # array of criteria met. must be one of items from "criteria" section
"admin" : false, # boolean designating whether an admin API is required
"guidelines" : ["deprecated"] # deprecated DO NOT USE
"required-since" : "2015.05" # guideline where capability became required, "" if not required
"description" : "Helpful Description",
"flagged" : [], # deprecated DO NOT USE, moved under test
"name" : "Friendly Short Name",
"tests" : { # hash of tests (use unique names)
"tempest.api.project.file.class.test_name" : { # test ID
"idempotent_id" : "id-123-456", # internal test identifier to track changes if test is moved
"aliases" : [], # A list of other names used to identify the same test, as sometimes test names change due to refactoring in Tempest. The name used as the key in the hash should be the name of the test as it was at the time the guideline was approved. Thus if this is a future guideline, move the old name here and put the new name as the hash key. If this is an approved guideline, then the new name goes in this list.
"flagged" : { # This section is required only if the test is flagged
"reason" : "why this test was flagged", # required to support flag request
"action" : "proposed action to resolve", # required path to resolve flag
"date" : "yyyy-mm-dd" # date flag was proposed (not approved)
}
},
},
},
},
"designated-sections" : { # designated sections
"required" : { # sections that are required for this Guideline
"nova" : { # project name
"guidance": "short description", # general information providing actionable detail
"comment": "optional rationale", # additional clairification
"sections": { # hash of sections, project specific
"section": { # key / name of a section
"description": "useful detail", # expand on key in useful way
"designated": false, # boolean. true if designated. must align with guidance
"comment": "none provided" # optional details
}
}
}
},
"advisory" : { # not required in this Guideline but may be required in a future guideline },
"deprecated" : { # no longer required in this Guideline and will be removed in futur Guidelines },
"removed" : { # no longer required and have been removed since the last Guideline }
}
}

View File

@@ -1,321 +0,0 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "http://opendev.org/openstack/defcore/doc/source/schema/1.5.json",
"type": "object",
"required": [
"id",
"schema",
"reference",
"source",
"status",
"replaces",
"target_approval",
"releases",
"platform",
"components",
"capabilities",
"designated-sections",
"criteria"
],
"properties": {
"id": {
"type": "string"
},
"schema": {
"type": "string"
},
"reference": {
"type": "string"
},
"source": {
"type": "string"
},
"status": {
"enum": [ "draft", "advisory", "approved", "superseded" ]
},
"replaces": {
"type": "string"
},
"target_approval": {
"type": "string",
"pattern": "\\d{4}-\\d{2}-\\d{2}"
},
"releases": {
"type": "array",
"items": {
"type": "string",
"minItems": 1,
"uniqueItems": true
}
},
"platform": {
"type": "object",
"properties": {
"required": {
"type": "array",
"items": {
"type": "string"
}
},
"advisory": {
"type": "array",
"items": {
"type": "string"
}
},
"deprecated": {
"type": "array",
"items": {
"type": "string"
}
},
"removed": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"components": {
"type": "object",
"patternProperties": {
"^\\w+$": {
"$ref": "#/definitions/component"
}
},
"additionalProperties": false
},
"capabilities": {
"type": "object",
"patternProperties": {
"^\\w+$": {
"$ref": "#/definitions/capabilty"
}
}
},
"designated-sections": {
"type": "object",
"required": [ "required", "advisory", "deprecated", "removed", "informational" ],
"properties": {
"required": {
"type": "object",
"patternProperties": {
"^\\w+$": {
"$ref": "#/definitions/designated-section"
}
}
},
"advisory": {
"type": "object",
"patternProperties": {
"^\\w+$": {
"$ref": "#/definitions/designated-section"
}
}
},
"deprecated": {
"type": "object",
"patternProperties": {
"^\\w+$": {
"$ref": "#/definitions/designated-section"
}
}
},
"removed": {
"type": "object",
"patternProperties": {
"^\\w+$": {
"$ref": "#/definitions/designated-section"
}
}
},
"informational": {
"type": "object",
"patternProperties": {
"^\\w+$": {
"$ref": "#/definitions/designated-section"
}
}
}
},
"additionalProperties": false
},
"criteria": {
"type": "object",
"patternProperties": {
"^\\w+$": {
"$ref": "#/definitions/criteria"
}
},
"additionalProperties": false
}
},
"definitions": {
"component": {
"type": "object",
"required": [ "required", "advisory", "deprecated", "removed" ],
"properties": {
"required": {
"type": "array",
"items": {
"type": "string"
}
},
"advisory": {
"type": "array",
"items": {
"type": "string"
}
},
"deprecated": {
"type": "array",
"items": {
"type": "string"
}
},
"removed": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
},
"capability": {
"type": "object",
"required": [ "achievements",
"admin",
"description",
"project",
"require-since",
"tests"
],
"properties": {
"achievements": {
"type": "array",
"items": {
"enum": [
"foundation",
"complete",
"proximity",
"clients",
"discover",
"sticky",
"future",
"atomic",
"stable",
"tools",
"deployed",
"TODO ADD LAST ITEM HERE"
],
"uniqueItems": true
}
},
"admin": {
"type": "boolean"
},
"description": {
"type": "string"
},
"project": {
"type": "string"
},
"required-since": {
"type": "string",
"pattern": "^(\\d{4}-\\d{2}-\\d{2})?$"
},
"tests": {
"type": "object",
"patternProperties": {
"^\\w+$": {
"$ref": "#/definitions/test"
}
}
}
}
},
"criteria": {
"type": "object",
"required": [ "Description", "name", "weight" ],
"properties": {
"Description": {
"type": "string"
},
"name": {
"type": "string"
},
"weight": {
"type": "integer"
}
}
},
"test": {
"type": "object",
"required": [ "idempotent_id" ],
"properties": {
"idempotent_id": {
"type": "string"
},
"flagged": {
"type": "object",
"required": [ "reason", "action", "date" ],
"properties": {
"reason": {
"type": "string",
"pattern": "^D\\d{3} \\w+"
},
"action": {
"type": "string"
},
"date": {
"type": "string",
"pattern": "\\d{4}-\\d{2}-\\d{2}"
}
}
},
"aliases": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"uniqueItems": true
}
}
},
"designated-section": {
"type": "object",
"required": [ "guidance", "comment", "sections" ],
"properties": {
"guidance": {
"type": "string"
},
"comment": {
"type": "string"
},
"sections": {
"type": "object",
"patternProperties": {
"^\\w+$": {
"type": "object",
"required": [ "description", "designated", "comment" ],
"properties": {
"description": {
"type": "string"
},
"designated": {
"type": "boolean"
},
"comment": {
"type": "string"
}
}
}
}
}
}
}
}
}

View File

@@ -1,144 +0,0 @@
DefCore Schema v1.5 Change Log
==============================
Changes from v1.4
:change: move to formal json schema.
Changes from v1.3
:change: update the aliases field description
:added: aliases field in test block
:added: cutoff_score
:added: target_approval
:removed: Status field in Capability blocks (as it duplicates the information
already present in the Components list)
Changes from v1.2
:added: reference
:added: tests-repositories
:added: required-since
:added: tests now have block including idempotent_id and (optional) flagged
information
:change: guidelines to point to required-since
:change: tests from array to hash
:change: add hash after test-name keys
:change: flagged points to new location tests/test-name/flagged
:change: new version 1.3
Annotated Sample
================
Schema sample and annotations for reference only. Full schema
follows.
.. code-block:: json
{ "id": "2016.01", # Spec name (date based)
"schema": "1.5", # Schema version
"reference": "http://github.com/openstack/defcore/schema.1.4.rst",
# Schema description
"source": "http://opendev.org/openstack/defcore/",
# git repo for files
"status": "approved", # can be draft, review, approved or superseded [see 2015B C6.3]
"cutoff_score": "74", # the minimum score a Capability must achieve to be required in this Guideline
"target_approval": "2016-01-27",
# Target date for BoD to approve Guideline
"replaces": "2015.07", # previous spec
"releases": ["icehouse"], # array of releases, lower case (generally three releases)
"platform": { # platform components
"required": [ # required component array
"compute", "object"
],
"advisory": [], # incoming component array
"deprecated": [], # outgoing component array
"removed": [] # removed component array
},
"components": { # components detail
"compute": { # component name
"required": [ # required component array
"compute-auth"
],
"advisory": [ # incoming component array
"compute-servers-metadata"
],
"deprecated": [], # outgoing component array
"removed": [ # removed component array
"volume"
]
},
},
"test-repositories": { # tracks difference possible test sources
"tempest": { # source of tests
"git-sha": "c77e46d8e3",
# reference sha for automated checkout of known working release
"url": "https://opendev.org/openstack/tempest/"
# repository location
}
},
"criteria" : { # explains achievements
"core01" : {
"Description" : "blah blah blah",
"name" : "readable core01",
# allows more readable name than key
"weight": 8 # total of all weights must be 100
},
}
"capabilities": { # capabilities listed in components
"example-cap" : { # capability key (cross reference to components required)
"achievements" : ["core01"],
# array of criteria met. must be one of items from "criteria" section
"admin" : false, # boolean designating whether an admin API is required
"required-since" : "2015.05"
# guideline where capability became required, "" if not required
"description" : "Helpful Description",
"name" : "Friendly Short Name",
"tests" : { # hash of tests (use unique names)
"tempest.api.project.file.class.test_name" : {
# test ID
"idempotent_id" : "id-123-456", # internal test identifier to track changes if test is moved
"aliases" : [], # A list of other names used to identify the same test, as sometimes
# test names change due to refactoring in Tempest. The name used as
# the key in the hash should be the name of the test as it was at the
# time the guideline was approved. Thus if this is a future guideline,
# move the old name here and put the new name as the hash key. If this
# is an approved guideline, then the new name goes in this list.
"flagged" : { # This section is required only if the test is flagged
"reason" : "why this test was flagged",
# required to support flag request
"action" : "proposed action to resolve",
# required path to resolve flag
"date" : "yyyy-mm-dd"
# date flag was proposed (not approved)
}
},
},
},
},
"designated-sections" : { # designated sections
"required" : { # sections that are required for this Guideline
"nova" : { # project name
"guidance": "short description", # general information providing actionable detail
"comment": "optional rationale", # additional clairification
"sections": { # hash of sections, project specific
"section": { # key / name of a section
"description": "useful detail", # expand on key in useful way
"designated": false, # boolean. true if designated. must align with guidance
"comment": "none provided" # optional details
}
}
}
},
"advisory" : {}, # not required in this Guideline but may be required in a future guideline
"deprecated" : {}, # no longer required in this Guideline and will be removed in futur Guidelines
"removed" : {} # no longer required and have been removed since the last Guideline
}
}
JSON Schema Definition
======================
.. literalinclude:: 1.5.json

View File

@@ -1,324 +0,0 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "http://opendev.org/openstack/defcore/doc/source/schema/1.6.json",
"type": "object",
"required": [
"id",
"schema",
"reference",
"source",
"status",
"replaces",
"target_approval",
"releases",
"platform",
"components",
"capabilities",
"designated-sections",
"criteria"
],
"properties": {
"id": {
"type": "string"
},
"schema": {
"type": "string"
},
"reference": {
"type": "string"
},
"source": {
"type": "string"
},
"status": {
"enum": [ "draft", "advisory", "approved", "superseded" ]
},
"replaces": {
"type": "string"
},
"target_approval": {
"type": "string",
"pattern": "\\d{4}-\\d{2}-\\d{2}"
},
"releases": {
"type": "array",
"items": {
"type": "string",
"minItems": 1,
"uniqueItems": true
}
},
"platform": {
"type": "object",
"properties": {
"required": {
"type": "array",
"items": {
"type": "string"
}
},
"advisory": {
"type": "array",
"items": {
"type": "string"
}
},
"deprecated": {
"type": "array",
"items": {
"type": "string"
}
},
"removed": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
},
"components": {
"type": "object",
"patternProperties": {
"^\\w+$": {
"$ref": "#/definitions/component"
}
}
},
"capabilities": {
"type": "object",
"patternProperties": {
"^\\w+$": {
"$ref": "#/definitions/capabilty"
}
}
},
"designated-sections": {
"type": "object",
"required": [ "required", "advisory", "deprecated", "removed", "informational" ],
"properties": {
"required": {
"type": "object",
"patternProperties": {
"^\\w+$": {
"$ref": "#/definitions/designated-section"
}
}
},
"advisory": {
"type": "object",
"patternProperties": {
"^\\w+$": {
"$ref": "#/definitions/designated-section"
}
}
},
"deprecated": {
"type": "object",
"patternProperties": {
"^\\w+$": {
"$ref": "#/definitions/designated-section"
}
}
},
"removed": {
"type": "object",
"patternProperties": {
"^\\w+$": {
"$ref": "#/definitions/designated-section"
}
}
},
"informational": {
"type": "object",
"patternProperties": {
"^\\w+$": {
"$ref": "#/definitions/designated-section"
}
}
}
},
"additionalProperties": false
},
"criteria": {
"type": "object",
"patternProperties": {
"^\\w+$": {
"$ref": "#/definitions/criteria"
}
}
}
},
"definitions": {
"component": {
"type": "object",
"required": [ "required", "advisory", "deprecated", "removed" ],
"properties": {
"required": {
"type": "array",
"items": {
"type": "string"
}
},
"advisory": {
"type": "array",
"items": {
"type": "string"
}
},
"deprecated": {
"type": "array",
"items": {
"type": "string"
}
},
"removed": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
},
"capability": {
"type": "object",
"required": [ "achievements",
"admin",
"description",
"project",
"require-since",
"tests"
],
"properties": {
"achievements": {
"type": "array",
"items": {
"enum": [
"foundation",
"complete",
"proximity",
"clients",
"discover",
"sticky",
"future",
"atomic",
"stable",
"tools",
"deployed",
"TODO ADD LAST ITEM HERE"
],
"uniqueItems": true
}
},
"admin": {
"type": "boolean"
},
"description": {
"type": "string"
},
"project": {
"type": "string"
},
"required-since": {
"type": "string",
"pattern": "^(\\d{4}-\\d{2}-\\d{2})?$"
},
"tests": {
"type": "object",
"patternProperties": {
"^\\w+$": {
"$ref": "#/definitions/test"
}
}
}
},
"additionalProperties": false
},
"criteria": {
"type": "object",
"required": [ "Description", "name", "weight" ],
"properties": {
"Description": {
"type": "string"
},
"name": {
"type": "string"
},
"weight": {
"type": "integer"
}
},
"additionalProperties": false
},
"test": {
"type": "object",
"required": [ "idempotent_id" ],
"properties": {
"idempotent_id": {
"type": "string"
},
"flagged": {
"type": "object",
"required": [ "reason", "action", "date" ],
"properties": {
"reason": {
"type": "string",
"pattern": "^D\\d{3} \\w+"
},
"action": {
"type": "string"
},
"date": {
"type": "string",
"pattern": "\\d{4}-\\d{2}-\\d{2}"
}
}
},
"aliases": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"uniqueItems": true
}
},
"additionalProperties": false
},
"designated-section": {
"type": "object",
"required": [ "guidance", "comment", "sections" ],
"properties": {
"guidance": {
"type": "string"
},
"comment": {
"type": "string"
},
"sections": {
"type": "object",
"patternProperties": {
"^\\w+$": {
"type": "object",
"required": [ "description", "designated", "comment" ],
"properties": {
"description": {
"type": "string"
},
"designated": {
"type": "boolean"
},
"comment": {
"type": "string"
}
}
}
}
}
},
"additionalProperties": false
}
}
}

View File

@@ -1,146 +0,0 @@
Interop WG Schema v1.6 Change Log
==================================
Changes from v1.5
:change: Where possible, disallowed additional properties
Changes from v1.4
:change: move to formal json schema.
Changes from v1.3
:change: update the aliases field description
:added: aliases field in test block
:added: cutoff_score
:added: target_approval
:removed: Status field in Capability blocks (as it duplicates the information
already present in the Components list)
Changes from v1.2
:added: reference
:added: tests-repositories
:added: required-since
:added: tests now have block including idempotent_id and (optional) flagged
information
:change: guidelines to point to required-since
:change: tests from array to hash
:change: add hash after test-name keys
:change: flagged points to new location tests/test-name/flagged
:change: new version 1.3
Annotated Sample
================
Schema sample and annotations for reference only. Full schema
follows.
.. code-block:: json
{ "id": "2016.01", # Spec name (date based)
"schema": "1.6", # Schema version
"reference": "http://github.com/openstack/defcore/schema.1.6.json",
# Schema description
"source": "http://opendev.org/openstack/defcore/",
# git repo for files
"status": "approved", # can be draft, advisory, approved or superseded [see 2015B C6.3]
"cutoff_score": "74", # the minimum score a Capability must achieve to be required in this Guideline
"target_approval": "2016-01-27",
# Target date for BoD to approve Guideline
"replaces": "2015.07", # previous spec
"releases": ["icehouse"], # array of releases, lower case (generally three releases)
"platform": { # platform components
"required": [ # required component array
"compute", "object"
],
"advisory": [], # incoming component array
"deprecated": [], # outgoing component array
"removed": [] # removed component array
},
"components": { # components detail
"compute": { # component name
"required": [ # required component array
"compute-auth"
],
"advisory": [ # incoming component array
"compute-servers-metadata"
],
"deprecated": [], # outgoing component array
"removed": [ # removed component array
"volume"
]
},
},
"test-repositories": { # tracks difference possible test sources
"tempest": { # source of tests
"git-sha": "c77e46d8e3",
# reference sha for automated checkout of known working release
"url": "https://opendev.org/openstack/tempest/"
# repository location
}
},
"criteria" : { # explains achievements
"core01" : {
"Description" : "blah blah blah",
"name" : "readable core01",
# allows more readable name than key
"weight": 8 # total of all weights must be 100
},
}
"capabilities": { # capabilities listed in components
"example-cap" : { # capability key (cross reference to components required)
"achievements" : ["core01"],
# array of criteria met. must be one of items from "criteria" section
"admin" : false, # boolean designating whether an admin API is required
"required-since" : "2015.05"
# guideline where capability became required, "" if not required
"description" : "Helpful Description",
"name" : "Friendly Short Name",
"tests" : { # hash of tests (use unique names)
"tempest.api.project.file.class.test_name" : {
# test ID
"idempotent_id" : "id-123-456", # internal test identifier to track changes if test is moved
"aliases" : [], # A list of other names used to identify the same test, as sometimes
# test names change due to refactoring in Tempest. The name used as
# the key in the hash should be the name of the test as it was at the
# time the guideline was approved. Thus if this is a future guideline,
# move the old name here and put the new name as the hash key. If this
# is an approved guideline, then the new name goes in this list.
"flagged" : { # This section is required only if the test is flagged
"reason" : "why this test was flagged",
# required to support flag request
"action" : "proposed action to resolve",
# required path to resolve flag
"date" : "yyyy-mm-dd"
# date flag was proposed (not approved)
}
},
},
},
},
"designated-sections" : { # designated sections
"required" : { # sections that are required for this Guideline
"nova" : { # project name
"guidance": "short description", # general information providing actionable detail
"comment": "optional rationale", # additional clairification
"sections": { # hash of sections, project specific
"section": { # key / name of a section
"description": "useful detail", # expand on key in useful way
"designated": false, # boolean. true if designated. must align with guidance
"comment": "none provided" # optional details
}
}
}
},
"advisory" : {}, # not required in this Guideline but may be required in a future guideline
"deprecated" : {}, # no longer required in this Guideline and will be removed in futur Guidelines
"removed" : {} # no longer required and have been removed since the last Guideline
}
}
JSON Schema Definition
======================
.. literalinclude:: 1.6.json

View File

@@ -1,353 +0,0 @@
{
"$schema": "http://json-schema.org/draft-06/schema#",
"id": "https://opendev.org/openinfra/interop/raw/branch/master/doc/source/schema/2.0.json",
"type": "object",
"properties": {
"metadata": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"schema": {
"type": "string"
},
"reference": {
"type": "string"
},
"source": {
"type": "string"
},
"scoring": {
"type": "object",
"properties": {
"cutoff_score": {
"type": "integer"
},
"criteria": {
"type": "object",
"patternProperties": {
"^[A-Za-z0-9_-]+": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"weight": {
"type": "integer"
}
},
"required": [
"name",
"description",
"weight"
]
}
}
}
}
},
"os_trademark_approval": {
"type": "object",
"properties": {
"target_approval": {
"type": "string",
"pattern": "\\d\\d\\d\\d.\\d\\d"
},
"replaces": {
"type": "string",
"pattern": "\\d\\d\\d\\d.\\d\\d"
},
"releases": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
},
"uniqueItems": true
},
"status": {
"enum": ["draft", "advisory", "approved", "superseded"]
}
},
"required": [
"target_approval",
"releases",
"status"
],
"additionalProperties": false
}
},
"required": [
"id",
"schema",
"reference",
"source"
],
"additionalProperties": true
},
"platforms": {
"type": "object",
"patternProperties": {
"^\\w+$": {
"type": "object",
"additionalProperties": false,
"required": [ "components" ],
"properties": {
"description": { "type": "string" },
"components": {
"$ref": "#/definitions/component_reference",
"type": "array",
"items": {
"type": "object",
"required": ["name"],
"additionalProperties": false,
"properties": {
"source": {
"type": "string"
},
"name": {
"type": "string"
}
}
}
}
}
}
}
},
"add-ons": {
"type": "object",
"patternProperties": {
"^\\w+$": {
"type": "object",
"additionalProperties": false,
"properties": {
"description": { "type": "string" },
"components": {
"$ref": "#/definitions/component_reference",
"type": "array",
"items": {
"type": "object",
"required": ["name"],
"additionalProperties": false,
"properties": {
"source": {
"type": "string"
},
"name": {
"type": "string"
}
}
}
},
"required_platform_components": {
"$ref": "#/definitions/component_reference",
"type": "array",
"items": {
"type": "object",
"required": ["name"],
"additionalProperties": false,
"properties": {
"source": {
"type": "string"
},
"name": {
"type": "string"
}
}
}
},
"optional_platform_components": {
"$ref": "#/definitions/component_reference",
"type": "array",
"items": {
"type": "object",
"required": ["name"],
"additionalProperties": false,
"properties": {
"source": {
"type": "string"
},
"name": {
"type": "string"
}
}
}
}
}
}
}
},
"components": {
"type": "object",
"patternProperties": {
"^\\w+$": {
"type": "object",
"patternProperties": {
"capabilities|designated_sections": {
"type": "object",
"additionalProperties": false,
"patternProperties": {
"required|advisory|deprecated|removed": {
"type": "array",
"items": { "type": "string" }
}
}
}
}
}
}
},
"capabilities": {
"type": "object",
"patternProperties": {
"^\\w+$": {
"type": "object",
"properties": {
"achievements": {
"type": "array",
"items": { "type": "string" },
"uniqueItems": true
},
"admin": { "type": "boolean" },
"required_since": {
"type": "string",
"pattern": "\\d\\d\\d\\d.\\d\\d"
},
"description": { "type": "string" },
"tests": {
"type": "object",
"patternProperties": {
"^\\w+$": {
"type": "object",
"required": [ "idempotent_id" ],
"properties": {
"idempotent_id": { "type": "string" },
"aliases": {
"type": "array",
"items": { "type": "string" },
"minItems": 1,
"uniqueItems": true
},
"flag": {
"type": "object",
"required": [ "reason", "action", "date" ],
"properties": {
"reason": {
"type": "string",
"pattern": "^D\\d{3} \\w+"
},
"action": {
"type": "string"
},
"date": {
"type": "string",
"pattern": "\\d{4}-\\d{2}-\\d{2}"
}
}
}
}
}
}
},
"project": {
"type": "string"
}
},
"required": [
"achievements",
"admin",
"description",
"project",
"tests"
],
"additionalProperties": false
}
}
},
"designated_sections": {
"type": "object",
"patternProperties": {
"^\\w+$": {
"type": "object",
"patternProperties": {
"required|advisory|deprecated|removed|informational": {
"type": "object",
"required": [ "guidance", "sections"],
"properties": {
"guidance": {
"type": "string"
},
"comment": {
"type": "string"
},
"sections": {
"type": "object",
"patternProperties": {
"^\\w+$": {
"type": "object",
"required": ["description", "designated"],
"properties": {
"description": {
"type": "string"
},
"designated": {
"type": "boolean"
},
"comment": {
"type": "string"
}
}
}
}
}
}
}
}
}
}
},
"test_repositories": {
"type": "object",
"patternProperties": {
"^\\w+$": {
"type": "object",
"additionalProperties": false,
"required": [ "repository" ],
"properties": {
"repository": { "type": "string" },
"reference": { "type": "string" },
"description": { "type": "string" }
}
}
}
}
},
"required": [
"metadata",
"components",
"capabilities",
"designated_sections",
"test_repositories"
],
"additionalProperties": false,
"definitions": {
"component_reference": {
"type": "array",
"items": {
"type": "object",
"required": [ "name" ],
"additionalProperties": false,
"properties": {
"name": { "type": "string" },
"source": { "type": "string"
}
}
}
}
}
}

View File

@@ -1,342 +0,0 @@
====================================================
The OpenStack Interoperability Guideline Format v2.0
====================================================
The following document describes the organization and formatting of each
section and subsection of the guideline format.
metadata
--------
Information about the schema version, the id, scoring, board approval
process, and other information.
id
~~
The string identifier of guideline. Typically for the OpenStack Interop
Working group it refers to the date and month of approval (for example
`2017.08`), and `next` for the current proposed working guideline.
schema
~~~~~~
A reference to the schema used to validate the guideline.
reference
~~~~~~~~~
The URL of the guideline.
source
~~~~~~
The URL of the repository where the guideline is hosted.
scoring
~~~~~~~
An optional section that described the criteria used to score the
capabilities.
cutoff_score
````````````
The minimum score a capability needs to be considered for inclusion into
the interoperability standard.
criteria
````````
A list of the criteria, with each criteria made up of a:
name
The name of the criteria
description
A short description of the criteria
weight
An integer weight to assign the criteria
os_trademark_approval
~~~~~~~~~~~~~~~~~~~~~
Information related to board approval of guidelines for the OpenStack
Powered Trademark Program. Required for board-approved guidelines,
optional and not required for independent guidelines. Consists of:
target_approval
The target approval date for the guideline.
replaces
The ID of the guidelines this guideline replaces
releases
An array of OpenStack release names the guideline covers.
status
The current approval status of the guideline.
platforms
---------
A dictionary of all of the Platform objects that are defined in this
guideline. A Platform is a standalone collection of components that
provides some major set of services. For example, OpenStack Powered
Platform offers all of the core OpenStack services: identity, compute,
networking, image storage, block storage, and object storage.
description
~~~~~~~~~~~
An optional description of the platform.
components
~~~~~~~~~~
A list of all of the components that belong in this platform. Each
component is an object with the following two fields:
name
The name of the component, should match the name of the component
defined in this document or in the optional source field.
source
Optional, a reference to the guideline where the component is
defined.
add-ons
----------
A dictionary of all of the add-on objects that are defined in this
guideline. add-ons are collections of capabilities that provide
additional services and functionality on top of an existing platform.
An example might be orchestration on top of OpenStack Powered
Platform. In addition to defining what capabilities make up the
add-on, components that are required to be present for the program
to run may be specified. In this way, implicit compatibility with
multiple platforms can be established. For example, a DNS add-on
might require a compute component to work, but not a storage
component. This would make that particular add-on implicitly
compatible with OpenStack Powered Platform and OpenStack Powered
compute, but not OpenStack Powered Storage.
description
~~~~~~~~~~~
An optional description of the add-on.
components
~~~~~~~~~~
A list of all of the components that belong in this add-on. Each
component is an object with the following two fields:
name
The name of the component, should match the name of the component
defined in this document or in the optional source field.
source
Optional, a reference to the guideline where the component is
defined.
required_platform_components
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
A list of all of the components that are required to be present in the
host platform for the add-on. Each component is an object with the
following two fields:
name
The name of the component, should match the name of the component
defined in this document or in the optional source field.
source
Optional, a reference to the guideline where the component is
defined.
optional_platform_components
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
A list of all of the components that, if present in the host platform,
is compatible with this add-on. Each component is an object with the
following two fields:
name
The name of the component, should match the name of the component
defined in this document or in the optional source field.
source
Optional, a reference to the guideline where the component is
defined.
components
----------
A component is a collection of capabilities and designated sections,
that is used to constuct a complete set of services. For
example, the `storage` component may collect a full set of capabilities
needed to run Swift Object Storage, including capabilities from both
the Swift project and the Keystone project (for identity services).
capabilities
~~~~~~~~~~~~
An object with lists of capabilities, classified according to their
approval status. The capability names must appear in this guideline,
or in another referred guideline.
required
An array of capabilities that are required to be present for
interoperability according to the guideline.
advisory
An array of capabilities that are being considered for inclusion in
the next guideline release.
deprecated
An array of capabilities that may be present within an interoperable
product, but should not be depended on, may not work, and will be
removed.
removed
An array of capabilities that were required or deprecated in the
former guideline, but have not been removed.
designated_sections
~~~~~~~~~~~~~~~~~~~
An object with lists of designated sections, classified according to
their approval status. The designated section names must appear in
this guideline or in another referred guideline.
required
An array of that are required to be present for
interoperability according to the guideline.
advisory
An array of that are being considered for inclusion in
the next guideline release.
deprecated
An array of that may be present within an interoperable
product, but should not be depended on, may not work, and will be
removed.
removed
An array of that were required or deprecated in the
former guideline, but have not been removed.
capabilities
------------
A collection of capability definitions, indexed by the capability name.
This section describes the content of a capability definition.
achievements
~~~~~~~~~~~~
A list of criteria, defined in the scoring section of this guideline,
that this capability meets.
admin
~~~~~
A boolean that indicates if the capability requires administrator
access.
required_since
~~~~~~~~~~~~~~
An optional field that references the id of the guideline of when this
capability was first required.
description
~~~~~~~~~~~
A description of the capability.
project
~~~~~~~
A reference to the project in the designated section for which the code
that provides this capability can be found.
tests
~~~~~
An dictionary of tests that the a product must pass to be considered to
have this capability available. All tests that aren't flagged must
be passed. Each test is indexed by its fully qualified test name.
test definition
```````````````
A test an object that can identify the location of a test, even if that
test has moved in a code repository. It has:
idempotent_id
A UUID attached to the test that will not change, even if the test is
moved during refactoring.
aliases
An optional array of fully qualified test names. Used to locate tests
different versions of the same test suite, in case of test
refactoring
flag
An object that if present, indicates a problem with the test that
changes its status from must-pass to optional-pass.
flag
^^^^
A flag has the following fields:
date
When the flag was added to the test.
reason
A reason for why the test was flagged.
action
What action will be taken to resolve the flag, including but not
limited to fixing the test in the upstream test suite, or removing
it from the capability in a future guideline.
designated_sections
-------------------
A dictionary of designated sections, indexed by project name, that
describe what code must be present for a product to be considered
an OpenStack project. Within the project object, there is further
indexing broken down by the section status, which is one of the
following values:
required
The code is required to be in the product.
advisory
The code is scheduled to be required in the next release.
deprecated
The code will not be required in a future release.
removed
The code was previously required, is no longer required
informational
The code is not required, with commentary on why.
Each section status object has the following fields, and also
a collection if sections indexed by name.
guidance
Information on what the code does.
comment
Optional additional commentary on the project code.
section
~~~~~~~
A section has the following fields:
description
A description of the code section.
designated
A boolean, true if the code must be present. A section is generally
not made designated if there is a choice of upstream or third party
providers for that capability.
comment
Optional additional commentary on the section.
test_repositories
-----------------
A dictionary of test repositories that provide the tests for the
capabilities, indexed by name. A test repository object has the
following fields:
repository
The URL of the repository where the tests are located.
reference
A reference to the release name, branch, or sha that the guideline
was developed against.
description
An optional description of the repository.

View File

@@ -1,26 +0,0 @@
====================
Schema Documentation
====================
Latest Schema
-------------
.. toctree::
:maxdepth: 1
:includehidden:
2.0.rst
Previous Schemas
----------------
.. toctree::
:maxdepth: 2
:includehidden:
1.6.rst
1.5.rst
1.4.rst
1.3.rst
1.2.rst

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,656 +0,0 @@
{
"id": "2015.03",
"schema": "1.2",
"source": "https://opendev.org/openinfra/interop/",
"status": "superseded",
"replaces": "2014.07",
"releases": ["havana", "icehouse"],
"platform": {
"required": ["compute", "object"],
"advisory": [],
"deprecated": [],
"removed": []
},
"components": {
"compute": {
"required": [
"compute-auth",
"compute-flavors",
"compute-images",
"compute-instance-actions",
"compute-keypairs",
"compute-quotas",
"compute-servers",
"compute-volume",
"images-v2"],
"advisory": [
"auth-token",
"compute-servers-metadata"],
"deprecated": [],
"removed": [
"compute-floating-ips",
"images-v1",
"volume"]
},
"object": {
"required": ["objectstore-object"],
"advisory": [],
"deprecated": [],
"removed": []
}
},
"capabilities": {
"compute-images": {
"achievements": [
"tools",
"clients",
"complete",
"stable",
"discover",
"doc",
"sticky",
"atomic",
"proximity"
],
"admin": false,
"status": "required",
"guidelines": ["2014.07", "2015.03"],
"project": "nova",
"description": "Image operations within the Compute API",
"flagged": [],
"name": "compute-images",
"tests": [
"tempest.api.compute.images.test_list_image_filters.ListImageFiltersTestJSON.test_list_images_filter_by_server_id",
"tempest.api.compute.images.test_list_image_filters.ListImageFiltersTestJSON.test_list_images_with_detail_filter_by_changes_since",
"tempest.api.compute.images.test_images.ImagesTestJSON.test_delete_saving_image",
"tempest.api.compute.images.test_list_image_filters.ListImageFiltersTestJSON.test_list_images_with_detail_filter_by_status",
"tempest.api.compute.images.test_list_image_filters.ListImageFiltersTestJSON.test_list_images_filter_by_type",
"tempest.api.compute.images.test_list_images.ListImagesTestJSON.test_get_image",
"tempest.api.compute.images.test_images_oneserver.ImagesOneServerTestJSON.test_create_delete_image",
"tempest.api.compute.images.test_list_image_filters.ListImageFiltersTestJSON.test_list_images_filter_by_server_ref",
"tempest.api.compute.images.test_list_image_filters.ListImageFiltersTestJSON.test_list_images_filter_by_name",
"tempest.api.compute.images.test_list_images.ListImagesTestJSON.test_list_images_with_detail",
"tempest.api.compute.images.test_list_image_filters.ListImageFiltersTestJSON.test_list_images_with_detail_filter_by_type",
"tempest.api.compute.images.test_list_image_filters.ListImageFiltersTestJSON.test_list_images_filter_by_status",
"tempest.api.compute.images.test_list_image_filters.ListImageFiltersTestJSON.test_list_images_with_detail_filter_by_server_ref",
"tempest.api.compute.images.test_list_image_filters.ListImageFiltersTestJSON.test_list_images_limit_results",
"tempest.api.compute.images.test_list_image_filters.ListImageFiltersTestJSON.test_list_images_with_detail_filter_by_name",
"tempest.api.compute.images.test_list_image_filters.ListImageFiltersTestJSON.test_list_images_with_detail_limit_results",
"tempest.api.compute.images.test_list_images.ListImagesTestJSON.test_list_images",
"tempest.api.compute.images.test_images_oneserver.ImagesOneServerTestJSON.test_create_image_specify_multibyte_character_image_name",
"tempest.api.compute.images.test_list_image_filters.ListImageFiltersTestJSON.test_list_images_filter_by_changes_since"
]
},
"compute-flavors": {
"achievements": [
"deployed",
"tools",
"clients",
"future",
"complete",
"stable",
"discover",
"doc",
"sticky",
"foundation",
"atomic",
"proximity"
],
"admin": false,
"status": "required",
"guidelines": ["2014.07", "2015.03"],
"project": "nova",
"description": "Flavor operations in the Compute API",
"flagged": [],
"name": "compute-flavors",
"tests": []
},
"compute-floating-ips": {
"achievements": [],
"admin": false,
"status": "removed",
"guidelines": ["2014.07"],
"project": "nova",
"description": "Manage floating IPs through the Compute API. Not consistently implemented between Nova net and Neutron",
"flagged": [],
"name": "Compute Floating IPs",
"tests": []
},
"compute-auth": {
"achievements": [
"deployed",
"tools",
"clients",
"future",
"complete",
"stable",
"discover",
"sticky",
"foundation",
"atomic",
"proximity"
],
"admin": false,
"status": "required",
"guidelines": ["2014.07", "2015.03"],
"project": "nova",
"description": "Auth related tests using Compute API",
"flagged": [],
"name": "compute-auth",
"tests": [
"tempest.api.compute.test_authorization.AuthorizationTestJSON.test_create_server_with_unauthorized_image",
"tempest.api.compute.test_authorization.AuthorizationTestJSON.test_get_metadata_of_alt_account_server_fails",
"tempest.api.compute.test_authorization.AuthorizationTestJSON.test_create_server_fails_when_tenant_incorrect",
"tempest.api.compute.test_authorization.AuthorizationTestJSON.test_set_metadata_of_alt_account_server_fails"
]
},
"compute-instance-actions": {
"achievements": [
"deployed",
"tools",
"clients",
"future",
"complete",
"stable",
"discover",
"foundation",
"atomic"
],
"admin": false,
"status": "required",
"guidelines": ["2014.07", "2015.03"],
"project": "nova",
"description": "Basic support Compute API for server actions such as reboot, rebuild, resize",
"flagged": [],
"name": "compute-instance-actions",
"tests": [
"tempest.api.compute.servers.test_instance_actions.InstanceActionsTestJSON.test_list_instance_actions",
"tempest.api.compute.servers.test_instance_actions.InstanceActionsTestJSON.test_get_instance_action"
]
},
"compute-keypairs": {
"achievements": [
"deployed",
"tools",
"clients",
"future",
"complete",
"stable",
"discover",
"doc",
"sticky",
"atomic"
],
"admin": false,
"status": "required",
"guidelines": ["2014.07", "2015.03"],
"project": "nova",
"description": "Generate, import, and delete SSH keys within Compute services",
"flagged": [],
"name": "compute-keypairs",
"tests": [
"tempest.api.compute.servers.test_servers.ServersTestJSON.test_create_specify_keypair",
"tempest.api.compute.test_authorization.AuthorizationTestJSON.test_create_keypair_in_analt_user_tenant",
"tempest.api.compute.test_authorization.AuthorizationTestJSON.test_get_keypair_of_alt_account_fails"
]
},
"compute-quotas": {
"achievements": [
"deployed",
"tools",
"clients",
"future",
"complete",
"stable",
"discover",
"doc",
"sticky",
"foundation",
"atomic",
"proximity"
],
"admin": false,
"status": "required",
"guidelines": ["2014.07", "2015.03"],
"project": "nova",
"description": "Quotas management in Compute API",
"flagged": [],
"name": "compute-quotas",
"tests": [
"tempest.api.compute.test_quotas.QuotasTestJSON.test_get_default_quotas",
"tempest.api.compute.test_quotas.QuotasTestJSON.test_get_quotas"
]
},
"compute-servers": {
"achievements": [
"deployed",
"tools",
"clients",
"future",
"complete",
"stable",
"discover",
"doc",
"sticky",
"foundation",
"atomic",
"proximity"
],
"admin": false,
"status": "required",
"guidelines": ["2014.07", "2015.03"],
"project": "nova",
"description": "Basic server operations in the Compute API",
"flagged": [
"tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filtered_by_ip_regex",
"tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_change_server_password",
"tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_reboot_server_soft",
"tempest.api.compute.servers.test_create_server.ServersTestJSON.test_host_name_is_same_as_server_name",
"tempest.api.compute.servers.test_create_server.ServersTestJSON.test_verify_created_server_vcpus",
"tempest.api.compute.servers.test_create_server.ServersTestManualDisk.test_host_name_is_same_as_server_name",
"tempest.api.compute.servers.test_create_server.ServersTestManualDisk.test_verify_created_server_vcpus",
"tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_get_console_output"
],
"name": "compute-servers",
"tests": [
"tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_create_server_name_length_exceeds_256",
"tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_create_with_invalid_flavor",
"tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_create_with_invalid_network_uuid",
"tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_create_server_metadata_exceeds_length_limit",
"tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_create_with_invalid_image",
"tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_create_numeric_server_name",
"tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_delete_server_pass_id_exceeding_length_limit",
"tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_delete_server_pass_negative_id",
"tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_delete_a_server_of_another_tenant",
"tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_get_non_existent_server",
"tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_invalid_ip_v6_address",
"tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_reboot_non_existent_server",
"tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_rebuild_reboot_deleted_server",
"tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_rebuild_non_existent_server",
"tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_resize_server_with_null_flavor",
"tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_resize_server_with_non_existent_flavor",
"tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_server_name_blank",
"tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_stop_non_existent_server",
"tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_update_server_of_another_tenant",
"tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_update_name_of_non_existent_server",
"tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_update_server_set_empty_name",
"tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_update_server_name_length_exceeds_256",
"tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_changes_since_future_date",
"tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_changes_since_invalid_date",
"tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_limits",
"tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_limits_pass_negative_value",
"tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_limits_pass_string",
"tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_non_existing_flavor",
"tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_non_existing_image",
"tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_non_existing_server_name",
"tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_detail_server_is_deleted",
"tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_with_a_deleted_server",
"tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_status_non_existing",
"tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_limits_greater_than_actual_count",
"tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filtered_by_ip_regex",
"tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filter_by_server_name",
"tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_detailed_filter_by_server_status",
"tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filter_by_server_status",
"tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filtered_by_name_wildcard",
"tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filter_by_flavor",
"tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_detailed_limit_results",
"tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filter_by_limit",
"tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_detailed_filter_by_image",
"tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filtered_by_ip",
"tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filter_by_image",
"tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_detailed_filter_by_server_name",
"tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_detailed_filter_by_flavor",
"tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_resize_server_confirm",
"tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_reboot_server_hard",
"tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_change_server_password",
"tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_stop_start_server",
"tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_rebuild_server",
"tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_resize_server_revert",
"tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_lock_unlock_server",
"tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_reboot_server_soft",
"tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_get_console_output",
"tempest.api.compute.servers.test_servers.ServersTestJSON.test_update_access_server_address",
"tempest.api.compute.servers.test_servers.ServersTestJSON.test_create_with_existing_server_name",
"tempest.api.compute.servers.test_servers.ServersTestJSON.test_create_server_with_admin_password",
"tempest.api.compute.servers.test_servers.ServersTestJSON.test_update_server_name",
"tempest.api.compute.servers.test_create_server.ServersTestJSON.test_verify_created_server_vcpus",
"tempest.api.compute.servers.test_create_server.ServersTestJSON.test_list_servers",
"tempest.api.compute.servers.test_create_server.ServersTestJSON.test_list_servers_with_detail",
"tempest.api.compute.servers.test_create_server.ServersTestJSON.test_verify_server_details",
"tempest.api.compute.servers.test_create_server.ServersTestJSON.test_host_name_is_same_as_server_name",
"tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_update_server_metadata",
"tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_list_server_metadata",
"tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_delete_server_metadata_item",
"tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_get_server_metadata_item",
"tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_set_server_metadata",
"tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_set_server_metadata_item",
"tempest.api.compute.servers.test_create_server.ServersTestManualDisk.test_verify_created_server_vcpus",
"tempest.api.compute.servers.test_create_server.ServersTestManualDisk.test_host_name_is_same_as_server_name",
"tempest.api.compute.servers.test_create_server.ServersTestManualDisk.test_verify_server_details",
"tempest.api.compute.servers.test_create_server.ServersTestManualDisk.test_list_servers",
"tempest.api.compute.servers.test_create_server.ServersTestManualDisk.test_list_servers_with_detail"
]
},
"compute-volume": {
"achievements": [
"deployed",
"tools",
"clients",
"future",
"complete",
"stable",
"discover",
"doc",
"sticky",
"foundation",
"atomic",
"proximity"
],
"admin": false,
"status": "required",
"guidelines": ["2014.07", "2015.03"],
"project": "nova",
"description": "Retrieve volume information through the Compute API",
"flagged": [
"tempest.api.compute.volumes.test_attach_volume.AttachVolumeTestJSON.test_attach_detach_volume"
],
"name": "compute-volume",
"tests": [
"tempest.api.compute.volumes.test_volumes_list.VolumesTestJSON.test_volume_list",
"tempest.api.compute.volumes.test_volumes_list.VolumesTestJSON.test_volume_list_with_details",
"tempest.api.compute.volumes.test_attach_volume.AttachVolumeTestJSON.test_attach_detach_volume",
"tempest.api.compute.volumes.test_volumes_negative.VolumesNegativeTest.test_get_volume_without_passing_volume_id",
"tempest.api.compute.volumes.test_volumes_negative.VolumesNegativeTest.test_get_invalid_volume_id"
]
},
"compute-servers-metadata": {
"achievements": [
"deployed",
"tools",
"clients",
"future",
"complete",
"stable",
"discover",
"doc",
"sticky",
"foundation"
],
"admin": false,
"status": "advisory",
"guidelines": [],
"project": "nova",
"description": "Manage the access to ip extended attribute for servers through the Compute API",
"flagged": [],
"name": "compute-servers-metadata",
"tests": []
},
"images-v1": {
"achievements": [],
"admin": false,
"status": "removed",
"guidelines": ["2014.07"],
"project": "glance",
"description": "Basic image management in the Images API v1",
"flagged": [],
"name": "images-v1",
"tests": []
},
"images-v2": {
"achievements": [
"future",
"complete",
"stable",
"discover",
"doc",
"foundation",
"atomic",
"proximity"
],
"admin": false,
"status": "required",
"guidelines": ["2014.07", "2015.03"],
"project": "glance",
"description": "CRUD image operations in Images API v2",
"flagged": [],
"name": "images-v2",
"tests": [
"tempest.api.image.v2.test_images.ListImagesTest.test_index_no_params"
]
},
"objectstore-object": {
"achievements": [
"tools",
"clients",
"future",
"complete",
"stable",
"doc",
"foundation",
"atomic",
"proximity"
],
"admin": false,
"status": "required",
"guidelines": ["2014.07", "2015.03"],
"project": "swift",
"description": "Basic object operations in Object Storage API",
"flagged": [],
"name": "objectstore-object",
"tests": [
"tempest.api.object_storage.test_object_services.ObjectTest.test_copy_object_2d_way",
"tempest.api.object_storage.test_object_services.ObjectTest.test_copy_object_in_same_container",
"tempest.api.object_storage.test_object_services.ObjectTest.test_copy_object_across_containers",
"tempest.api.object_storage.test_object_services.ObjectTest.test_copy_object_to_itself",
"tempest.api.object_storage.test_object_services.ObjectTest.test_create_object",
"tempest.api.object_storage.test_object_services.ObjectTest.test_delete_object",
"tempest.api.object_storage.test_object_services.ObjectTest.test_get_object",
"tempest.api.object_storage.test_object_services.ObjectTest.test_get_object_if_different",
"tempest.api.object_storage.test_object_services.ObjectTest.test_object_upload_in_segments",
"tempest.api.object_storage.test_object_temp_url.ObjectTempUrlTest.test_put_object_using_temp_url",
"tempest.api.object_storage.test_object_temp_url.ObjectTempUrlTest.test_get_object_using_temp_url",
"tempest.api.object_storage.test_object_version.ContainerTest.test_versioned_container",
"tempest.api.object_storage.test_object_expiry.ObjectExpiryTest.test_get_object_after_expiry_time",
"tempest.api.object_storage.test_object_services.PublicObjectTest.test_access_public_object_with_another_user_creds",
"tempest.api.object_storage.test_object_services.PublicObjectTest.test_access_public_container_object_without_using_creds"
]
},
"auth-token": {
"achievements": [],
"admin": false,
"status": "advisory",
"guidelines": [],
"project": "keystone",
"description": "Generate an auth token given an identity endpoint",
"flagged": [],
"name": "auth-token",
"tests": []
},
"volume": {
"achievements": [],
"admin": true,
"status": "removed",
"guidelines": ["2014.07"],
"project": "cinder",
"description": "CRUD operations for volumes management in Block Storage API",
"flagged": [],
"name": "volume",
"tests": []
}
},
"designated-sections" : {
"required" : {
"nova" : {
"guidance": "By default, designated except scheduler, filter, drivers, API extensions and networking.",
"comment": "All code except driver/plugins listed. Even for replaceable drivers or plugins, we still expect use of the existing nova service that wraps those interfaces.",
"sections": {
"scheduler driver": { "description": "(Host and cell)", "designated": false, "comment": "none provided"},
"filter scheduler driver": { "description": "(Host and cell) While the line above implies the entire driver is fair game, this case is incredibly common and worth mentioning specifically.", "designated": false, "comment": "none provided"},
"compute driver": { "description": "not provided", "designated": false, "comment": "none provided"},
"rest api extensions": { "description": "may be required for capabilities", "designated": false, "comment": "none provided"},
"nova networking components": { "description": "not provided", "designated": false, "comment": "none provided"},
"nova networking drivers": { "description": "not provided", "designated": false, "comment": "none provided"}
}
},
"glance": {
"guidance": "Designated sections are the API implementation code and domain model.",
"comment": "not given",
"sections": {
"http apis": { "description": "not provided", "designated": true, "comment": "API"},
"domain model": { "description": "not provided", "designated": true, "comment": "Shared"},
"stores": { "description": "the swift, filesystem, and http stores", "designated": false, "comment": "should be replaceable, vendor-specificddCross platform"},
"db driver": { "description": "not provided", "designated": false, "comment": "should be replaceable" },
"wsgi framework": { "description": "not provided", "designated": false, "comment": "should be replaceable"}
}
},
"cinder": {
"guidance": "Designated sections are the API implementation code",
"comment": "Historically, cinder has had plug-ins around schedulers and drivers.",
"sections": {
"api": { "description": "API section means actually the CODE that exposes the API, not just API-comparability", "designated": true, "comment": ""},
"drivers": { "description": "not provided", "designated": false, "comment": "there MUST be requirements that it implements what's defined as core functionality in the Cinder API"},
"scheduler": { "description": "not provided", "designated": false, "comment": "there MUST be requirements that it implements what's defined as core functionality in the Cinder API"},
"api extensions": { "description": "not provided", "designated": false, "comment": "should be replaceable"}
}
},
"swift" : {
"guidance": "Designated sections are proxy server, object server, container server, account server and select middleware",
"required": true,
"comment": "You should use the proxy and storage servers, and you can use your own DiskFile or add new middleware for the proxy or storage nodes. Please review sections for specific middleware guidelines",
"sections": {
"proxy server": { "description": "the proxy server code and, if enabled, the functionality implemented by provided middleware (eg static large objects or signed urls or bulk requests",
"designated": true, "comment": ""},
"object server": { "description": "the object server code that calls a DiskFile implementation and updates container listings",
"designated": true, "comment": ""},
"container server": { "description": "the code that provides a list of objects in a container and container metadata",
"designated": true, "comment": ""},
"account server": { "description": "the code that provides a list of containers and account metadata",
"designated": true, "comment": ""},
"catch_errors": { "description": "not provided", "designated": true, "comment": "middleware"},
"healthcheck": { "description": "not provided", "designated": true, "comment": ""},
"bulk": { "description": "not provided", "designated": true, "comment": ""},
"slo": { "description": "not provided", "designated": true, "comment": ""},
"container-quotas": { "description": "not provided", "designated": true, "comment": ""},
"account-quotas": { "description": "not provided", "designated": true, "comment": ""},
"tempurl": { "description": "not provided", "designated": true, "comment": ""},
"replicators": { "description": "not provided", "designated": false, "comment": "recommended"},
"auditors": { "description": "not provided", "designated": false, "comment": "recommended"},
"updaters": { "description": "not provided", "designated": false, "comment": "recommended"},
"account reaper": { "description": "not provided", "designated": false, "comment": "recommended"},
"object expirer": { "description": "not provided", "designated": false, "comment": "recommended"},
"ratelimit": { "description": "not provided", "designated": false, "comment": "middleware, recommended"},
"recon": { "description": "not provided", "designated": false, "comment": "middleware, recommended"},
"staticweb": { "description": "not provided", "designated": false, "comment": "middleware, recommended"},
"formpost": { "description": "not provided", "designated": false, "comment": "middleware, recommended"},
"domain_remap": { "description": "not provided", "designated": false, "comment": "middleware, recommended"},
"crossdomain": { "description": "not provided", "designated": false, "comment": "middleware, recommended"},
"cname_lookup": { "description": "not provided", "designated": false, "comment": "middleware, recommended"},
"diskfile": { "description": "the part of the object server that actually persists the object data to a storage volume",
"designated": false, "comment": "replaceable"},
"cache": { "description": "not provided", "designated": false, "comment": "middleware, replaceable"},
"tempauth": { "description": "not provided", "designated": false, "comment": "middleware, replaceable"},
"keystoneauth": { "description": "not provided", "designated": false, "comment": "middleware, replaceable"},
"proxy-logging": { "description": "not provided", "designated": false, "comment": "middleware, replaceable"}
}
}
},
"advisory" : {
"keystone": {
"guidance": "Update pending from PTL",
"comment": "",
"sections": []
}
},
"deprecated" : {},
"removed" : {},
"informational" : {
"neutron": {
"guidance": "Not a core capability, no position at this time",
"required": false,
"comment": "Neutron was not ready for review.",
"sections": []
},
"heat": {
"guidance": "Not a core capability, no position at this time",
"required": false,
"comment": "",
"sections": []
},
"horizon": {
"guidance": "Not a core capability, no position at this time",
"required": false,
"comment": "",
"sections": []
},
"ceilometer": {
"guidance": "Not a core capability, no position at this time",
"required": false,
"comment": "",
"sections": []
}
}
},
"criteria": {
"atomic": {
"Description": "Capabilities is unique and cannot be built out of other must-pass capabilities",
"name": "Atomic",
"weight": 8
},
"clients": {
"Description": "Candidates are widely used capabilities: Should be included if part of common libraries (Fog, Apache jclouds, etc)",
"name": "Used by Clients",
"weight": 8
},
"complete": {
"Description": "Where the code being tested has a designated area of alternate implementation (extension framework) as per the Core Principles, there should be parity in capability tested across extension implementations. This also implies that the capability test is not configuration specific or locked to non-open technology",
"name": "Complete",
"weight": 8
},
"deployed": {
"Description": "Candidates are widely deployed capabilities. We favor capabilities that are supported by multiple public cloud providers and private cloud products",
"name": "Widely Deployed",
"weight": 8
},
"discover": {
"Description": "Capability being tested is Service Discoverable (can be found in Keystone and via service introspection)",
"name": "Discoverable",
"weight": 8
},
"doc": {
"Description": "Should be well documented, particularly the expected behavior. This can be a very subjective measure and we expect to refine this definition over time",
"name": "Documented",
"weight": 8
},
"foundation": {
"Description": "Test capabilities that are required by other must-pass tests and/or depended on by many other capabilities",
"name": "Foundation",
"weight": 8
},
"future": {
"Description": "Should reflect future technical direction (from the project technical teams and the TC) and help manage deprecated capabilities",
"name": "Future Direction",
"weight": 9
},
"proximity": {
"Description": "Sometimes called a Test Cluster, selects for Capabilities that are related to Core Capabilities. This helps ensure that related capabilities are managed together",
"name": "Proximity",
"weight": 8
},
"stable": {
"Description": "Test is required stable for >2 releases because we don't want DefCore capabilities that do not have dependable APIs",
"name": "Stable",
"weight": 9
},
"sticky": {
"Description": "A test that is a must-pass test should stay a must-pass test. This makes DefCore capabilities sticky release per release. Leaving Core is disruptive to the ecosystem",
"name": "Core in Last Release",
"weight": 9
},
"tools": {
"Description": "Candidates are widely used capabilities:Should be included if supported by common tools (RightScale, Scalr, CloudForms, ...)",
"name": "Used by Tools",
"weight": 9
}
}
}

Some files were not shown because too many files have changed in this diff Show More