Add aliases field to schema 1.4

The name of a Tempest test that is required by recent DefCore Guidelines
was recently changed [1].  DefCore had not previously considered a way
to handle this scenario: the test list in the Guidelines is considered
immutable.  Even if we changed the name, folks running a version of
Tempest prior to the rename would not get a compliant result.  If did
nothing, folks running a version of Tempest that includes the rename
would not get a compliant result.  We also considered flagging the
tests [2] to alleviate the problem, but there was a general feeling that
since the test hand't actually changed we were reluctant to make the
underlying capability not required.

After some discussion [3] we hit upon the idea of adding an "aliases"
field to our JSON documents.  This would allow us to specify multiple
names for the same test.  Refstack could then read the field and accept
a passing result for either test name when displaying results.  This
patch adds the new alias field to the test block.

[1] https://review.openstack.org/#/c/223796/
[2] https://review.openstack.org/#/c/229177/
[3]
http://eavesdrop.openstack.org/meetings/defcore/2015/defcore.2015-10-07-15.00.log.html#l-23

Change-Id: Iff99fbb50c9b3e5101503de0b032b12c7451aecd
This commit is contained in:
Mark T. Voelker 2015-10-08 10:29:26 -07:00
parent fa05bf4a94
commit 9287b9548c

View File

@ -3,6 +3,7 @@ JSON Schema v1.4
Changes from v1.3
:added: aliases field in test block
:added: target_approval
:removed: Status field in Capability blocks (as it duplicates the information
already present in the Components list)
@ -78,6 +79,7 @@ Changes from v1.2
"tests" : { # hash of tests (use unique names)
"tempest.api.project.file.class.test_name" : { # test ID
"idempotent_id" : "id-123-456", # internal test identifier to track changes if test is moved
"aliases" : [], # a list of other names used to identify the same test. If a test's name is changed (for example, in Tempest), add the new name in this array
"flagged" : { # This section is required only if the test is flagged
"reason" : "why this test was flagged", # required to support flag request
"action" : "proposed action to resolve", # required path to resolve flag