Fix onlylocal endpoint's healthcheck nodeport logic

This commit is contained in:
Zihong Zheng 2017-05-01 20:36:44 -07:00
parent 3ec39c35bf
commit 1cac5db856
3 changed files with 3 additions and 16 deletions

View File

@ -105,9 +105,6 @@ func NeedsHealthCheck(service *api.Service) bool {
// GetServiceHealthCheckNodePort Return health check node port annotation for service, if one exists
func GetServiceHealthCheckNodePort(service *api.Service) int32 {
if !NeedsHealthCheck(service) {
return 0
}
// First check the alpha annotation and then the beta. This is so existing
// Services continue to work till the user decides to transition to beta.
// If they transition to beta, there's no way to go back to alpha without

View File

@ -105,9 +105,6 @@ func NeedsHealthCheck(service *v1.Service) bool {
// GetServiceHealthCheckNodePort Return health check node port annotation for service, if one exists
func GetServiceHealthCheckNodePort(service *v1.Service) int32 {
if !NeedsHealthCheck(service) {
return 0
}
// First check the alpha annotation and then the beta. This is so existing
// Services continue to work till the user decides to transition to beta.
// If they transition to beta, there's no way to go back to alpha without

View File

@ -181,11 +181,10 @@ func newServiceInfo(serviceName proxy.ServicePortName, port *api.ServicePort, se
copy(info.loadBalancerSourceRanges, service.Spec.LoadBalancerSourceRanges)
copy(info.externalIPs, service.Spec.ExternalIPs)
if info.onlyNodeLocalEndpoints {
if apiservice.NeedsHealthCheck(service) {
p := apiservice.GetServiceHealthCheckNodePort(service)
if p == 0 {
glog.Errorf("Service does not contain necessary annotation %v",
apiservice.BetaAnnotationHealthCheckNodePort)
glog.Errorf("Service %q has no healthcheck nodeport", serviceName)
} else {
info.healthCheckNodePort = int(p)
}
@ -644,16 +643,10 @@ func updateServiceMap(
// computing this incrementally similarly to serviceMap.
hcServices = make(map[types.NamespacedName]uint16)
for svcPort, info := range serviceMap {
if info.onlyNodeLocalEndpoints {
if info.healthCheckNodePort != 0 {
hcServices[svcPort.NamespacedName] = uint16(info.healthCheckNodePort)
}
}
for nsn, port := range hcServices {
if port == 0 {
glog.Errorf("Service %q has no healthcheck nodeport", nsn)
delete(hcServices, nsn)
}
}
return syncRequired, hcServices, staleServices
}