-
Notifications
You must be signed in to change notification settings - Fork 176
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
Capacity and Allocatable number shows wrong if sriov-network-device-plugin restarts #565
Comments
Hi @jslouisyou can you share the device plugin configmap please |
Hi @SchSeba ,
|
Hi @jslouisyou if I remember right we introduce a check for
that will run the PF so which should fix the problem if the wrong number of devices after the reboot |
Hi @SchSeba , I upgraded |
Hi @jslouisyou can you please provide logs from
Thanks! |
Hi @SchSeba
First, here's the log from
Second, here's the log from
Third, here's the log from
After restarts
I hope this might helps! |
@jslouisyou i see the following after kubelet restart in device plugin logs:
are these VFs currently assigned to pods ? what is the SriovIBNetwork you have defined ? can you also provide the matching network-attachment-definition used for the workloads pods ? on the worker node, can you run the following command as root: |
Hi @adrianchiris !
and this is sample Pod manifest:
Here's the
|
if you define network-attachment-definition separately its not required. i see the system is configured with rdma system exclusive mode so sriov-device-plugin will not find rdma resources that are assigned to container -> it will not register that device (VF) to the pool. we will need to modify device plugin to handle this case.
for now prehaps use rdma in shared mode if possible. |
Thanks @adrianchiris for your quick response! The RDMA mode wasn't configured by me and given that a large number of GPU devices are currently utilizing RDMA so it seems it would be challenging to modify the mode without complications. At this point, can I consider this issue as occurred from |
yes |
Thanks! It might be very early to ask, but are there any future plans to resolve this issue? |
yes it will be addressed in the near future. i dont have an ETA atm |
I will take a look at it. |
Hi @rollandf any update on this one? |
In case a RDMA device in exclusive mode is in use by a Pod, the DP was not reporting it as a resource after DP restart. Following changes are introduced in RdmaSpec: - isRdma: in case of no rdma resources, check if netlink "enable_rdma" is available. - GetRdmaDeviceSpec: the device specs are retrieved dynamically and not on discovery stage as before. Dynamic RDMA specs computatiopn vs on discovery, comes to solve following scenario for exlusive mode: - Discover RDMA device - Allocate to Pod (resources are hidden on host) - Restart DP pod - Deallocate - Reallocate Fixes k8snetworkplumbingwg#565 Signed-off-by: Fred Rolland <[email protected]>
In case a RDMA device in exclusive mode is in use by a Pod, the DP was not reporting it as a resource after DP restart. Following changes are introduced in RdmaSpec: - isRdma: in case of no rdma resources, check if netlink "enable_rdma" is available. - GetRdmaDeviceSpec: the device specs are retrieved dynamically and not on discovery stage as before. Dynamic RDMA specs computation vs on discovery, comes to solve following scenario for exlusive mode: - Discover RDMA device - Allocate to Pod (resources are hidden on host) - Restart DP pod - Deallocate - Reallocate Fixes k8snetworkplumbingwg#565 Signed-off-by: Fred Rolland <[email protected]>
In case a RDMA device in exclusive mode is in use by a Pod, the DP was not reporting it as a resource after DP restart. Following changes are introduced in RdmaSpec: - isRdma: in case of no rdma resources, check if netlink "enable_rdma" is available. - GetRdmaDeviceSpec: the device specs are retrieved dynamically and not on discovery stage as before. Dynamic RDMA specs computation vs on discovery, comes to solve following scenario for exlusive mode: - Discover RDMA device - Allocate to Pod (resources are hidden on host) - Restart DP pod - Deallocate - Reallocate Fixes k8snetworkplumbingwg#565 Signed-off-by: Fred Rolland <[email protected]>
In case a RDMA device in exclusive mode is in use by a Pod, the DP was not reporting it as a resource after DP restart. Following changes are introduced in RdmaSpec: - isRdma: in case of no rdma resources, check if netlink "enable_rdma" is available. - GetRdmaDeviceSpec: the device specs are retrieved dynamically and not on discovery stage as before. Dynamic RDMA specs computation vs on discovery, comes to solve following scenario for exlusive mode: - Discover RDMA device - Allocate to Pod (resources are hidden on host) - Restart DP pod - Deallocate - Reallocate Fixes k8snetworkplumbingwg#565 Signed-off-by: Fred Rolland <[email protected]>
In case a RDMA device in exclusive mode is in use by a Pod, the DP was not reporting it as a resource after DP restart. Following changes are introduced in RdmaSpec: - isRdma: in case of no rdma resources, check if netlink "enable_rdma" is available. - GetRdmaDeviceSpec: the device specs are retrieved dynamically and not on discovery stage as before. Dynamic RDMA specs computation vs on discovery, comes to solve following scenario for exlusive mode: - Discover RDMA device - Allocate to Pod (resources are hidden on host) - Restart DP pod - Deallocate - Reallocate Fixes k8snetworkplumbingwg#565 Signed-off-by: Fred Rolland <[email protected]>
What happened?
Node
Capacity
andAllocatable
number shows wrong in case of restartingsriov-network-device-plugin
if any pods attach SR-IOV IB VFs.What did you expect to happen?
openshift.io/gpu_mlnx_ib#
should be 8 in all VFs.What are the minimal steps needed to reproduce the bug?
sriov-network-operator
version v1.2.0sriov-device-plugin
daemonsetCapacity
andAllocatable
shows full capacity or notAnything else we need to know?
There were several issues already raised and commits were pushed, but it seems that this issue won't be fixed yet.
xref) #276, #521
After restaring
sriov-device-plugin
,kubelet
says thatsriov-device-plugin
pushed its state like below:Even if I changed image version of all components to
latest
, but this issue still occurs.I'm using A100 and H100 nodes.
Component Versions
Please fill in the below table with the version numbers of components used.
sriovCni
: v2.6.3 andibSriovCni
: v1.0.2)Config Files
Config file locations may be config dependent.
Device pool config file location (Try '/etc/pcidp/config.json')
Multus config (Try '/etc/cni/multus/net.d')
CNI config (Try '/etc/cni/net.d/')
Kubernetes deployment type ( Bare Metal, Kubeadm etc.)
Kubeconfig file
SR-IOV Network Custom Resource Definition
Logs
SR-IOV Network Device Plugin Logs (use
kubectl logs $PODNAME
)Multus logs (If enabled. Try '/var/log/multus.log' )
Kubelet logs (journalctl -u kubelet)
The text was updated successfully, but these errors were encountered: