@@ -167,6 +167,7 @@ func (r *defaultEndpointsResolver) resolveNetworkPeers(ctx context.Context, poli
167167 // However, in this case we are not able to resolve any of the ports from the CIDR list alone. In this
168168 // case we do not add the CIDR to the list of resolved peers to prevent allow all ports.
169169 if len (ports ) != 0 && len (portList ) == 0 {
170+ r .logger .Info ("Couldn't resolve ports from given CIDR list and will skip this rule" , "peer" , peer )
170171 continue
171172 }
172173 networkPeers = append (networkPeers , policyinfo.EndpointInfo {
@@ -215,7 +216,7 @@ func (r *defaultEndpointsResolver) getIngressRulesPorts(ctx context.Context, pol
215216 var portList []policyinfo.Port
216217 for _ , pod := range podList .Items {
217218 portList = append (portList , r .getPortList (pod , ports )... )
218- r .logger .Info ("got ingress port" , "port" , portList , "pod" , pod )
219+ r .logger .Info ("Got ingress port" , "port" , portList , "pod" , pod )
219220 }
220221
221222 return portList
@@ -260,7 +261,7 @@ func (r *defaultEndpointsResolver) resolveServiceClusterIPs(ctx context.Context,
260261 return nil , err
261262 }
262263 }
263- r .logger .V ( 1 ). Info ("Namespaces for service clusterIP lookup" , "list" , namespaces )
264+ r .logger .Info ("Populated namespaces for service clusterIP lookup" , "list" , namespaces )
264265 for _ , ns := range namespaces {
265266 networkPeers = append (networkPeers , r .getMatchingServiceClusterIPs (ctx , peer .PodSelector , ns , ports )... )
266267 }
@@ -323,11 +324,12 @@ func (r *defaultEndpointsResolver) getMatchingPodAddresses(ctx context.Context,
323324 for _ , pod := range podList .Items {
324325 podIP := k8s .GetPodIP (& pod )
325326 if len (podIP ) == 0 {
326- r .logger .V ( 1 ). Info ("pod IP not assigned yet" , "pod" , k8s .NamespacedName (& pod ))
327+ r .logger .Info ("pod IP not assigned yet" , "pod" , k8s .NamespacedName (& pod ))
327328 continue
328329 }
329330 portList := r .getPortList (pod , ports )
330331 if len (ports ) != len (portList ) && len (portList ) == 0 {
332+ r .logger .Info ("Couldn't get matched port list from the pod" , "pod" , k8s .NamespacedName (& pod ), "expectedPorts" , ports )
331333 continue
332334 }
333335 addresses = append (addresses , policyinfo.EndpointInfo {
@@ -382,16 +384,24 @@ func (r *defaultEndpointsResolver) getMatchingServiceClusterIPs(ctx context.Cont
382384 return nil
383385 }
384386 for _ , svc := range svcList .Items {
385- if k8s .IsServiceHeadless (& svc ) || ! svcSelector .Matches (labels .Set (svc .Spec .Selector )) {
387+ // do not add headless services to policy endpoints
388+ if k8s .IsServiceHeadless (& svc ) {
389+ r .logger .Info ("skipping headless service when populating EndpointInfo" , "serviceName" , svc .Name , "serviceNamespace" , svc .Namespace )
386390 continue
387391 }
392+ // do not add services if their pod selector is not matching with the pod selector defined in the network policy
393+ if ! svcSelector .Matches (labels .Set (svc .Spec .Selector )) {
394+ r .logger .Info ("skipping pod selector mismatched service when populating EndpointInfo" , "serviceName" , svc .Name , "serviceNamespace" , svc .Namespace , "expectedPS" , svcSelector )
395+ continue
396+ }
397+
388398 var portList []policyinfo.Port
389399 for _ , port := range ports {
390400 var portPtr * int32
391401 if port .Port != nil {
392402 portVal , err := r .getMatchingServicePort (ctx , & svc , port .Port , * port .Protocol )
393403 if err != nil {
394- r .logger .V ( 1 ). Info ("Unable to lookup service port" , "err" , err )
404+ r .logger .Info ("Unable to lookup service port" , "err" , err )
395405 continue
396406 }
397407 portPtr = & portVal
@@ -403,6 +413,7 @@ func (r *defaultEndpointsResolver) getMatchingServiceClusterIPs(ctx context.Cont
403413 })
404414 }
405415 if len (ports ) != len (portList ) && len (portList ) == 0 {
416+ r .logger .Info ("Couldn't find matching port for the service" , "service" , k8s .NamespacedName (& svc ))
406417 continue
407418 }
408419 networkPeers = append (networkPeers , policyinfo.EndpointInfo {
@@ -420,7 +431,7 @@ func (r *defaultEndpointsResolver) getMatchingServicePort(ctx context.Context, s
420431 if portVal , err := k8s .LookupServiceListenPort (svc , * port , protocol ); err == nil {
421432 return portVal , nil
422433 } else {
423- r .logger .V ( 1 ). Info ("Unable to lookup service port" , "err" , err )
434+ r .logger .Info ("Unable to lookup service port" , "err" , err )
424435 }
425436 // List pods matching the svc selector
426437 podSelector , err := metav1 .LabelSelectorAsSelector (metav1 .SetAsLabelSelector (svc .Spec .Selector ))
@@ -438,8 +449,9 @@ func (r *defaultEndpointsResolver) getMatchingServicePort(ctx context.Context, s
438449 for i := range podList .Items {
439450 if portVal , err := k8s .LookupListenPortFromPodSpec (svc , & podList .Items [i ], * port , protocol ); err == nil {
440451 return portVal , nil
452+ } else {
453+ r .logger .Info ("The pod doesn't have port matched" , "err" , err , "pod" , podList .Items [i ])
441454 }
442- break
443455 }
444- return 0 , errors .Errorf ("unable to find matching service listen port %s" , port .String ())
456+ return 0 , errors .Errorf ("unable to find matching service listen port %s for service %s " , port .String (), k8s . NamespacedName ( svc ))
445457}
0 commit comments