From bfbdfaedb044b7643b81f47e76285baedfee9e25 Mon Sep 17 00:00:00 2001 From: pmikus Date: Thu, 24 Nov 2022 13:27:53 +0000 Subject: feat(model): Cleanup and introduce telemetry - Due to divergence from original design path the RAW was never consumed. It adds too much code complexity and requires processing on both storage and compute. Removing entirely to make modeling efficient. - log (apparently SSH) section will never be consumed in the way it is coded in model. This section is also not part of model schema itself due to the point above. - Introducing telemetry section that is going to carry telemetry items required for CDash. Signed-off-by: pmikus Change-Id: I7e0256c6c9715de8ee559eed29dce96329aac97d --- docs/model/current/schema/test_case.info.schema.json | 17 +++++++++++------ docs/model/current/schema/test_case.info.schema.yaml | 20 ++++++++++++-------- docs/model/current/top.rst | 12 ++---------- 3 files changed, 25 insertions(+), 24 deletions(-) (limited to 'docs') diff --git a/docs/model/current/schema/test_case.info.schema.json b/docs/model/current/schema/test_case.info.schema.json index d99dd4766a..6aed4d255b 100644 --- a/docs/model/current/schema/test_case.info.schema.json +++ b/docs/model/current/schema/test_case.info.schema.json @@ -1,5 +1,5 @@ { - "$id": "https://fd.io/FIXME/CSIT/UTI/test_case/info/1.0.1", + "$id": "https://fd.io/FIXME/CSIT/UTI/test_case/info/1.1.0", "$schema": "https://json-schema.org/draft/2020-12/schema", "description": "Schema for info output of test case.", "allOf": [ @@ -35,9 +35,14 @@ "type": "string" } }, - "log": { - "description": "No log items are implemented in the current version, but the (empty) list is present to simplify logic in multi-version importers.", - "$ref": "#/$defs/types/empty_array" + "telemetry": { + "description": "Array of telemetry entries. Each entry represent one captured metric.", + "type": "array", + "minItems": 0, + "items": { + "description": "Telemetry entry.", + "type": "string" + } }, "message": { "description": "If passed is true, this value is empty. Otherwise, value taken directly from TEST_MESSAGE Robot variable, read at the end of test case (in test teardown, before export and validation). It contains information from the exception that caused the failure, probably with additional exceptions from teardown keywords.", @@ -198,7 +203,7 @@ "version": { "description": "CSIT model version (semver format) the exporting code adhered to.", "type": "string", - "const": "1.0.1" + "const": "1.1.0" } }, "required": [ @@ -207,7 +212,7 @@ "dut_version", "end_time", "hosts", - "log", + "telemetry", "message", "passed", "result", diff --git a/docs/model/current/schema/test_case.info.schema.yaml b/docs/model/current/schema/test_case.info.schema.yaml index 9fd105a972..9f78a41d9e 100644 --- a/docs/model/current/schema/test_case.info.schema.yaml +++ b/docs/model/current/schema/test_case.info.schema.yaml @@ -13,7 +13,7 @@ --- -$id: https://fd.io/FIXME/CSIT/UTI/test_case/info/1.0.1 +$id: https://fd.io/FIXME/CSIT/UTI/test_case/info/1.1.0 $schema: https://json-schema.org/draft/2020-12/schema description: >- Schema for info output of test case. @@ -55,12 +55,16 @@ allOf: description: >- Host identifier, usually numeric IPv4 address. type: string - log: + telemetry: description: >- - No log items are implemented in the current version, - but the (empty) list is present to simplify logic - in multi-version importers. - $ref: "#/$defs/types/empty_array" + Array of telemetry entries. Each entry represent one captured + metric. + type: array + minItems: 0 + items: + description: >- + Telemetry entry. + type: string message: description: >- If passed is true, this value is empty. @@ -298,14 +302,14 @@ allOf: CSIT model version (semver format) the exporting code adhered to. type: string - const: 1.0.1 + const: 1.1.0 required: - duration - dut_type - dut_version - end_time - hosts - - log + - telemetry - message - passed - result diff --git a/docs/model/current/top.rst b/docs/model/current/top.rst index ee33a29cd3..e824225698 100644 --- a/docs/model/current/top.rst +++ b/docs/model/current/top.rst @@ -22,7 +22,7 @@ especially the export side (UTI), not import side (PAL). Version ~~~~~~~ -This document is valid for CSIT model version 1.0.1. +This document is valid for CSIT model version 1.1.0. It is recommended to use semantic versioning: https://semver.org/ That means, if the new model misses a field present in the old model, @@ -54,15 +54,7 @@ If the suite name contains spaces (Robot converts underscores to spaces), they are replaced with underscores. The filesystem tree is rooted under tests/ (as suites in git are there), -and for each component (test case, suite setup, suite teardown) -two files are generated. -The "raw" variant is suitable for debugging (can contain lower level logging), -while the "info" variant is suitable for processing by PAL -(can contain derivative values so PAL does not need to compute them -on every download). -Their structure and content is mostly identical, model definition mentions -if a particular subschema is not identical in the two variants. -It is possible to convert from raw to info, but not the other way. +and for each component (test case, suite setup, suite teardown). Although we expect only ASCII text in the exported files, we manipulate files using UTF-8 encoding, -- cgit 1.2.3-korg