@@ -507,24 +507,8 @@ func (sc *SchedulerCache) Evict(taskInfo *kbapi.TaskInfo, reason string) error {
507
507
}
508
508
}()
509
509
510
- if ! shadowPodGroup (job .PodGroup ) {
511
- if job .PodGroup .Version == api .PodGroupVersionV1Alpha1 {
512
- pg , err := api .ConvertPodGroupInfoToV1alpha1 (job .PodGroup )
513
- if err != nil {
514
- glog .Errorf ("Error While converting api.PodGroup to v1alpha.PodGroup with error: %v" , err )
515
- return err
516
- }
517
- sc .Recorder .Eventf (pg , v1 .EventTypeNormal , "Evict" , reason )
518
- } else if job .PodGroup .Version == api .PodGroupVersionV1Alpha2 {
519
- pg , err := api .ConvertPodGroupInfoToV1alpha2 (job .PodGroup )
520
- if err != nil {
521
- glog .Errorf ("Error While converting api.PodGroup to v2alpha.PodGroup with error: %v" , err )
522
- return err
523
- }
524
- sc .Recorder .Eventf (pg , v1 .EventTypeNormal , "Evict" , reason )
525
- } else {
526
- return fmt .Errorf ("Invalid PodGroup Version: %s" , job .PodGroup .Version )
527
- }
510
+ if err := sc .convertPodGroupInfo (job , v1 .EventTypeNormal , "Evict" , reason ); err != nil {
511
+ return err
528
512
}
529
513
530
514
return nil
@@ -778,33 +762,16 @@ func (sc *SchedulerCache) RecordJobStatusEvent(job *kbapi.JobInfo) {
778
762
baseErrorMessage = kbapi .AllNodeUnavailableMsg
779
763
}
780
764
781
- if ! shadowPodGroup (job .PodGroup ) {
782
- pgUnschedulable := job .PodGroup != nil &&
783
- (job .PodGroup .Status .Phase == api .PodGroupUnknown ||
784
- job .PodGroup .Status .Phase == api .PodGroupPending )
785
- pdbUnschedulabe := job .PDB != nil && len (job .TaskStatusIndex [api .Pending ]) != 0
765
+ pgUnschedulable := job .PodGroup != nil &&
766
+ (job .PodGroup .Status .Phase == api .PodGroupUnknown ||
767
+ job .PodGroup .Status .Phase == api .PodGroupPending )
768
+ pdbUnschedulabe := job .PDB != nil && len (job .TaskStatusIndex [api .Pending ]) != 0
786
769
787
- // If pending or unschedulable, record unschedulable event.
788
- if pgUnschedulable || pdbUnschedulabe {
789
- msg := fmt .Sprintf ("%v/%v tasks in gang unschedulable: %v" , len (job .TaskStatusIndex [api .Pending ]), len (job .Tasks ), job .FitError ())
790
- if job .PodGroup .Version == api .PodGroupVersionV1Alpha1 {
791
- podGroup , err := api .ConvertPodGroupInfoToV1alpha1 (job .PodGroup )
792
- if err != nil {
793
- glog .Errorf ("Error while converting PodGroup to v1alpha1.PodGroup with error: %v" , err )
794
- }
795
- sc .Recorder .Eventf (podGroup , v1 .EventTypeWarning ,
796
- string (v1alpha1 .PodGroupUnschedulableType ), msg )
797
- }
770
+ // If pending or unschedulable, record unschedulable event.
771
+ if pgUnschedulable || pdbUnschedulabe {
772
+ msg := fmt .Sprintf ("%v/%v tasks in gang unschedulable: %v" , len (job .TaskStatusIndex [api .Pending ]), len (job .Tasks ), job .FitError ())
798
773
799
- if job .PodGroup .Version == api .PodGroupVersionV1Alpha2 {
800
- podGroup , err := api .ConvertPodGroupInfoToV1alpha2 (job .PodGroup )
801
- if err != nil {
802
- glog .Errorf ("Error while converting PodGroup to v1alpha2.PodGroup with error: %v" , err )
803
- }
804
- sc .Recorder .Eventf (podGroup , v1 .EventTypeWarning ,
805
- string (v1alpha1 .PodGroupUnschedulableType ), msg )
806
- }
807
- }
774
+ sc .convertPodGroupInfo (job , v1 .EventTypeWarning , string (v1alpha1 .PodGroupUnschedulableType ), msg )
808
775
}
809
776
810
777
// Update podCondition for tasks Allocated and Pending before job discarded
@@ -825,7 +792,7 @@ func (sc *SchedulerCache) RecordJobStatusEvent(job *kbapi.JobInfo) {
825
792
826
793
// UpdateJobStatus update the status of job and its tasks.
827
794
func (sc * SchedulerCache ) UpdateJobStatus (job * kbapi.JobInfo , updatePG bool ) (* kbapi.JobInfo , error ) {
828
- if updatePG && ! shadowPodGroup ( job . PodGroup ) {
795
+ if updatePG {
829
796
pg , err := sc .StatusUpdater .UpdatePodGroup (job .PodGroup )
830
797
if err != nil {
831
798
return nil , err
@@ -837,3 +804,23 @@ func (sc *SchedulerCache) UpdateJobStatus(job *kbapi.JobInfo, updatePG bool) (*k
837
804
838
805
return job , nil
839
806
}
807
+
808
+ func (sc * SchedulerCache ) convertPodGroupInfo (job * kbapi.JobInfo , eventtype , reason , message string ) error {
809
+ if job .PodGroup .Version == api .PodGroupVersionV1Alpha1 {
810
+ pg , err := api .ConvertPodGroupInfoToV1alpha1 (job .PodGroup )
811
+ if err != nil {
812
+ glog .Errorf ("Error While converting api.PodGroup to v1alpha.PodGroup with error: %v" , err )
813
+ return err
814
+ }
815
+ sc .Recorder .Eventf (pg , eventtype , reason , message )
816
+ } else if job .PodGroup .Version == api .PodGroupVersionV1Alpha2 {
817
+ pg , err := api .ConvertPodGroupInfoToV1alpha2 (job .PodGroup )
818
+ if err != nil {
819
+ glog .Errorf ("Error While converting api.PodGroup to v2alpha.PodGroup with error: %v" , err )
820
+ return err
821
+ }
822
+ sc .Recorder .Eventf (pg , eventtype , reason , message )
823
+ }
824
+
825
+ return fmt .Errorf ("Invalid PodGroup Version: %s" , job .PodGroup .Version )
826
+ }
0 commit comments