@@ -7023,6 +7023,52 @@ func TestScheduleForTAS(t *testing.T) {
70237023 utiltesting .MakeEventRecord ("default" , "foo" , "Admitted" , corev1 .EventTypeNormal ).Obj (),
70247024 },
70257025 },
7026+ "workload with unhealthyNode annotation; second pass; preferred; no fit when using slices; FailFast" : {
7027+ nodes : defaultNodes ,
7028+ admissionChecks : []kueue.AdmissionCheck {defaultProvCheck },
7029+ topologies : []kueue.Topology {defaultThreeLevelTopology },
7030+ resourceFlavors : []kueue.ResourceFlavor {defaultTASThreeLevelFlavor },
7031+ clusterQueues : []kueue.ClusterQueue {defaultClusterQueue },
7032+ workloads : []kueue.Workload {
7033+ * utiltesting .MakeWorkload ("foo" , "default" ).
7034+ UnhealthyNodes ("x0" ).
7035+ Queue ("tas-main" ).
7036+ PodSets (* utiltesting .MakePodSet ("one" , 2 ).
7037+ PreferredTopologyRequest (tasBlockLabel ).
7038+ SliceSizeTopologyRequest (2 ).
7039+ SliceRequiredTopologyRequest (tasRackLabel ).
7040+ Request (corev1 .ResourceCPU , "1" ).
7041+ Obj ()).
7042+ ReserveQuota (
7043+ utiltesting .MakeAdmission ("tas-main" ).
7044+ PodSets (utiltesting .MakePodSetAssignment ("one" ).Count (2 ).
7045+ Assignment (corev1 .ResourceCPU , "tas-default" , "2000m" ).
7046+ TopologyAssignment (utiltesting .MakeTopologyAssignment (utiltas .Levels (& defaultSingleLevelTopology )).
7047+ Domain (utiltesting .MakeTopologyDomainAssignment ([]string {"x0" }, 1 ).Obj ()).
7048+ Domain (utiltesting .MakeTopologyDomainAssignment ([]string {"x1" }, 1 ).Obj ()).
7049+ Obj ()).
7050+ Obj ()).
7051+ Obj (),
7052+ ).
7053+ Admitted (true ).
7054+ Obj (),
7055+ },
7056+ wantNewAssignments : map [workload.Reference ]kueue.Admission {
7057+ "default/foo" : * utiltesting .MakeAdmission ("tas-main" ).
7058+ PodSets (utiltesting .MakePodSetAssignment ("one" ).Count (2 ).
7059+ Assignment (corev1 .ResourceCPU , "tas-default" , "2000m" ).
7060+ TopologyAssignment (utiltesting .MakeTopologyAssignment (utiltas .Levels (& defaultSingleLevelTopology )).
7061+ Domain (utiltesting .MakeTopologyDomainAssignment ([]string {"x0" }, 1 ).Obj ()).
7062+ Domain (utiltesting .MakeTopologyDomainAssignment ([]string {"x1" }, 1 ).Obj ()).
7063+ Obj ()).
7064+ Obj ()).
7065+ Obj (),
7066+ },
7067+ wantEvents : []utiltesting.EventRecord {
7068+ utiltesting .MakeEventRecord ("default" , "foo" , "EvictedDueToNodeFailures" , corev1 .EventTypeNormal ).
7069+ Message ("Workload was evicted as there was no replacement for a failed node: x0" ).Obj (),
7070+ },
7071+ },
70267072 }
70277073 for name , tc := range cases {
70287074 t .Run (name , func (t * testing.T ) {
0 commit comments