Skip to content

Commit

Permalink
add debug info for event-handler clusteraffinities
Browse files Browse the repository at this point in the history
Signed-off-by: changzhen <[email protected]>
  • Loading branch information
XiShanYongYe-Chang committed May 18, 2023
1 parent 64d8845 commit 421cb78
Show file tree
Hide file tree
Showing 3 changed files with 56 additions and 3 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ jobs:
# Here support the latest three minor releases of Kubernetes, this can be considered to be roughly
# the same as the End of Life of the Kubernetes release: https://kubernetes.io/releases/
# Please remember to update the CI Schedule Workflow when we add a new version.
k8s: [ v1.24.2, v1.25.0, v1.26.0 ]
k8s: [ v1.24.1, v1.24.2, v1.25.0, v1.25.1, v1.26.0 ]
steps:
- name: checkout code
uses: actions/checkout@v3
Expand Down
19 changes: 19 additions & 0 deletions pkg/scheduler/event_handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -251,6 +251,16 @@ func (s *Scheduler) enqueueAffectedBindings(cluster *clusterv1alpha1.Cluster) er
continue
}

if placementPtr.ClusterAffinities != nil {
klog.InfoS("Debug event_handler: RB",
"Namespace", binding.Namespace,
"Name", binding.Name,
"SchedulerObservedGeneration", binding.Status.SchedulerObservedGeneration,
"Generation", binding.Generation,
"ClusterAffinities", placementPtr.ClusterAffinities,
"SchedulerObservedAffinityName", binding.Status.SchedulerObservedAffinityName)
}

var affinity *policyv1alpha1.ClusterAffinity
if placementPtr.ClusterAffinities != nil {
if binding.Status.SchedulerObservedGeneration != binding.Generation {
Expand Down Expand Up @@ -292,6 +302,15 @@ func (s *Scheduler) enqueueAffectedCRBs(cluster *clusterv1alpha1.Cluster) error
continue
}

if placementPtr.ClusterAffinities != nil {
klog.InfoS("Debug event_handler: CRB",
"Name", binding.Name,
"SchedulerObservedGeneration", binding.Status.SchedulerObservedGeneration,
"Generation", binding.Generation,
"ClusterAffinities", placementPtr.ClusterAffinities,
"SchedulerObservedAffinityName", binding.Status.SchedulerObservedAffinityName)
}

var affinity *policyv1alpha1.ClusterAffinity
if placementPtr.ClusterAffinities != nil {
if binding.Status.SchedulerObservedGeneration != binding.Generation {
Expand Down
38 changes: 36 additions & 2 deletions pkg/scheduler/scheduler.go
Original file line number Diff line number Diff line change
Expand Up @@ -310,6 +310,14 @@ func (s *Scheduler) doScheduleBinding(namespace, name string) (err error) {
}
rb = rb.DeepCopy()

klog.InfoS("Debug doScheduleBinding: RB",
"Namespace", rb.Namespace,
"Name", rb.Name,
"SchedulerObservedGeneration", rb.Status.SchedulerObservedGeneration,
"Generation", rb.Generation,
"ClusterAffinities", rb.Spec.Placement.ClusterAffinities,
"SchedulerObservedAffinityName", rb.Status.SchedulerObservedAffinityName)

if rb.Spec.Placement == nil {
// never reach here
err = fmt.Errorf("failed to get placement from resourceBinding(%s/%s)", rb.Namespace, rb.Name)
Expand Down Expand Up @@ -428,6 +436,15 @@ func (s *Scheduler) scheduleResourceBinding(rb *workv1alpha2.ResourceBinding) (e
err = updateErr
}
}

newRB, _ := s.bindingLister.ResourceBindings(rb.Namespace).Get(rb.Name)
klog.InfoS("Debug after patchBindingStatusCondition: RB",
"Namespace", newRB.Namespace,
"Name", newRB.Name,
"SchedulerObservedGeneration", newRB.Status.SchedulerObservedGeneration,
"Generation", newRB.Generation,
"ClusterAffinities", newRB.Spec.Placement.ClusterAffinities,
"SchedulerObservedAffinityName", newRB.Status.SchedulerObservedAffinityName)
}()

if rb.Spec.Placement.ClusterAffinities != nil {
Expand Down Expand Up @@ -542,11 +559,11 @@ func (s *Scheduler) patchScheduleResultForResourceBinding(oldBinding *workv1alph

_, err = s.KarmadaClient.WorkV1alpha2().ResourceBindings(newBinding.Namespace).Patch(context.TODO(), newBinding.Name, types.MergePatchType, patchBytes, metav1.PatchOptions{})
if err != nil {
klog.Errorf("Failed to patch schedule to ResourceBinding(%s/%s): %v", oldBinding.Namespace, oldBinding.Name, err)
klog.Errorf("Failed to patch schedule result to ResourceBinding(%s/%s): %v", oldBinding.Namespace, oldBinding.Name, err)
return err
}

klog.V(4).Infof("Patch schedule to ResourceBinding(%s/%s) succeed", oldBinding.Namespace, oldBinding.Name)
klog.V(4).Infof("Patch schedule result to ResourceBinding(%s/%s) succeed", oldBinding.Namespace, oldBinding.Name)
return nil
}

Expand Down Expand Up @@ -738,6 +755,14 @@ func (s *Scheduler) establishEstimatorConnections() {
func patchBindingStatusCondition(karmadaClient karmadaclientset.Interface, rb *workv1alpha2.ResourceBinding, newScheduledCondition metav1.Condition) error {
klog.V(4).Infof("Begin to patch status condition to ResourceBinding(%s/%s)", rb.Namespace, rb.Name)

klog.InfoS("Debug before patchBindingStatusCondition: RB",
"Namespace", rb.Namespace,
"Name", rb.Name,
"SchedulerObservedGeneration", rb.Status.SchedulerObservedGeneration,
"Generation", rb.Generation,
"ClusterAffinities", rb.Spec.Placement.ClusterAffinities,
"SchedulerObservedAffinityName", rb.Status.SchedulerObservedAffinityName)

updateRB := rb.DeepCopy()
meta.SetStatusCondition(&updateRB.Status.Conditions, newScheduledCondition)
// Postpone setting observed generation until schedule succeed, assume scheduler will retry and
Expand Down Expand Up @@ -780,6 +805,15 @@ func patchBindingStatus(karmadaClient karmadaclientset.Interface, rb, updateRB *
}

klog.V(4).Infof("Patch schedule status to ResourceBinding(%s/%s) succeed", rb.Namespace, rb.Name)

klog.InfoS("Debug after patchBindingStatus: RB",
"Namespace", rb.Namespace,
"Name", rb.Name,
"SchedulerObservedGeneration", rb.Status.SchedulerObservedGeneration,
"Generation", rb.Generation,
"ClusterAffinities", rb.Spec.Placement.ClusterAffinities,
"SchedulerObservedAffinityName", rb.Status.SchedulerObservedAffinityName)

return nil
}

Expand Down

0 comments on commit 421cb78

Please sign in to comment.