Propose 2022.06 guidelines

The patch only copies the next file to the corresponding
2022.06 json files.

Change-Id: I355d0dcf4f600db5f25c19a0201e8e1754f4f795
This commit is contained in:
Martin Kopec 2022-04-04 11:24:22 +02:00
parent 1a13c69716
commit 588346eedc
4 changed files with 5255 additions and 0 deletions

View File

@ -0,0 +1,215 @@
{
"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.2022.06",
"replaces": "dns.2021.11",
"releases": ["wallaby", "xena", "yoga", "zed"],
"status": "draft"
}
},
"add-ons": {
"DNS": {
"description": "OpenStack Powered with DNS",
"components": [
{ "name": "os_powered_dns" }
],
"required_platform_components": [
{
"name": "os_powered_compute",
"source": "https://opendev.org/openinfra/interop/raw/branch/master/guidelines/next.json"
}
]
}
},
"components": {
"os_powered_dns": {
"capabilities": {
"required": [
"dns-record-crud",
"dns-zone-crud"
],
"advisory": [
],
"deprecated": [
],
"removed": [
]
},
"designated_sections": {
"required": [
"designate"
]
}
}
},
"capabilities": {
"dns-record-crud": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Operations to create, update, and delete dns records.",
"project": "designate",
"required_since": "2018.02",
"tests": {
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_recordset_type_A": {
"idempotent_id": "id-d03b69a5-5052-43bc-a38a-b511b6b34304"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_recordset_type_AAAA": {
"idempotent_id": "id-ac110198-d58a-4a18-aceb-414d7e513d49"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_recordset_type_SRV_TCP": {
"idempotent_id": "id-6c22a3f9-3f4d-4b32-bdf2-5237851ed25e"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_recordset_type_SRV_UDP": {
"idempotent_id": "id-59c1aa42-278e-4f7b-a6a1-4320d5daf1fd"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_recordset_type_CNAME": {
"idempotent_id": "id-1ac46f94-f03a-4f85-b84f-826a2660b927"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_recordset_type_MX_at_APEX": {
"idempotent_id": "id-bf872487-7975-4a96-bb03-d24e393a0ce8"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_recordset_type_MX_under_APEX": {
"idempotent_id": "id-96fe72a4-a81c-4a01-a81f-39ebafad115c"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_recordset_type_SSHFP": {
"idempotent_id": "id-481496f1-917a-40d5-89fd-4a3794c24215"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_create_recordset_type_TXT": {
"idempotent_id": "id-8e7ecedb-5c35-46f8-ae0e-39e4aaabc97d"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_delete_recordset": {
"idempotent_id": "id-855399c1-8806-4ae5-aa31-cb8a6f35e218"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_list_recordsets": {
"idempotent_id": "id-5964f730-5546-46e6-9105-5030e9c492b2"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_show_recordsets": {
"idempotent_id": "id-84c13cb2-9020-4c1e-aeb0-c348d9a70caa"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_update_recordset": {
"idempotent_id": "id-8d41c85f-09f9-48be-a202-92d1bdf5c796"
},
"designate_tempest_plugin.tests.api.v2.test_recordset.RecordsetsTest.test_update_recordset_one_field": {
"idempotent_id": "id-60904cc5-148b-4e3b-a0c6-35656dc8d44c"
}
}
},
"dns-zone-crud": {
"achievements": [
"atomic",
"clients",
"complete",
"discover",
"doc",
"future",
"stable",
"tools"
],
"admin": false,
"description": "Operations to create, update, and delete zones.",
"project": "designate",
"required_since": "2018.02",
"tests": {
"designate_tempest_plugin.tests.scenario.v2.test_zones.ZonesTest.test_create_and_delete_zone": {
"idempotent_id": "id-d0648f53-4114-45bd-8792-462a82f69d32"
},
"designate_tempest_plugin.tests.api.v2.test_zones.ZonesTest.test_show_zone": {
"idempotent_id": "id-02ca5d6a-86ce-4f02-9d94-9e5db55c3055"
},
"designate_tempest_plugin.tests.api.v2.test_zones.ZonesTest.test_list_zones": {
"idempotent_id": "id-5bfa3cfe-5bc8-443b-bf48-cfba44cbb247"
},
"designate_tempest_plugin.tests.api.v2.test_zones.ZonesTest.test_update_zone": {
"idempotent_id": "id-123f51cb-19d5-48a9-aacc-476742c02141"
}
}
}
},
"designated_sections": {
"designate": {
"required": {
"guidance": "API and Central code, allowing for plugins and excluding storage and scheduler filters",
"sections": {
"api": {
"description": "The designate API, allowing for plugins",
"designated": true
},
"central": {
"description": "Designate central code, excluding storage and scheduler filters",
"designated": true
}
}
}
}
},
"test_repositories": {
"designate-tempest-plugin": {
"repository": "https://opendev.org/openstack/designate-tempest-plugin/",
"reference": "dcfa7c0372e41dd7a7c208ce04209f978de6539a",
"description": "OpenStack Designate Test Plugin Repository"
}
}
}

View File

@ -0,0 +1,742 @@
{
"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.2022.06",
"replaces": "orchestration.2021.11",
"releases": ["wallaby", "xena", "yoga", "zed"],
"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": "ba43685c131d6387779ed35f5bf61fc86667a728",
"description": "OpenStack Heat Tempest Test Plugin Repository"
}
}
}

View File

@ -0,0 +1,400 @@
{
"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.2022.06",
"replaces": "shared_file_system.2021.11",
"releases": ["wallaby", "xena", "yoga", "zed"],
"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": "5203643c2423c89afc90b1c0045de422c643f85a",
"description": "OpenStack Manila Test Plugin Repository"
}
}
}

3898
guidelines/2022.06.json Normal file

File diff suppressed because it is too large Load Diff