mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-29 14:37:00 +00:00
scheduler/autoscaler_contract: expand the Cluster Autoscaler contract
SharedDRAManager is added to the contract, as well as RunReservePluginsReserve that will be run by Cluster Autoscaler to obtain claim allocations.
This commit is contained in:
parent
8d489425aa
commit
3d22a7f414
@ -36,6 +36,7 @@ import (
|
||||
type frameworkContract interface {
|
||||
RunPreFilterPlugins(ctx context.Context, state *framework.CycleState, pod *v1.Pod) (*framework.PreFilterResult, *framework.Status, sets.Set[string])
|
||||
RunFilterPlugins(context.Context, *framework.CycleState, *v1.Pod, *framework.NodeInfo) *framework.Status
|
||||
RunReservePluginsReserve(ctx context.Context, state *framework.CycleState, pod *v1.Pod, nodeName string) *framework.Status
|
||||
}
|
||||
|
||||
func TestFrameworkContract(t *testing.T) {
|
||||
|
@ -21,12 +21,20 @@ limitations under the License.
|
||||
package contract
|
||||
|
||||
import (
|
||||
resourceapi "k8s.io/api/resource/v1alpha3"
|
||||
"k8s.io/apimachinery/pkg/types"
|
||||
"k8s.io/apimachinery/pkg/util/sets"
|
||||
"k8s.io/dynamic-resource-allocation/structured"
|
||||
"k8s.io/kubernetes/pkg/scheduler/framework"
|
||||
)
|
||||
|
||||
var _ framework.NodeInfoLister = &nodeInfoListerContract{}
|
||||
var _ framework.StorageInfoLister = &storageInfoListerContract{}
|
||||
var _ framework.SharedLister = &shareListerContract{}
|
||||
var _ framework.ResourceSliceLister = &resourceSliceListerContract{}
|
||||
var _ framework.DeviceClassLister = &deviceClassListerContract{}
|
||||
var _ framework.ResourceClaimTracker = &resourceClaimTrackerContract{}
|
||||
var _ framework.SharedDRAManager = &sharedDRAManagerContract{}
|
||||
|
||||
type nodeInfoListerContract struct{}
|
||||
|
||||
@ -61,3 +69,66 @@ func (c *shareListerContract) NodeInfos() framework.NodeInfoLister {
|
||||
func (c *shareListerContract) StorageInfos() framework.StorageInfoLister {
|
||||
return nil
|
||||
}
|
||||
|
||||
type resourceSliceListerContract struct{}
|
||||
|
||||
func (c *resourceSliceListerContract) List() ([]*resourceapi.ResourceSlice, error) {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
type deviceClassListerContract struct{}
|
||||
|
||||
func (c *deviceClassListerContract) List() ([]*resourceapi.DeviceClass, error) {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
func (c *deviceClassListerContract) Get(_ string) (*resourceapi.DeviceClass, error) {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
type resourceClaimTrackerContract struct{}
|
||||
|
||||
func (r *resourceClaimTrackerContract) List() ([]*resourceapi.ResourceClaim, error) {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
func (r *resourceClaimTrackerContract) Get(_, _ string) (*resourceapi.ResourceClaim, error) {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
func (r *resourceClaimTrackerContract) ListAllAllocatedDevices() (sets.Set[structured.DeviceID], error) {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
func (r *resourceClaimTrackerContract) SignalClaimPendingAllocation(_ types.UID, _ *resourceapi.ResourceClaim) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (r *resourceClaimTrackerContract) ClaimHasPendingAllocation(_ types.UID) bool {
|
||||
return false
|
||||
}
|
||||
|
||||
func (r *resourceClaimTrackerContract) RemoveClaimPendingAllocation(_ types.UID) (deleted bool) {
|
||||
return false
|
||||
}
|
||||
|
||||
func (r *resourceClaimTrackerContract) AssumeClaimAfterAPICall(_ *resourceapi.ResourceClaim) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (r *resourceClaimTrackerContract) AssumedClaimRestore(_, _ string) {
|
||||
}
|
||||
|
||||
type sharedDRAManagerContract struct{}
|
||||
|
||||
func (s *sharedDRAManagerContract) ResourceClaims() framework.ResourceClaimTracker {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (s *sharedDRAManagerContract) ResourceSlices() framework.ResourceSliceLister {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (s *sharedDRAManagerContract) DeviceClasses() framework.DeviceClassLister {
|
||||
return nil
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user