Keep track of missed and unensured counts

This commit is contained in:
xiangpengzhao 2016-07-21 22:35:12 -04:00
parent d4fa23feb8
commit dfd12276df

View File

@ -724,22 +724,24 @@ func (s *ServiceController) lockedUpdateDNSRecords(service *cachedService, clust
if !wantsDNSRecords(service.appliedState) { if !wantsDNSRecords(service.appliedState) {
return nil return nil
} }
ensuredCount := 0
var err error
missedCount := 0
unensuredCount := 0
for key := range s.clusterCache.clientMap { for key := range s.clusterCache.clientMap {
for _, clusterName := range clusterNames { for _, clusterName := range clusterNames {
if key == clusterName { if key == clusterName {
err := s.ensureDnsRecords(clusterName, service) if err = s.ensureDnsRecords(clusterName, service); err != nil {
if err != nil { unensuredCount += 1
glog.Errorf("Failed to ensure DNS records for service %v in cluster %s due to %v", service, clusterName, err)
} else {
ensuredCount += 1
} }
} else {
missedCount += 1
} }
} }
} }
if ensuredCount < len(clusterNames) { if missedCount > 0 || unensuredCount > 0 {
return fmt.Errorf("Failed to update DNS records for %d of %d clusters for service %v due to missing clients for those clusters", return fmt.Errorf("Failed to update DNS records for %d clusters for service %v due to missing clients[missed count: %d] or ensuring DNS records error[unensured count: %d] %v",
len(clusterNames)-ensuredCount, len(clusterNames), service) len(clusterNames), service, missedCount, unensuredCount, err)
} }
return nil return nil
} }