#KCIDB: Adding support for log excerpts #KCIDB


Nikolai Kondrashov
 

Hi Cristian,

On 2/9/21 5:06 PM, Cristian Marussi wrote:
On Tue, Feb 09, 2021 at 02:56:48PM +0200, Nikolai Kondrashov via groups.io wrote:
We'd like to introduce support for optional "log_excerpt" field for "checkouts"
("revisions" previously) and "builds".

Please don't hesitate to respond with any comments, objections, or
suggestions.
Nice feature, is there any chance this could be optionally used also
with single tests, so that you can provide a snippet (even capped smaller
than 16kb in that case) of the failing testcase if available ?
( not that I have at the moment on my side the backend ready to produce
such snippets ... so I'm not saying I'll just onto it immediately :D ..
but it was a possibility)
Yes, I was also thinking about that, and wanted to introduce that in another
message/PR just to keep things focused and less confusing.

I think this would also be useful to at least 0-Day, as they don't offer logs
for download at all, and do run some tests, IIRC.

Some tests can produce multiple output files, so we'd have to define such
"log_url"/"log_excerpt" fields as pointing to the "main" log and define *that*
somehow.

I'll add that to my queue for the next release, as it's easy to do.

Nick


Cristian Marussi
 

Hi Nick,

On Tue, Feb 09, 2021 at 02:56:48PM +0200, Nikolai Kondrashov via groups.io wrote:
Hi everyone,

To anyone involved/interested in contributing to KernelCI's KCIDB data and
code, I'd like to announce a small, but noticeable change to the schema to let
us develop result notifications further, and to move closer to reaching
developers with our data.

We'd like to introduce support for optional "log_excerpt" field for "checkouts"
("revisions" previously) and "builds".

The field can contain an excerpt of the log of the checkout/build attempt,
that is most relevant to the outcome. E.g. patch application failure messages,
or particular errors which resulted in build failure.

This would help accommodate Intel's 0-Day with their log snippets, and in
general allow providing a summary of what happened with the checkout/build,
right in the notification message or the dashboard page.

Both fields are capped at an arbitrary 16KB, just to start with something.
We can adjust that later based on experience.

Example:

{
"version": {
"major": 3,
"minor": 0
},
"builds": [
{
"id": "redhat:1098550",
"revision_id": "d39bfd0686fd2b21f857c61bb2753db3a932cb24",
"origin": "redhat",
"start_time": "2021-02-09T03:54:04.513123+00:00",
"architecture": "aarch64",
"command": "make -j30 INSTALL_MOD_STRIP=1 targz-pkg",
"compiler": "aarch64-linux-gnu-gcc (GCC) 10.2.1 20200826 (Red Hat Cross 10.2.1-3)",
"config_name": "fedora",
"config_url": "https://s3.us-east-1.amazonaws.com/arr-cki-prod-datawarehouse-public/datawarehouse-public/2021/02/09/623372/build_aarch64_redhat:1098550/kernel-scsi-aarch64-d39bfd0686fd2b21f857c61bb2753db3a932cb24.config",
"log_url": "https://s3.us-east-1.amazonaws.com/arr-cki-prod-datawarehouse-public/datawarehouse-public/2021/02/09/623372/build_aarch64_redhat:1098550/build.log",
"log_excerpt": "00:20:49 ERROR: modpost: "irq_check_status_bit" [drivers/perf/arm_spe_pmu.ko] undefined!"
"valid": false,
}
]
}

The PR for the corresponding code change is up at:

https://github.com/kernelci/kcidb-io/pull/23

Please don't hesitate to respond with any comments, objections, or
suggestions.
Nice feature, is there any chance this could be optionally used also
with single tests, so that you can provide a snippet (even capped smaller
than 16kb in that case) of the failing testcase if available ?
( not that I have at the moment on my side the backend ready to produce
such snippets ... so I'm not saying I'll just onto it immediately :D ..
but it was a possibility)

Thanks

Cristian

If there are no objections, I'll merge this change on Friday, Feb 12.

Nick






Nikolai Kondrashov
 

Hi everyone,

To anyone involved/interested in contributing to KernelCI's KCIDB data and
code, I'd like to announce a small, but noticeable change to the schema to let
us develop result notifications further, and to move closer to reaching
developers with our data.

We'd like to introduce support for optional "log_excerpt" field for "checkouts"
("revisions" previously) and "builds".

The field can contain an excerpt of the log of the checkout/build attempt,
that is most relevant to the outcome. E.g. patch application failure messages,
or particular errors which resulted in build failure.

This would help accommodate Intel's 0-Day with their log snippets, and in
general allow providing a summary of what happened with the checkout/build,
right in the notification message or the dashboard page.

Both fields are capped at an arbitrary 16KB, just to start with something.
We can adjust that later based on experience.

Example:

{
"version": {
"major": 3,
"minor": 0
},
"builds": [
{
"id": "redhat:1098550",
"revision_id": "d39bfd0686fd2b21f857c61bb2753db3a932cb24",
"origin": "redhat",
"start_time": "2021-02-09T03:54:04.513123+00:00",
"architecture": "aarch64",
"command": "make -j30 INSTALL_MOD_STRIP=1 targz-pkg",
"compiler": "aarch64-linux-gnu-gcc (GCC) 10.2.1 20200826 (Red Hat Cross 10.2.1-3)",
"config_name": "fedora",
"config_url": "https://s3.us-east-1.amazonaws.com/arr-cki-prod-datawarehouse-public/datawarehouse-public/2021/02/09/623372/build_aarch64_redhat:1098550/kernel-scsi-aarch64-d39bfd0686fd2b21f857c61bb2753db3a932cb24.config",
"log_url": "https://s3.us-east-1.amazonaws.com/arr-cki-prod-datawarehouse-public/datawarehouse-public/2021/02/09/623372/build_aarch64_redhat:1098550/build.log",
"log_excerpt": "00:20:49 ERROR: modpost: "irq_check_status_bit" [drivers/perf/arm_spe_pmu.ko] undefined!"
"valid": false,
}
]
}

The PR for the corresponding code change is up at:

https://github.com/kernelci/kcidb-io/pull/23

Please don't hesitate to respond with any comments, objections, or
suggestions.

If there are no objections, I'll merge this change on Friday, Feb 12.

Nick