Skip to content
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

[Tracking] localhost test/vm test suite - occasionally capture results tables #982

Closed
incertum opened this issue Mar 15, 2023 · 17 comments
Closed
Labels
kind/feature New feature or request lifecycle/rotten
Milestone

Comments

@incertum
Copy link
Contributor

incertum commented Mar 15, 2023

Motivation

See most recent README file of the localhost VM based test suite https://github.com/falcosecurity/libs/tree/master/test/vm.

Feature

Occasionally capture results tables to keep some history re our drivers kernel compatibilities wrt compiler versions.


Note that since Aug 2023 libs features official CI powered kernel version testing and the results are shared with each driver release.

@incertum incertum added the kind/feature New feature or request label Mar 15, 2023
@incertum incertum changed the title [Tracking] localhost driver danity test suites - occasionally capture results table here [Tracking] localhost driver sanity test suites - occasionally capture results table here Mar 15, 2023
@incertum
Copy link
Contributor Author

2022-11-16

2022-11-16_driver_compat_matrix

@incertum
Copy link
Contributor Author

2023-03-14

2023-03-14_driver_compat_matrix

@Andreagit97
Copy link
Member

wow, the last plot is quite worrying, to be honest, I would think again at #940 WDYT? @incertum @FedeDP @Molter73

@Andreagit97
Copy link
Member

maybe is not clear but the final patch I have in mind will simplify a lot the logic, maybe we can work on it on a separate branch and if you like the final result we can think of merging it (?)

@FedeDP
Copy link
Contributor

FedeDP commented Mar 15, 2023

I fully agree, we should definitely spend some time to fix those issues; perhaps not all issues will suddenly go away by splitting bpf_val_to_ring, but experience says that like 90% of the past issues were because of it.

@Andreagit97 Andreagit97 added this to the driver-backlog milestone Jun 7, 2023
@incertum
Copy link
Contributor Author

incertum commented Jun 8, 2023

June 7, 2023

libs master commit 4db06c6 (corresponding to approx 0.11.2 release)

Build containers have been optimized resulting in less gaps due to failed builds especially for kmod plus now 2 separate results tables are reported, that is, [compiled] vs [compiled + success].

Kernel grid has been adjusted as well, while including 2.6.32 and 3.10 kernels to check on the kmod build, but they are not tested in a VM.

driver_compat_matrix_compiled

driver_compat_matrix_success

@Andreagit97
Copy link
Member

uhh, that's super cool! thank you for this! we need to move on with this test grid, IMHO it should be one of the main tasks of the following weeks!

@incertum incertum changed the title [Tracking] localhost driver sanity test suites - occasionally capture results table here [Tracking] localhost test/vm test suite - occasionally capture results tables Aug 8, 2023
@incertum
Copy link
Contributor Author

incertum commented Aug 8, 2023

Aug 7, 2023

libs master commit bbcc5c7

Now markdown tables as we needed to remove matplotlib dependency.

Still need to add modern bpf ... need to check again on upstream builder containers, that was the blocker.

In addition, was chatting with @FedeDP about the possibility to include such reports (multiple compiler versions) alongside the new awesome official CI powered kernel version testing in the next iterations of the test frameworks.


Driver (clang -> bpf, gcc -> kmod) kernel compatibility matrix [compiled]

kernel_uname_r clang-7 clang-12 clang-14 clang-16 gcc-5 gcc-9 gcc-11 gcc-13
3.10.0-1160.49.1.el7.x86_64 🔵
4.14.296-222.539.amzn2.x86_64 🔵 🔵 🔵 🔵 🔵 🔵 🔵 🔵
4.16.18-041618-generic 🔵 🔵 🔵 🔵 🔵 🔵 🔵 🔵
4.19.277-0419277-generic 🔵 🔵 🔵 🔵 🔵 🔵 🔵 🔵
5.4.247-1.el7.elrepo.x86_64 🔵 🔵 🔵 🔵 🔵 🔵 🔵
5.10.9-1.el7.elrepo.x86_64 🔵 🔵 🔵 🔵 🔵 🔵 🔵
5.14.15-1.el7.elrepo.x86_64 🔵 🔵 🔵 🔵 🔵 🔵 🔵
5.19.17-051917-generic 🔵 🔵 🔵 🔵
6.3.5-060305-generic 🔵 🔵 🔵 🔵
6.3.8-1.el7.elrepo.x86_64 🔵 🔵 🔵 🔵 🔵 🔵 🔵

