From 7d5cd18ca8f1f2f1e6ba2794f76cca77197acff6 Mon Sep 17 00:00:00 2001 From: Martin Kopec Date: Tue, 19 Apr 2022 19:51:52 +0200 Subject: [PATCH] Adds barbican next guideline The commit creates barbican next guideline. Change-Id: I6dc77409124d93b43277f471f875acd0d1c7a261 --- add-ons/guidelines/key_manager.next.json | 232 +++++++++++++++++++++++ 1 file changed, 232 insertions(+) create mode 100644 add-ons/guidelines/key_manager.next.json diff --git a/add-ons/guidelines/key_manager.next.json b/add-ons/guidelines/key_manager.next.json new file mode 100644 index 00000000..09e9b20b --- /dev/null +++ b/add-ons/guidelines/key_manager.next.json @@ -0,0 +1,232 @@ +{ + "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.2022.11", + "replaces": "key_manager.2021.11", + "releases": ["wallaby", "xena", "yoga", "zed"], + "status": "draft" + } + }, + "add-ons": { + "DNS": { + "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": "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": { + "barbican-tempest-plugin": { + "repository": "https://opendev.org/openstack/barbican-tempest-plugin/", + "reference": "9fe096e1422c7c884b94166763b4857b5abcea30", + "description": "OpenStack Barbican Test Plugin Repository" + } + } +}