From 4adcbc5c74e6296c5ef6915ef19a6bdf0d833b94 Mon Sep 17 00:00:00 2001 From: Tomasz Gromadzki Date: Mon, 24 Feb 2025 20:14:14 +0100 Subject: [PATCH 1/3] DAOS-16661 ci: skip PMDK messages in NLT Static analysis of NLT results does not work properly when a warning source code is out of scope of the project. An error is reported in such case and the whole stage status is changed to FAILURE. ``` [NLT results] [-ERROR-] Can't create fingerprints for some files: [NLT results] [-ERROR-] - 'pmdk/.../src/common/set.c' file not found ... [NLT results] Failing build because analysis result contains errors ``` To prevent this problem, all PMDK-related messages are filtered out. NLT results Warnings section will include warnings but will not provide any detail information about location of this warning in the source code. Based on existing format of nlt-errors.json file the most easy way to filtered all PMDK messages is to use the predefined "pmdk/" preffix in the fileName: ``` ... { "fileName": "pmdk/src/../src/common/set.c", "type": "warning in strict mode", "lineStart": 2796, "description": "warning in strict mode", "message": "util_replica_check() Possible silent data corruption. The unsafe shutdown detection (SDS) is not supported in the pool: /mnt/daos_0/e5737f5f-fa54-45d6-b081-9b2769921610/vos-1\nwarning in strict mode", "severity": "NORMAL" }, ... ``` vos logging system should ensure that the file name of each PMDK related message starts with "pmdk/" prefix. The implementation of the solution is provided in https://github.com/daos-stack/daos/pull/14923 PR Signed-off-by: Tomasz Gromadzki --- vars/unitTestPost.groovy | 2 ++ 1 file changed, 2 insertions(+) diff --git a/vars/unitTestPost.groovy b/vars/unitTestPost.groovy index b6537ef0c..a77d8b9e8 100755 --- a/vars/unitTestPost.groovy +++ b/vars/unitTestPost.groovy @@ -102,6 +102,8 @@ void call(Map config = [:]) { scm: 'daos-stack/daos', requiredResult: 'UNSTABLE') recordIssues enabledForFailure: true, + /* ignore warning/errors from PMDK logging system */ + filters: [excludeFile('pmdk/.+')], failOnError: !results['ignore_failure'], ignoreQualityGate: true, // Set qualitygate to 1 new "NORMAL" priority message From 9eda4a7e7b118e6851d78070794475b44024e2ff Mon Sep 17 00:00:00 2001 From: Tomasz Gromadzki Date: Tue, 4 Mar 2025 07:39:40 +0100 Subject: [PATCH 2/3] Limit tests scope to possibly affected areas This change only may affect NLT and Fault Injection tests No need to execute HW and VM Functional Tests Skip-build-el9-rpm: true Skip-build-leap15-rpm: true Skip-build-ubuntu20-rpm: true Skip-build-leap15-icc: true Skip-unit-test: true Skip-unit-test-memcheck: true Skip-bullseye: true Skip-fault-injection-test: false Skip-func-test-vm-all: true Skip-func-test-hw: true Signed-off-by: Tomasz Gromadzki From 422cb753380ae7b6a7c4814f7fde2dc5e1902dde Mon Sep 17 00:00:00 2001 From: Tomasz Gromadzki Date: Tue, 4 Mar 2025 22:12:55 +0100 Subject: [PATCH 3/3] Limit tests scope to possibly affected areas (2nd) This change only may affect NLT and Fault Injection tests No need to execute HW and VM Functional Tests Skip-build-el9-rpm: true Skip-build-leap15-rpm: true Skip-build-ubuntu20-rpm: true Skip-build-leap15-icc: true Skip-unit-test: true Skip-unit-test-memcheck: true Skip-bullseye: true Skip-fault-injection-test: false Skip-func-test-vm-all: true Skip-func-test-hw: true Signed-off-by: Tomasz Gromadzki