Skip to content

Add miob example config #879

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

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open

Add miob example config #879

wants to merge 3 commits into from

Conversation

IgnoreWarnings
Copy link
Collaborator

Add a miob example config for loopback.

@n-eiling
Copy link
Member

please name the file fpga-miob. The filename should reference the node type the file is an example for.

@IgnoreWarnings
Copy link
Collaborator Author

please name the file fpga-miob. The filename should reference the node type the file is an example for.

I renamed the file. 5a24f6b

@stv0g
Copy link
Contributor

stv0g commented Mar 22, 2025

The new config fails in the integration test:

=== Testing config: /builds/acs/public/villas/node/etc/examples/nodes/fpga-miob.conf
17:11:54 info memory           Initialize memory sub-system: #hugepages=100
17:11:54 warn memory:mmap      Running in an unprivileged environment. Hugepages are not used!
17:11:54 warn memory           Running in an unprivileged environment. Memory is not locked to RAM!
17:11:54 info test-config      This is VILLASnode v0.11.0-5a24f6b-release-ci (built on Mar 21 2025, 17:10:18)
17:11:54 info signals          Initialize subsystem
17:11:54 info config           Reading configuration from local file: /builds/acs/public/villas/node/etc/examples/nodes/fpga-miob.conf
modprobe: FATAL: Module vfio not found in directory /lib/modules/5.15.0-1073-kvm
17:11:54  err test-config      Kernel module 'vfio' required but could not be loaded. Please load manually!
[FAIL]  test-config (exited with code 255, ran for 2.366331618s)
Summary: 1 of 61 tests failed.
   Timedout: 0
   Skipped: 18
gmake[3]: *** [tests/integration/CMakeFiles/run-integration-tests.dir/build.make:73: tests/integration/CMakeFiles/run-integration-tests] Error 1
gmake[2]: *** [CMakeFiles/Makefile2:1506: tests/integration/CMakeFiles/run-integration-tests.dir/all] Error 2
gmake[1]: *** [CMakeFiles/Makefile2:1513: tests/integration/CMakeFiles/run-integration-tests.dir/rule] Error 2
gmake: *** [Makefile:631: run-integration-tests] Error 2

@IgnoreWarnings
Copy link
Collaborator Author

The new config fails in the integration test:

=== Testing config: /builds/acs/public/villas/node/etc/examples/nodes/fpga-miob.conf
17:11:54 info memory           Initialize memory sub-system: #hugepages=100
17:11:54 warn memory:mmap      Running in an unprivileged environment. Hugepages are not used!
17:11:54 warn memory           Running in an unprivileged environment. Memory is not locked to RAM!
17:11:54 info test-config      This is VILLASnode v0.11.0-5a24f6b-release-ci (built on Mar 21 2025, 17:10:18)
17:11:54 info signals          Initialize subsystem
17:11:54 info config           Reading configuration from local file: /builds/acs/public/villas/node/etc/examples/nodes/fpga-miob.conf
modprobe: FATAL: Module vfio not found in directory /lib/modules/5.15.0-1073-kvm
17:11:54  err test-config      Kernel module 'vfio' required but could not be loaded. Please load manually!
[FAIL]  test-config (exited with code 255, ran for 2.366331618s)
Summary: 1 of 61 tests failed.
   Timedout: 0
   Skipped: 18
gmake[3]: *** [tests/integration/CMakeFiles/run-integration-tests.dir/build.make:73: tests/integration/CMakeFiles/run-integration-tests] Error 1
gmake[2]: *** [CMakeFiles/Makefile2:1506: tests/integration/CMakeFiles/run-integration-tests.dir/all] Error 2
gmake[1]: *** [CMakeFiles/Makefile2:1513: tests/integration/CMakeFiles/run-integration-tests.dir/rule] Error 2
gmake: *** [Makefile:631: run-integration-tests] Error 2

@stv0g It looks like the module vfio or vfio-platform can not be loaded on the integration server

@n-eiling
Copy link
Member

n-eiling commented Mar 22, 2025

fpga test will always fail because the CI does not have a FPGA. We tested the file offline. Why does fpga.conf work?

@stv0g
Copy link
Contributor

stv0g commented Mar 23, 2025

The test will only attempt to parse the configuration. No actual exchange via VFIO needs to take place here. The point is only to verify that the configuration file is semantically correct and can be parsed.

@n-eiling
Copy link
Member

the parsing shouldn't try to load the vfio kernel module. @IgnoreWarnings can you check what is happening? Maybe you have to separate the device resolution from the parsing.

@stv0g stv0g changed the title feat: add miob example config feat: Add miob example config Mar 26, 2025
@IgnoreWarnings
Copy link
Collaborator Author

I will look into why this fails, it works on hardware.

@stv0g
Copy link
Contributor

stv0g commented Mar 27, 2025

@IgnoreWarnings I see you removed the module loading for vfio_platform. The test is now failing on another module: vfio

@IgnoreWarnings
Copy link
Collaborator Author

@IgnoreWarnings I see you removed the module loading for vfio_platform. The test is now failing on another module: vfio

Yes, I will look at this the next weeks, should be an easy fix.

@IgnoreWarnings
Copy link
Collaborator Author

@stv0g
I wondered why this didnt fail with the other fpga config. It seems like that one was ignored somewhere:
=== Skipping config: /builds/acs/public/villas/node/etc/examples/nodes/fpga.conf

The creation of a vfio container, which is passed to the fpga factories, requires vfio module, which cannot be loaded on pipeline. Maybe we should just ignore the integration test?

@stv0g stv0g changed the title feat: Add miob example config Add miob example config Apr 24, 2025
@stv0g
Copy link
Contributor

stv0g commented Apr 24, 2025

Okay, thats strange. Ideally, we would be able to defer loading modules to after the configuration parsing.

If thats not possible, we could add another exception. But, I think we should first understand why the modules are loadded so early..

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants