func()

in watcher/handlerEndpoint.go [40:66]


func (e *EpHandler) add(obj interface{}) {
	eps, ok := obj.(*v1.Endpoints)
	if !ok {
		log.Println("In Endpoint Add; cannot cast to *v1.Endpoints.")
		return
	}
	podSvcName := eps.GetObjectMeta().GetName()
	namespace := eps.GetNamespace()

	if !e.Ep.NsManager.IncludeNamespace(namespace) {
		log.Println("Namespace not included")
		return
	}

	for _, subset := range eps.Subsets {
		for _, port := range subset.Ports {
			portnum := fmt.Sprint(port.Port)
			portname := port.Name
			key := util.ConstructSvcPortString(namespace, podSvcName, portnum)
			for _, addr := range subset.Addresses {
				v := util.ConstructIPPortString(addr.IP, portnum, portname)
				e.Ep.RedisClient.DefaultDBSAdd(key, v)
			}
		}

	}
}