Description of problem:
Kubernetes defines that Services without endpoints should be rejected, in order to implement that, OVN-Kubernetes create ACLs for those services to reject the traffic.
Openshift has a feature for applications, that allows idling the applications, it basically find the scalable resources (deployments, ...) and scales them down to 0. However, once traffic target the service is received, OVN-Kubernetes throws an event to notify the corresponding controller and unidle the application-
As a consequence of Bug 1918422, "empty-lb-events does not take effect for existing load-balancers", both options are mutually exclusive, so services in a cluster without endpoints only will be able to reject or to be idled, but not both.
Steps to Reproduce:
1. Create a Kubernetes cluster with and without the option
2. Create a service without endpoints
kubectl create service clusterip noendpoints --tcp 80
3. Try to connect to the service
The cluster with ovn-empty-lb-events set will create an event but never will reject services without endpoints
The cluster without the ovn-empty-lb-events set will reject the services without endpoints but will never create the unidling event
Basically the impact of this bug is that oc idle will not work with ovn-kubernetes on single stack clusters.
*** Bug 1922159 has been marked as a duplicate of this bug. ***
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory (Moderate: OpenShift Container Platform 4.8.2 bug fix and security update), and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.