mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-31 23:37:01 +00:00
Merge pull request #28568 from xiangpengzhao/check_ensureDnsRecords_return_value
Automatic merge from submit-queue Check return value when calling ensureDnsRecords When [lockedUpdateDNSRecords](https://github.com/xiangpengzhao/kubernetes/blob/check_ensureDnsRecords_return_value/federation/pkg/federation-controller/service/servicecontroller.go#L723) calls `ensureDnsRecords`, it should check the return value. If it returns error, the `ensuredCount ` should not increment.
This commit is contained in:
commit
83ded2858c
@ -724,18 +724,26 @@ func (s *ServiceController) lockedUpdateDNSRecords(service *cachedService, clust
|
||||
if !wantsDNSRecords(service.appliedState) {
|
||||
return nil
|
||||
}
|
||||
|
||||
ensuredCount := 0
|
||||
unensuredCount := 0
|
||||
for key := range s.clusterCache.clientMap {
|
||||
for _, clusterName := range clusterNames {
|
||||
if key == clusterName {
|
||||
s.ensureDnsRecords(clusterName, service)
|
||||
ensuredCount += 1
|
||||
err := s.ensureDnsRecords(clusterName, service)
|
||||
if err != nil {
|
||||
unensuredCount += 1
|
||||
glog.V(4).Infof("Failed to update DNS records for service %v from cluster %s: %v", service, clusterName, err)
|
||||
} else {
|
||||
ensuredCount += 1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if ensuredCount < len(clusterNames) {
|
||||
return fmt.Errorf("Failed to update DNS records for %d of %d clusters for service %v due to missing clients for those clusters",
|
||||
len(clusterNames)-ensuredCount, len(clusterNames), service)
|
||||
missedCount := len(clusterNames) - ensuredCount - unensuredCount
|
||||
if missedCount > 0 || unensuredCount > 0 {
|
||||
return fmt.Errorf("Failed to update DNS records for %d clusters for service %v due to missing clients [missed count: %d] and/or failing to ensure DNS records [unensured count: %d]",
|
||||
len(clusterNames), service, missedCount, unensuredCount)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user