From 2105441c371fa5596162287795cac5bebbee6a00 Mon Sep 17 00:00:00 2001 From: Shamail Tahir Date: Thu, 13 Oct 2016 02:11:09 -0400 Subject: [PATCH] 2017.01 Scoring for Nova This change constitutes a first pass at scoring Nova capabilities for the 2017.01 Guideline. It adds three new capabilities: listing flavors, availability zone operations, and suspend/resume. There are no new designated sections in this update. Change-Id: I9970c9789ca972b4d2cc53e57dcee97b87525e48 --- next.json | 166 +++++++------------------ working_materials/scoring.txt | 45 +------ working_materials/tabulated_scores.csv | 5 +- 3 files changed, 51 insertions(+), 165 deletions(-) diff --git a/next.json b/next.json index ed2b02ff..ed7053c9 100644 --- a/next.json +++ b/next.json @@ -67,6 +67,9 @@ "volumes-v2-readonly" ], "advisory": [ + "compute-availability-zones-list", + "compute-flavors-list", + "compute-servers-suspend-resume", "identity-v3-list-projects", "networks-l3-router", "networks-l3-CRUD", @@ -75,18 +78,14 @@ "volumes-v2-upload" ], "deprecated": [ + ], + "removed": [ + "identity-v2-tokens-create", "compute-auth-create", "compute-auth-get", "compute-auth-set", "compute-volume-get", "compute-volume-list" - ], - "removed": [ - "identity-v2-tokens-create", - "compute-servers-change", - "compute-images-delete", - "compute-images-get", - "compute-images-list" ] }, "object": { @@ -145,36 +144,13 @@ } } }, - "compute-auth-create": { + "compute-availability-zones-list": { "achievements": [ - "foundation", - "complete", - "proximity", - "clients", - "discover", - "sticky", - "future", - "atomic", - "stable", - "tools", - "deployed" - ], - "admin": false, - "description": "Auth related tests using Compute API", - "project": "nova", - "required-since": "", - "tests": { - } - }, - "compute-auth-get": { - "achievements": [ - "foundation", "complete", "doc", "proximity", "clients", "discover", - "sticky", "future", "atomic", "stable", @@ -182,20 +158,21 @@ "deployed" ], "admin": false, - "description": "Auth related tests using Compute API, Generate, import, and delete SSH keys within Compute services", + "description": "List Compute service availability zones with the Compute API", "project": "nova", "required-since": "", "tests": { + "tempest.api.compute.servers.test_availability_zone.AZV2TestJSON.test_get_availability_zone_list_with_non_admin_user": { + "idempotent_id": "id-a8333aa2-205c-449f-a828-d38c2489bf25" + } } }, - "compute-auth-set": { + "compute-flavors-list": { "achievements": [ - "foundation", "complete", - "proximity", + "doc", "clients", "discover", - "sticky", "future", "atomic", "stable", @@ -203,10 +180,16 @@ "deployed" ], "admin": false, - "description": "Auth related tests using Compute API", + "description": "List Flavors within the Compute API", "project": "nova", "required-since": "", "tests": { + "tempest.api.compute.flavors.test_flavors.FlavorsV2TestJSON.test_list_flavors": { + "idempotent_id": "id-e36c0eaa-dff5-4082-ad1f-3f9a80aa3f59" + }, + "tempest.api.compute.flavors.test_flavors.FlavorsV2TestJSON.test_list_flavors_with_detail": { + "idempotent_id": "id-6e85fde4-b3cd-4137-ab72-ed5f418e8c24" + } } }, "compute-images-create": { @@ -329,36 +312,6 @@ } } }, - "compute-servers-change": { - "achievements": [ - "foundation", - "complete", - "doc", - "proximity", - "clients", - "discover", - "sticky", - "future", - "atomic", - "stable", - "tools", - "deployed" - ], - "admin": false, - "description": "Basic server operations in the Compute API", - "project": "nova", - "required-since": "", - "tests": { - "tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_change_server_password": { - "idempotent_id": "id-6158df09-4b82-4ab3-af6d-29cf36af858d", - "flagged": { - "reason": "[D400] This test is backend-specific (only works on one hypervisor)", - "action": "This test should be removed from future Guidelines.", - "date": "2015-08-20" - } - } - } - }, "compute-servers-create": { "achievements": [ "foundation", @@ -926,6 +879,29 @@ } } }, + "compute-servers-suspend-resume": { + "achievements": [ + "complete", + "doc", + "proximity", + "clients", + "discover", + "future", + "atomic", + "stable", + "tools", + "deployed" + ], + "admin": false, + "description": "Suspend/Resume server within the Compute API", + "project": "nova", + "required-since": "", + "tests": { + "tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_suspend_resume_server": { + "idempotent_id": "id-0d8ee21e-b749-462d-83da-b85b41c86c7f" + } + } + }, "compute-servers-stop": { "achievements": [ "foundation", @@ -1053,62 +1029,6 @@ } } }, - "compute-volume-get": { - "achievements": [ - "foundation", - "complete", - "doc", - "proximity", - "clients", - "discover", - "sticky", - "future", - "atomic", - "stable", - "tools", - "deployed" - ], - "admin": false, - "description": "Retrieve volume information through the Compute API", - "project": "nova", - "required-since": "", - "tests": { - "tempest.api.compute.volumes.test_volumes_negative.VolumesNegativeTest.test_volume_get_nonexistent_volume_id": { - "idempotent_id": "id-c03ea686-905b-41a2-8748-9635154b7c57" - }, - "tempest.api.compute.volumes.test_volumes_negative.VolumesNegativeTest.test_get_volume_without_passing_volume_id": { - "idempotent_id": "id-62bab09a-4c03-4617-8cca-8572bc94af9b" - } - } - }, - "compute-volume-list": { - "achievements": [ - "foundation", - "complete", - "doc", - "proximity", - "clients", - "discover", - "sticky", - "future", - "atomic", - "stable", - "tools", - "deployed" - ], - "admin": false, - "description": "Retrieve volume information through the Compute API", - "project": "nova", - "required-since": "", - "tests": { - "tempest.api.compute.volumes.test_volumes_list.VolumesTestJSON.test_volume_list": { - "idempotent_id": "id-bc2dd1a0-15af-48e5-9990-f2e75a48325d" - }, - "tempest.api.compute.volumes.test_volumes_list.VolumesTestJSON.test_volume_list_with_details": { - "idempotent_id": "id-bad0567a-5a4f-420b-851e-780b55bb867c" - } - } - }, "identity-v2-tokens-create": { "achievements": [ "foundation", diff --git a/working_materials/scoring.txt b/working_materials/scoring.txt index 5dae1914..df67943f 100644 --- a/working_materials/scoring.txt +++ b/working_materials/scoring.txt @@ -124,47 +124,10 @@ Notes: Compute ------- -compute-list-api-versions: [1,0,0] [1,1,1] [1,1,0] [1,1,1] [1] [75]* - -Notes: - * There has been some discussion that this capability is not widely - deployed [1]. However it appears that in most cases the API either: - * Is present and works, but only if a non-SSL endpoint is exposed. - SSL endpoints may have issues with redirects (which may actually - merely be configuration issues). - * Is accidentally blocked due to load balancer or API gateway - misconfiguration which is being remedied by affected providers. - Taking those situations into account, it is believed that it's actually - safe to call this "widely deployed". - * I'm having trouble finding evidence that tools actually support this - API (refer to [2] for information about what constitutes "tools"). - Unlike most of the CRUD-like API's, this one lists information about - the API versions available instead of on end user actionable resources - (such as instances or security groups), and the need to do so is newish - with the advent of microversioning. Hence, I think many tools may not - actually support this yet. Please feel free to provide evidence to the - contrary; I'd love to be proven wrong. - * Similarly, I'm having trouble finding evidence that clients [3] like - jClouds or Fog support this API (yet?) as they tend to focus on actions. - Please feel free to provide evidence to the contrary; I'd love to be - proven wrong. - * I'm tentatively scoring this API as Proximate [4]. Generally this applies - to CRUD operations (e.g. the delete API is considered proximate to the - create API). However I'm providing a 1 here on the grounds that due - to the shift to microversioning in the Nova API, this will be somewhat - proximate to everything going forward. - * The DefCore Committee is considering this capability for inclusion - in it's projected 2016.01 Guideline even though the test for it wasn't - developed until (narrowly) outside the normal window for identifying - new Capabilities on account of strong indications from the community - that such a Capability is important for API microversioning going - forward [5]. - -[1] https://bugs.launchpad.net/python-novaclient/+bug/1491579 -[2] http://git.openstack.org/cgit/openstack/defcore/tree/doc/source/process/CoreCriteria.rst#n44 -[3] http://git.openstack.org/cgit/openstack/defcore/tree/doc/source/process/CoreCriteria.rst#n48 -[4] http://git.openstack.org/cgit/openstack/defcore/tree/doc/source/process/CoreCriteria.rst#n90 -[5] http://eavesdrop.openstack.org/meetings/defcore_flag_14/2015/defcore_flag_14.2015-09-09-15.03.log.html#l-13 +compute-list-api-versions: [1,0,0] [1,1,1] [1,1,1] [1,1,1] [1] [84]* +compute-servers-suspend-resume: [1,1,1] [1,1,1] [1,1,0] [0,1,1] [1] [82]* +compute-flavors-list: [1,1,1] [1,1,1] [1,1,0] [0,1,0] [1] [74]* +compute-availability-zones-list: [1,1,1] [1,1,1] [1,1,0] [0,1,0] [1] [74]* Image ----- diff --git a/working_materials/tabulated_scores.csv b/working_materials/tabulated_scores.csv index 5d807bbd..73f2e78c 100644 --- a/working_materials/tabulated_scores.csv +++ b/working_materials/tabulated_scores.csv @@ -27,7 +27,10 @@ network-extensions-provider-create,0 network-extensions-provider-delete,0 network-extensions-provider-show,0 networks-subnet-pools-CRUD,1,0,1,1,1,1,1,1,0,0,1,1,1,76* -compute-list-api-versions,1,0,0,1,1,1,1,1,0,1,1,1,1,75* +compute-list-api-versions,1,0,0,1,1,1,1,1,1,1,1,1,1,84* +compute-servers-suspend-resume,1,1,1,1,1,1,1,1,0,0,1,1,1,82* +compute-flavors-list,1,1,1,1,1,1,1,1,0,0,1,0,1,74* +compute-availability-zones-list,1,1,1,1,1,1,1,1,0,0,1,0,1,74* images-v1-delete,0,1,1,0,1,1,0,1,0,1,0,1,1,58 images-v1-index,0,1,1,0,1,1,0,1,0,1,0,1,1,58 images-v1-list,0,1,1,0,1,1,0,1,0,1,0,1,1,58