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:
8
.gitignore
vendored
8
.gitignore
vendored
@@ -1,8 +0,0 @@
|
||||
.tox/
|
||||
|
||||
# Sphinx
|
||||
doc/build
|
||||
|
||||
# pbr generates these
|
||||
AUTHORS
|
||||
ChangeLog
|
||||
@@ -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.
|
||||
167
HACKING.rst
167
HACKING.rst
@@ -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.
|
||||
54
README.rst
54
README.rst
@@ -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".
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
guidelines/dns.2022.11.json
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
guidelines/key_manager.2022.11.json
|
||||
@@ -1 +0,0 @@
|
||||
guidelines/load_balancer.2022.11.json
|
||||
@@ -1 +0,0 @@
|
||||
guidelines/orchestration.2022.11.json
|
||||
@@ -1 +0,0 @@
|
||||
guidelines/shared_file_system.2022.11.json
|
||||
@@ -1 +0,0 @@
|
||||
guidelines/2022.11.json
|
||||
@@ -1,7 +0,0 @@
|
||||
pygments
|
||||
demjson3
|
||||
doc8
|
||||
jsonschema
|
||||
Sphinx
|
||||
sphinxcontrib.datatemplates
|
||||
openstackdocstheme>=2.2.0 # Apache-2.0
|
||||
@@ -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 #}
|
||||
@@ -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
|
||||
@@ -1,5 +0,0 @@
|
||||
============
|
||||
Contributing
|
||||
============
|
||||
|
||||
.. include:: ../../CONTRIBUTING.rst
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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 |
@@ -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
|
||||
@@ -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.
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
Board’s 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
|
||||
@@ -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
|
||||
crossplatform 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 vendorspecific 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 there’s 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.
|
||||
@@ -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>`_.
|
||||
@@ -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>
|
||||
@@ -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 vendor’s 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.
|
||||
@@ -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 Board’s 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
|
||||
@@ -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.
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -1,16 +0,0 @@
|
||||
=====================
|
||||
Process Documentation
|
||||
=====================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:includehidden:
|
||||
|
||||
CoreDefinition
|
||||
DesignatedSections
|
||||
GovernanceProcess
|
||||
Lexicon
|
||||
TrademarkProgram
|
||||
2021A
|
||||
procedure
|
||||
InternalProcessDoc
|
||||
@@ -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.
|
||||
@@ -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" ]
|
||||
},
|
||||
|
||||
@@ -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 }
|
||||
}
|
||||
}
|
||||
@@ -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 }
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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.
|
||||
@@ -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
@@ -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
Reference in New Issue
Block a user