Driver (clang -> bpf, gcc -> kmod) kernel compatibility matrix [compiled + success]

kernel_uname_r clang-7 clang-12 clang-14 clang-16 gcc-5 gcc-9 gcc-11 gcc-13
4.14.296-222.539.amzn2.x86_64 🟢 🟢 🟢 🟢 🟢 🟢
4.16.18-041618-generic 🟢 🟢 🟢 🟢 🟢 🟢 🟢
4.19.277-0419277-generic 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢
5.4.247-1.el7.elrepo.x86_64 🟢 🟢 🟢 🟢 🟢 🟢 🟢
5.10.9-1.el7.elrepo.x86_64 🟢 🟢 🟢 🟢 🟢 🟢
5.14.15-1.el7.elrepo.x86_64 🟢 🟢 🟢 🟢 🟢 🟢 🟢
5.19.17-051917-generic 🟢 🟢 🟢 🟢
6.3.5-060305-generic 🟢 🟢 🟢 🟢
6.3.8-1.el7.elrepo.x86_64 🟢 🟢 🟢 🟢 🟢 🟢 🟢

@Andreagit97 Andreagit97 modified the milestones: driver-backlog, TBD Sep 4, 2023
@poiana
Copy link
Contributor

poiana commented Dec 3, 2023

Issues go stale after 90d of inactivity.

Mark the issue as fresh with /remove-lifecycle stale.

Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Provide feedback via https://github.com/falcosecurity/community.

/lifecycle stale

@Andreagit97
Copy link
Member

/remove-lifecycle stale

@incertum
Copy link
Contributor Author

7.0.0+driver

Driver (clang -> bpf, gcc -> kmod) kernel compatibility matrix [compiled]

kernel_uname_r clang-7 clang-12 clang-14 clang-16 gcc-5 gcc-9 gcc-11 gcc-13
3.10.0-1160.49.1.el7.x86_64 🔵
4.14.296-222.539.amzn2.x86_64 🔵 🔵 🔵 🔵 🔵 🔵 🔵 🔵
4.16.18-041618-generic 🔵 🔵 🔵 🔵 🔵 🔵 🔵 🔵
4.19.296-0419296-generic 🔵 🔵 🔵 🔵 🔵 🔵 🔵 🔵
5.4.247-1.el7.elrepo.x86_64 🔵 🔵 🔵 🔵 🔵 🔵 🔵
5.10.9-1.el7.elrepo.x86_64 🔵 🔵 🔵 🔵 🔵 🔵 🔵
5.14.15-1.el7.elrepo.x86_64 🔵 🔵 🔵 🔵 🔵 🔵 🔵
5.19.17-051917-generic 🔵 🔵 🔵 🔵
6.5.0-060500-generic 🔵 🔵
6.5.8-1.el7.elrepo.x86_64 🔵 🔵 🔵 🔵 🔵 🔵 🔵

Driver (clang -> bpf, gcc -> kmod) kernel compatibility matrix [compiled + success]

