// GetLBAnnotations returns the annotations of an l7. This includes it's current status. func GetLBAnnotations(l7 *L7, existing map[string]string, backendPool backends.BackendPool) map[string]string { if existing == nil { existing = map[string]string{} } backends := l7.getBackendNames() backendState := map[string]string{} for _, beName := range backends { backendState[beName] = backendPool.Status(beName) } jsonBackendState := "Unknown" b, err := json.Marshal(backendState) if err == nil { jsonBackendState = string(b) } existing[fmt.Sprintf("%v/url-map", utils.K8sAnnotationPrefix)] = l7.um.Name existing[fmt.Sprintf("%v/forwarding-rule", utils.K8sAnnotationPrefix)] = l7.fw.Name existing[fmt.Sprintf("%v/target-proxy", utils.K8sAnnotationPrefix)] = l7.tp.Name // TODO: We really want to know when a backend flipped states. existing[fmt.Sprintf("%v/backends", utils.K8sAnnotationPrefix)] = jsonBackendState return existing }
// GetLBAnnotations returns the annotations of an l7. This includes it's current status. func GetLBAnnotations(l7 *L7, existing map[string]string, backendPool backends.BackendPool) map[string]string { if existing == nil { existing = map[string]string{} } backends := l7.getBackendNames() backendState := map[string]string{} for _, beName := range backends { backendState[beName] = backendPool.Status(beName) } jsonBackendState := "Unknown" b, err := json.Marshal(backendState) if err == nil { jsonBackendState = string(b) } existing[fmt.Sprintf("%v/url-map", utils.K8sAnnotationPrefix)] = l7.um.Name // Forwarding rule and target proxy might not exist if allowHTTP == false if l7.fw != nil { existing[fmt.Sprintf("%v/forwarding-rule", utils.K8sAnnotationPrefix)] = l7.fw.Name } if l7.tp != nil { existing[fmt.Sprintf("%v/target-proxy", utils.K8sAnnotationPrefix)] = l7.tp.Name } // HTTPs resources might not exist if TLS == nil if l7.fws != nil { existing[fmt.Sprintf("%v/https-forwarding-rule", utils.K8sAnnotationPrefix)] = l7.fws.Name } if l7.tps != nil { existing[fmt.Sprintf("%v/https-target-proxy", utils.K8sAnnotationPrefix)] = l7.tps.Name } if l7.ip != nil { existing[fmt.Sprintf("%v/static-ip", utils.K8sAnnotationPrefix)] = l7.ip.Name } // TODO: We really want to know *when* a backend flipped states. existing[fmt.Sprintf("%v/backends", utils.K8sAnnotationPrefix)] = jsonBackendState return existing }