-
Notifications
You must be signed in to change notification settings - Fork 1
DAOS-16661 ci: Ignore detail analysis of PMDK warnings in NLT #457
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
9c7433f to
f18f152
Compare
f39f869 to
b4b67db
Compare
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
daos-stack/daos#14923 PR
Signed-off-by: Tomasz Gromadzki <tomasz.gromadzki@hpe.com>
b4b67db to
4adcbc5
Compare
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 <tomasz.gromadzki@hpe.com>
|
NLT and Fault Injection Tests passed on |
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 <tomasz.gromadzki@hpe.com>
|
@daltonbohning can we land with this PR not waiting for all upstream validation to be completed? |
|
Woops, too late. It actually finished now :) |
daos-stack/pipeline-lib#457 landed on master. This change only may affect NLT and Fault Injection tests No need to execute HW and VM Functional Tests 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 <tomasz.gromadzki@hpe.com>
NLT results analysis reports an error when it can not get source code of the reported warning.
PMDK reports warnings/errors via VOS logging system but the source code is not available.
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.
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:
The VOS logging system should ensure that the filename of each PMDK-related message starts with a "pmdk/" prefix.
The implementation of the solution is provided in daos-stack/daos#14923 PR