add disabledLocation functionality back, remove setting DS status
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/commit/31b022ed Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/tree/31b022ed Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/diff/31b022ed Branch: refs/heads/master Commit: 31b022edd14e8cae9d578fac3bb41a608c49d9a6 Parents: a326d64 Author: David Neuman <david.neuma...@gmail.com> Authored: Fri Feb 3 09:48:22 2017 -0700 Committer: Jeff Elsloo <jeffrey_els...@cable.comcast.com> Committed: Fri Feb 3 11:17:37 2017 -0700 ---------------------------------------------------------------------- .../traffic_monitor/health/cache.go | 38 +++++++++----------- 1 file changed, 17 insertions(+), 21 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/31b022ed/traffic_monitor_golang/traffic_monitor/health/cache.go ---------------------------------------------------------------------- diff --git a/traffic_monitor_golang/traffic_monitor/health/cache.go b/traffic_monitor_golang/traffic_monitor/health/cache.go index 0014f90..9c30d12 100644 --- a/traffic_monitor_golang/traffic_monitor/health/cache.go +++ b/traffic_monitor_golang/traffic_monitor/health/cache.go @@ -201,7 +201,7 @@ func CalcAvailability(results []cache.Result, pollerName string, statResultHisto localStates.SetCache(result.ID, peer.IsAvailable{IsAvailable: isAvailable}) } - // calculateDeliveryServiceState(toData.DeliveryServiceServers, localStates) + calculateDeliveryServiceState(toData.DeliveryServiceServers, localStates) localCacheStatusThreadsafe.Set(localCacheStatuses) } @@ -250,23 +250,19 @@ func eventDesc(status enum.CacheStatus, message string) string { return fmt.Sprintf("%s - %s", status, message) } -// calculateDeliveryServiceState calculates the state of delivery services from the new cache state data `cacheState` and the CRConfig data `deliveryServiceServers` and puts the calculated state in the outparam `deliveryServiceStates` -// func calculateDeliveryServiceState(deliveryServiceServers map[enum.DeliveryServiceName][]enum.CacheName, states peer.CRStatesThreadsafe) { -// deliveryServices := states.GetDeliveryServices() -// for deliveryServiceName, deliveryServiceState := range deliveryServices { -// if _, ok := deliveryServiceServers[deliveryServiceName]; !ok { -// // log.Errorf("CRConfig does not have delivery service %s, but traffic monitor poller does; skipping\n", deliveryServiceName) -// continue -// } -// deliveryServiceState.IsAvailable = false -// deliveryServiceState.DisabledLocations = []enum.CacheName{} // it's important this isn't nil, so it serialises to the JSON `[]` instead of `null` -// for _, server := range deliveryServiceServers[deliveryServiceName] { -// if available, _ := states.GetCache(server); available.IsAvailable { -// deliveryServiceState.IsAvailable = true -// } else { -// deliveryServiceState.DisabledLocations = append(deliveryServiceState.DisabledLocations, server) -// } -// } -// states.SetDeliveryService(deliveryServiceName, deliveryServiceState) -// } -// } +//calculateDeliveryServiceState calculates the state of delivery services from the new cache state data `cacheState` and the CRConfig data `deliveryServiceServers` and puts the calculated state in the outparam `deliveryServiceStates` +func calculateDeliveryServiceState(deliveryServiceServers map[enum.DeliveryServiceName][]enum.CacheName, states peer.CRStatesThreadsafe) { + deliveryServices := states.GetDeliveryServices() + for deliveryServiceName, deliveryServiceState := range deliveryServices { + if _, ok := deliveryServiceServers[deliveryServiceName]; !ok { + log.Infof("CRConfig does not have delivery service %s, but traffic monitor poller does; skipping\n", deliveryServiceName) + continue + } + deliveryServiceState.DisabledLocations = []enum.CacheName{} // it's important this isn't nil, so it serialises to the JSON `[]` instead of `null` + for _, server := range deliveryServiceServers[deliveryServiceName] { + deliveryServiceState.DisabledLocations = append(deliveryServiceState.DisabledLocations, server) + } + } + states.SetDeliveryService(deliveryServiceName, deliveryServiceState) + } +}