Hello all,
Currently, in our API we are using k8s ResourceRequirements[1] as a type for
the SupportContainerResources.Resources[2] and InterfaceBindingPlugin.ComputeResourceOverhead[3] struct.
During the bump[4] of k8s dependency from 1.30 to 1.31, we noticed that this is causing a change in our API, because of the
addition of the `Claims` field to the `ResourceClaim` struct (used for DRA devices).
Actually, both SupportContainerResources.Resources and InterfaceBindingPlugin.ComputeResourceOverhead does not use
the `Claims` field of ResourceRequirements, but only the `Limits` and `Requests` ones.
Even if it could be used to consume DRA devices, it will have to be after DRA devices are supported in KubeVirt.
So, in order to increase the stability of our API, we decided to drop the direct dependency to the k8s ResourceRequirements,
by creating our `ResourceRequirementsWithoutClaims` struct that, as the name suggests, is a copy of the original struct
cleaned up of the `Claims` field.
Since the previous releases use the k8s ResourceRequirements this can cause a breaking change, even if the `Claims` field
is never consumed by KubeVirt in SupportContainerResources.Resources[2] and InterfaceBindingPlugin.ComputeResourceOverhead[3] struct.
Are there any concerns around this?
--Federico