Scoring for new Keystone capabilities

Scored Keystone capabilities, added token delete (and fixed
failing gate by ignoring new conflicting lint warnings)

Change-Id: I75e4e30c67f6b9a393c275011af6528f6d3d4e80
This commit is contained in:
Chris Hoge 2018-10-31 08:29:01 -07:00
parent 4acba4f0d1
commit 38bf8fee86
5 changed files with 36 additions and 13 deletions

View File

@ -161,7 +161,8 @@
], ],
"advisory": [ "advisory": [
"volumes-v3-upload", "volumes-v3-upload",
"compute-servers-create-multiple" "compute-servers-create-multiple",
"identity-v3-tokens-delete"
], ],
"deprecated": [ "deprecated": [
"volumes-v2-reserve", "volumes-v2-reserve",
@ -214,7 +215,8 @@
"objectstore-temp-url-put", "objectstore-temp-url-put",
"identity-v3-tokens-create" "identity-v3-tokens-create"
], ],
"advisory": [], "advisory": [
"identity-v3-tokens-delete"],
"deprecated": [], "deprecated": [],
"removed": [] "removed": []
}, },
@ -1272,6 +1274,20 @@
} }
} }
}, },
"identity-v3-tokens-delete": {
"achievements": [
""
],
"admin": false,
"descriptin": "Delete (revoke) identity token API",
"project": "keystone",
"required_since": "",
"tests": {
"tempest.api.identity.v3.test_tokens.TokensV3Test.test_token_auth_creation_existence_deletion": {
"idempotent_id": "id-0f9f5a5f-d5cd-4a86-8a5b-c5ded151f212"
}
}
},
"images-v2-index": { "images-v2-index": {
"achievements": [ "achievements": [
"foundation", "foundation",

View File

@ -24,6 +24,7 @@ commands=
[testenv:pep8] [testenv:pep8]
basepython = python3 basepython = python3
ignore = W504
deps = deps =
flake8 flake8
{[testenv]deps} {[testenv]deps}
@ -39,7 +40,7 @@ whitelist_externals =
[flake8] [flake8]
# E125 is deliberately excluded. # E125 is deliberately excluded.
# See https://github.com/jcrocholl/pep8/issues/126 # See https://github.com/jcrocholl/pep8/issues/126
ignore = E125 ignore = E125,W504
exclude = .venv,.git,.tox,doc,conf.py exclude = .venv,.git,.tox,doc,conf.py
[testenv:jsonlint] [testenv:jsonlint]

View File

@ -304,7 +304,10 @@ identity-v3-catalog: [1,0,1] [1,1,1] [1,1,0] [1,1,1] [1] [85]*
identity-v3-list-projects: [1,1,1] [1,1,1] [1,1,0] [0,1,0] [1] [74]* identity-v3-list-projects: [1,1,1] [1,1,1] [1,1,0] [0,1,0] [1] [74]*
identity-v3-list-groups: [1,1,1] [1,1,1] [1,1,0] [0,1,0] [1] [74]* identity-v3-list-groups: [1,1,1] [1,1,1] [1,1,0] [0,1,0] [1] [74]*
identity-v3-tokens-create: [1,1,1] [1,1,1] [1,1,1] [1,1,0] [1] [92]* identity-v3-tokens-create: [1,1,1] [1,1,1] [1,1,1] [1,1,0] [1] [92]*
identity-v3-tokens-validate: [1,1,1] [1,1,1] [1,1,0] [0,1,0] [1] [74]* identity-v3-tokens-validate: [1,1,1] [1,1,1] [1,1,1] [0,1,0] [1] [83]*
identity-v3-tokens-delete: [1,0,1] [1,1,1] [1,1,0] [1,1,0] [1] [77]*
identity-v3-application-credentials: [0,0,1] [1,0,0] [1,1,0] [0,1,0] [1] [43]
identity-v3-user-password: [0,0,1] [1,1,1] [1,1,0] [1,1,0] [1] [69]
Notes: Notes:
* identity-v3-list-projects and identity-v3-list-groups didn't have usable * identity-v3-list-projects and identity-v3-list-groups didn't have usable

View File

@ -105,7 +105,7 @@ with open(args.score_file_name) as filehandle:
# The optional asterisk on the end indicates that the total score # The optional asterisk on the end indicates that the total score
# is greater than or equal to the cutoff_score parsed from the JSON # is greater than or equal to the cutoff_score parsed from the JSON
# file and therefore the Capability warrants inclusion in the Guideline. # file and therefore the Capability warrants inclusion in the Guideline.
pattern = re.compile('((\S+):\s+((\[\S,\S,\S\] ){4}\[\S\]))') pattern = re.compile(r'((\S+):\s+((\[\S,\S,\S\] ){4}\[\S\]))')
# The scores in the tuples have the following meanings, in # The scores in the tuples have the following meanings, in
# the order they appear in the scoring files. # the order they appear in the scoring files.
@ -136,7 +136,7 @@ with open(args.score_file_name) as filehandle:
csv_outfile.write("%s," % cap_name) csv_outfile.write("%s," % cap_name)
# Grock the scores into a dict keyed by capability name. # Grock the scores into a dict keyed by capability name.
scores = re.sub('[\[\]\, ]', '', raw.group(3)) scores = re.sub(r'[\[\]\, ]', '', raw.group(3))
score_hash = dict(zip(scorenames, list(scores))) score_hash = dict(zip(scorenames, list(scores)))
# Now tabluate scores for this capability. Scores will # Now tabluate scores for this capability. Scores will
@ -164,7 +164,7 @@ with open(args.score_file_name) as filehandle:
continue continue
# If the score is a digit, add it in to the total. # If the score is a digit, add it in to the total.
if re.match('\d', score_hash[scorename]): if re.match(r'\d', score_hash[scorename]):
total += (int(score_hash[scorename]) * total += (int(score_hash[scorename]) *
int(criteria[scorename]['weight'])) int(criteria[scorename]['weight']))

View File

@ -107,7 +107,10 @@ identity-v3-catalog,1,0,1,1,1,1,1,1,0,1,1,1,1,85*
identity-v3-list-projects,1,1,1,1,1,1,1,1,0,0,1,0,1,74* identity-v3-list-projects,1,1,1,1,1,1,1,1,0,0,1,0,1,74*
identity-v3-list-groups,1,1,1,1,1,1,1,1,0,0,1,0,1,74* identity-v3-list-groups,1,1,1,1,1,1,1,1,0,0,1,0,1,74*
identity-v3-tokens-create,1,1,1,1,1,1,1,1,1,1,1,0,1,92* identity-v3-tokens-create,1,1,1,1,1,1,1,1,1,1,1,0,1,92*
identity-v3-tokens-validate,1,1,1,1,1,1,1,1,0,0,1,0,1,74* identity-v3-tokens-validate,1,1,1,1,1,1,1,1,1,0,1,0,1,83*
identity-v3-tokens-delete,1,0,1,1,1,1,1,1,0,1,1,0,1,77*
identity-v3-application-credentials,0,0,1,1,0,0,1,1,0,0,1,0,1,43
identity-v3-user-password,0,0,1,1,1,1,1,1,0,1,1,0,1,69
objectstore-object-copy,1,1,1,1,1,1,1,1,1,1,1,1,1,100* objectstore-object-copy,1,1,1,1,1,1,1,1,1,1,1,1,1,100*
objectstore-object-create,1,1,1,1,1,1,1,1,1,1,1,1,1,100* objectstore-object-create,1,1,1,1,1,1,1,1,1,1,1,1,1,100*
objectstore-object-delete,1,1,1,1,1,1,1,1,1,1,1,1,1,100* objectstore-object-delete,1,1,1,1,1,1,1,1,1,1,1,1,1,100*

Can't render this file because it has a wrong number of fields in line 25.