Keep track of missed and unensured counts

pull/6/head
xiangpengzhao 2016-07-21 22:35:12 -04:00
parent d4fa23feb8
commit dfd12276df
1 changed files with 11 additions and 9 deletions

View File

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