-
Notifications
You must be signed in to change notification settings - Fork 175
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
Add device-passthrough testcase for CH platform #3415
base: main
Are you sure you want to change the base?
Conversation
} | ||
pool_vendor_device_map[pool_type] = vendor_device_id | ||
|
||
assert environment.runbook.nodes_requirement, "requirement cant be empty" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not understand the logic, why does it need to check platform runbook and node runbook both? They should be expected values, and one of them should be enough to provide the expected value.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Device pool is part of platform runbook whereas what kind of device need to be assigned from pool is part of node runbook.
Platform runbook defines the pool configuration
Node runbook defines how many devices/what kind of devices need to be passthrough under requirement section
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here is the reference @squirrelsc
platform:
-type: cloud-hypervisor
cloud-hypervisor:
device_pools:
- type: "pci_net"
devices:
- vendor_id: xxx
device_id: xxx
requirement:
cloud-hypervisor:
device_passthrough:
-pool_type: "pci_net"
managed: "yes"
count: 1
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Use node.runbook, instead of nodes_requirement. The nodes_requirements may be expanded to multiple nodes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We are using extended runbook only. Let me check if is there other better way to get the runbook.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Using extended runbook only to get the expected value.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please check Azure platform code. the runbook should be merged, and copied to each node. The nodes_requirement is the raw info to create nodes, which shouldn't be used for each environment.
lisa/lisa/sut_orchestrator/azure/platform_.py
Line 1123 in d50a39f
node.capability.set_extended_runbook(azure_node_runbook) |
4504c04
to
0d77e02
Compare
Add test case to verify if passthrough-devices are visible to guest for CH platform Signed-off-by: Smit Gardhariya <[email protected]>
0d77e02
to
d50a39f
Compare
BaseLibvirtNodeSchema, CLOUD_HYPERVISOR | ||
) | ||
if not node_runbook.device_passthrough: | ||
raise SkippedException("No device-passthrough is set for node") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This check should happen earlier before any other command.
Add test case to verify if passthrough-devices
are visible to guest for CH platform