Adds octavia next guideline

The commit creates octavia next guideline.

Change-Id: I669760fea663324747eac6bd86d6c7567c5bb494
This commit is contained in:
Martin Kopec 2022-04-07 12:19:53 +02:00
parent 89258e7650
commit 7fcfbaaab5
2 changed files with 398 additions and 0 deletions

View File

@ -0,0 +1,358 @@
{
"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.2022.11",
"replaces": "",
"releases": ["wallaby", "xena", "yoga", "zed"],
"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": "9b0c0ff4bf9ad64e7a236eaa93909e34707887a4",
"description": "OpenStack Octavia Test Plugin Repository"
}
}
}

View File

@ -59,3 +59,43 @@ tempest.api.network.test_tags.TagsExtTest.test_update_and_delete_all_tags
tempest.api.network.test_tags.TagsTest.test_create_list_show_update_delete_tags
# Very simple test verifying that non admin user can't see agents, however, that depends on the specific policies set in the user's environment
tempest.api.network.test_agent_management_negative.AgentManagementNegativeTest.test_list_agents_non_admin
# excluding the following octavia tests based on the octavia team's feedback
octavia_tempest_plugin.tests.api.v2.test_amphora.AmphoraAPITest.test_admin_log
octavia_tempest_plugin.tests.api.v2.test_amphora.AmphoraAPITest.test_amphora_failover
octavia_tempest_plugin.tests.api.v2.test_amphora.AmphoraAPITest.test_amphora_list_and_show
octavia_tempest_plugin.tests.api.v2.test_amphora.AmphoraAPITest.test_amphora_update
octavia_tempest_plugin.tests.api.v2.test_availability_zone.AvailabilityZoneAPITest.test_availability_zone_create
octavia_tempest_plugin.tests.api.v2.test_availability_zone.AvailabilityZoneAPITest.test_availability_zone_delete
octavia_tempest_plugin.tests.api.v2.test_availability_zone.AvailabilityZoneAPITest.test_availability_zone_list
octavia_tempest_plugin.tests.api.v2.test_availability_zone.AvailabilityZoneAPITest.test_availability_zone_show
octavia_tempest_plugin.tests.api.v2.test_availability_zone.AvailabilityZoneAPITest.test_availability_zone_update
octavia_tempest_plugin.tests.api.v2.test_availability_zone_capabilities.AvailabilityZoneCapabilitiesAPITest.test_availability_zone_capabilities_list
octavia_tempest_plugin.tests.api.v2.test_availability_zone_profile.AvailabilityZoneProfileAPITest.test_availability_zone_profile_create
octavia_tempest_plugin.tests.api.v2.test_availability_zone_profile.AvailabilityZoneProfileAPITest.test_availability_zone_profile_delete
octavia_tempest_plugin.tests.api.v2.test_availability_zone_profile.AvailabilityZoneProfileAPITest.test_availability_zone_profile_list
octavia_tempest_plugin.tests.api.v2.test_availability_zone_profile.AvailabilityZoneProfileAPITest.test_availability_zone_profile_show
octavia_tempest_plugin.tests.api.v2.test_availability_zone_profile.AvailabilityZoneProfileAPITest.test_availability_zone_profile_update
octavia_tempest_plugin.tests.api.v2.test_flavor.FlavorAPITest.test_flavor_create
octavia_tempest_plugin.tests.api.v2.test_flavor.FlavorAPITest.test_flavor_delete
octavia_tempest_plugin.tests.api.v2.test_flavor.FlavorAPITest.test_flavor_list
octavia_tempest_plugin.tests.api.v2.test_flavor.FlavorAPITest.test_flavor_show
octavia_tempest_plugin.tests.api.v2.test_flavor.FlavorAPITest.test_flavor_update
octavia_tempest_plugin.tests.api.v2.test_flavor_capabilities.FlavorCapabilitiesAPITest.test_flavor_capabilities_list
octavia_tempest_plugin.tests.api.v2.test_flavor_profile.FlavorProfileAPITest.test_flavor_profile_create
octavia_tempest_plugin.tests.api.v2.test_flavor_profile.FlavorProfileAPITest.test_flavor_profile_delete
octavia_tempest_plugin.tests.api.v2.test_flavor_profile.FlavorProfileAPITest.test_flavor_profile_list
octavia_tempest_plugin.tests.api.v2.test_flavor_profile.FlavorProfileAPITest.test_flavor_profile_show
octavia_tempest_plugin.tests.api.v2.test_flavor_profile.FlavorProfileAPITest.test_flavor_profile_update
octavia_tempest_plugin.tests.api.v2.test_l7policy.L7PolicyAPITest.test_l7policy_create_redirect_pool
octavia_tempest_plugin.tests.api.v2.test_l7policy.L7PolicyAPITest.test_l7policy_create_redirect_url
octavia_tempest_plugin.tests.api.v2.test_l7policy.L7PolicyAPITest.test_l7policy_create_reject
octavia_tempest_plugin.tests.api.v2.test_l7policy.L7PolicyAPITest.test_l7policy_delete
octavia_tempest_plugin.tests.api.v2.test_l7policy.L7PolicyAPITest.test_l7policy_list
octavia_tempest_plugin.tests.api.v2.test_l7policy.L7PolicyAPITest.test_l7policy_show
octavia_tempest_plugin.tests.api.v2.test_l7policy.L7PolicyAPITest.test_l7policy_update
octavia_tempest_plugin.tests.api.v2.test_l7rule.L7RuleAPITest.test_l7rule_create
octavia_tempest_plugin.tests.api.v2.test_l7rule.L7RuleAPITest.test_l7rule_delete
octavia_tempest_plugin.tests.api.v2.test_l7rule.L7RuleAPITest.test_l7rule_list
octavia_tempest_plugin.tests.api.v2.test_l7rule.L7RuleAPITest.test_l7rule_show
octavia_tempest_plugin.tests.api.v2.test_l7rule.L7RuleAPITest.test_l7rule_update