-
Notifications
You must be signed in to change notification settings - Fork 181
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
Update to Network Channel count calculation in test case 'verify_vmbus_devices_channels' #3644
base: main
Are you sure you want to change the base?
Update to Network Channel count calculation in test case 'verify_vmbus_devices_channels' #3644
Conversation
|
||
# 2.1 Get expected channel count of each netvsc is min (num of vcpu, 8). | ||
expected_network_channel_count = ( | ||
node.tools[Ethtool].get_device_channels_info("eth0", True) |
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.
it is possible that case will change the combined channel count
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 think it is the actual value, not 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.
I think it is the actual value, not the expected value.
Agree, the value should be calculated, instead of getting from the system. This test case is to verify if the count of channel is the same as designed.
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.
Thanks for the review team. If the logic for channel calculation is updated and the said patch is available only in certain distros - it would cause the test to fail in certain cases and to succeed in others, thus creating a discrepancy. The current patch is available in SLES and Upstream but not in other distros. How can we alter the test cases to handle different logics for different situations?
Also, to avoid such a situation, wouldn't it be helpful to use a tool which refers the relevant channel calculation code at the Kernel level?
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.
Can it be differentiated by kernel version?
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 can do that for a short-term solution but as the patch is backported, we would need to update the kernel version for the test case.
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 can do that for a short-term solution but as the patch is backported, we would need to update the kernel version for the test case.
If the patch is backported, all newer version can use the new algorithm. So, the test cases can work with both old and newer versions.
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.
Thanks for the inputs @squirrelsc . Started an internal thread on this to get inputs from the Kernel team as well.
At present the network channel count calculation in the test case 'verify_vmbus_devices_channels' is based on the number of vCPUs and has a cap value of 8 - which might get updated, like in the following patch: [PATCH v4] net: netvsc: Update default VMBus channels
This patch is currently available in Upstream but not all downstream distros. Hence it is better to get the expected count using ethtool which would be dependent on the files updated in the patch above and help avoid discrepancies while testing different scenarios.