func()

in clusterloader2/pkg/measurement/common/service_creation_latency.go [330:363]


func (s *serviceCreationLatencyMeasurement) handleIngressObject(oldObj, newObj interface{}) {
	var oldIngress *networkingv1.Ingress
	var newIngress *networkingv1.Ingress
	var ok bool
	oldIngress, ok = oldObj.(*networkingv1.Ingress)
	if oldObj != nil && !ok {
		klog.Errorf("%s: uncastable old object: %v", s, oldObj)
		return
	}
	newIngress, ok = newObj.(*networkingv1.Ingress)
	if newIngress != nil && !ok {
		klog.Errorf("%s: uncastable new object: %v", s, newObj)
		return
	}
	if isEqual := oldIngress != nil &&
		newIngress != nil &&
		equality.Semantic.DeepEqual(oldIngress.Spec, newIngress.Spec) &&
		equality.Semantic.DeepEqual(oldIngress.Status, newIngress.Status); isEqual {
		return
	}

	if !s.isRunning {
		return
	}
	if newObj == nil {
		if err := s.deleteIngressObject(oldIngress); err != nil {
			klog.Errorf("%s: delete checker error: %v", s, err)
		}
		return
	}
	if err := s.updateIngressObject(newIngress); err != nil {
		klog.Errorf("%s: create checker error: %v", s, err)
	}
}