kernel_uname_r clang-7 clang-12 clang-14 clang-16 gcc-5 gcc-9 gcc-11 gcc-13
4.14.296-222.539.amzn2.x86_64 🟢 🟢 🟢 🟢 🟢 🟢 🟢
4.16.18-041618-generic 🟢 🟢 🟢 🟢 🟢 🟢 🟢
4.19.296-0419296-generic 🟢 🟢 🟢 🟢 🟢 🟢 🟢
5.4.247-1.el7.elrepo.x86_64 🟢 🟢 🟢 🟢 🟢 🟢 🟢
5.10.9-1.el7.elrepo.x86_64 🟢 🟢 🟢 🟢 🟢 🟢 🟢
5.14.15-1.el7.elrepo.x86_64 🟢 🟢 🟢 🟢 🟢 🟢 🟢
5.19.17-051917-generic 🟢 🟢 🟢 🟢
6.5.0-060500-generic 🟢 🟢
6.5.8-1.el7.elrepo.x86_64 🟢 🟢 🟢 🟢 🟢 🟢 🟢

@FedeDP and @Andreagit97 once again in the last dev sprint leading up to the 7.0.0 the CI kernel tests but these tests across multiple compiler versions were pivotal in pinpointing some eBPF verifier issues for the legacy eBPF driver.
Was thinking if we couldn't just run it as is on the CNCF test server as ad-hoc on demand CI pipeline (non required)? While the vagrant and vbox approach was more intended for your dev laptops I don't see why it shouldn't easily work as well given that we now have the bare-metal server? WDYT?

@FedeDP
Copy link
Contributor

FedeDP commented Jan 23, 2024

Was thinking if we couldn't just run it as is on the CNCF test server as ad-hoc on demand CI pipeline (non required)? While the vagrant and vbox approach was more intended for your dev laptops I don't see why it shouldn't easily work as well given that we now have the bare-metal server? WDYT?

I think it makes sense! It belongs to https://github.com/falcosecurity/libs/blob/master/.github/workflows/reusable_kernel_tests.yaml and we might also add a new github page about it (with its matrix): https://github.com/falcosecurity/libs/blob/master/.github/workflows/pages.yml.
It should be fairly simple since it is like running it on your local machine ;)

@incertum
Copy link
Contributor Author

Was thinking if we couldn't just run it as is on the CNCF test server as ad-hoc on demand CI pipeline (non required)? While the vagrant and vbox approach was more intended for your dev laptops I don't see why it shouldn't easily work as well given that we now have the bare-metal server? WDYT?

I think it makes sense! It belongs to https://github.com/falcosecurity/libs/blob/master/.github/workflows/reusable_kernel_tests.yaml and we might also add a new github page about it (with its matrix): https://github.com/falcosecurity/libs/blob/master/.github/workflows/pages.yml. It should be fairly simple since it is like running it on your local machine ;)

Okie after the release in Feb I'll reach out re how to help setting it up and perform testing. For example, I could get interim ssh access to test and verify an install script for all dependencies, CC @LucaGuerra I believe you manage the bare-metal access right? Also no rush on that.

@poiana
Copy link
Contributor

poiana commented Apr 22, 2024

Issues go stale after 90d of inactivity.

Mark the issue as fresh with /remove-lifecycle stale.

Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Provide feedback via https://github.com/falcosecurity/community.

/lifecycle stale

@poiana
Copy link
Contributor

poiana commented May 22, 2024

Stale issues rot after 30d of inactivity.

Mark the issue as fresh with /remove-lifecycle rotten.

Rotten issues close after an additional 30d of inactivity.

If this issue is safe to close now please do so with /close.

Provide feedback via https://github.com/falcosecurity/community.

/lifecycle rotten

@poiana
Copy link
Contributor

poiana commented Jun 21, 2024

Rotten issues close after 30d of inactivity.

Reopen the issue with /reopen.

Mark the issue as fresh with /remove-lifecycle rotten.

Provide feedback via https://github.com/falcosecurity/community.
/close

@poiana poiana closed this as completed Jun 21, 2024
@poiana
Copy link
Contributor

poiana commented Jun 21, 2024

@poiana: Closing this issue.

In response to this:

Rotten issues close after 30d of inactivity.

Reopen the issue with /reopen.

Mark the issue as fresh with /remove-lifecycle rotten.

Provide feedback via https://github.com/falcosecurity/community.
/close

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature New feature or request lifecycle/rotten
Projects
None yet
Development

No branches or pull requests

4 participants