Bug 1571479

Summary: [3.9] Web server works fine, but is inaccessible via a route (Application is not available...)
Product: OpenShift Container Platform Reporter: Ravi Sankar <rpenta>
Component: NetworkingAssignee: Ravi Sankar <rpenta>
Networking sub component: router QA Contact: zhaozhanqi <zzhao>
Status: CLOSED ERRATA Docs Contact:
Severity: unspecified    
Priority: unspecified CC: aos-bugs, bbennett, hongli
Version: 3.9.0   
Target Milestone: ---   
Target Release: 3.9.z   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Cause: Headless service will have service.Spec.ClusterIP=None and this is not ignored as part of un-idling. Consequence: This will generate incorrect endpoint ID in the HAProxy config and the config will fail to load. This leads to router not servicing any routes. Fix: Ignore headless services during unidle handling Result: No problem with HAProxy config loading and router will service routes as expected.
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-08-09 22:13:49 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Ravi Sankar 2018-04-24 23:49:46 UTC
+++ This bug was initially created as a clone of Bug #1567532 +++

Description of problem:
An application created from the template "Apache HTTP Server (httpd)" using the example Git repository (and presumably any other application) works fine (readiness probe  and curl on localhost from terminal are both able to access it normally), but when I try to access it via the route (http://testrote-apache-test.193b.starter-ca-central-1.openshiftapps.com/), it shows an error (Application is not available...)

The same thing happens with both HTTP and HTTPS.

Version-Release number of selected component (if applicable):
v3.9.14 (online version 3.6.0.45.1) 

How reproducible:
Always.

Steps to Reproduce:
1. Create a project (and an application) using the "Apache HTTP Server (httpd)" template and the sample repository (https://github.com/openshift/httpd-ex.git).
2. The URL of the generated route is opened in a browser (in my case http://testrote-apache-test.193b.starter-ca-central-1.openshiftapps.com/).

Actual results:
The error "The application is currently not serving requests at this endpoint. It may not have been started or is still starting."

Expected results:
Default OpenShift Apache page.

Comment 1 Ravi Sankar 2018-04-25 19:01:55 UTC
Fixed by https://github.com/openshift/ose/pull/1234

Comment 2 Ravi Sankar 2018-04-26 21:12:43 UTC
https://github.com/openshift/ose/pull/1235

Comment 6 Hongan Li 2018-05-02 06:31:22 UTC
Tested in atomic-openshift-3.9.27-1.git.0.964617d but still can found error in haproxy logs when creating headless service and idling it.

E0502 06:15:17.588280       1 limiter.go:137] error reloading router: exit status 1
[ALERT] 121/061517 (963) : parsing [/var/lib/haproxy/conf/haproxy.config:229] : 'server ept:service-unsecure:None:27017' : could not resolve address 'None'.
[ALERT] 121/061517 (963) : Failed to initialize server(s) addr.

seems the PR has not been merged to 3.9.27.

Comment 8 Hongan Li 2018-05-03 01:58:36 UTC
not fixed in 3.9.27, please check if PR merged.

Comment 9 Ben Bennett 2018-05-03 15:57:38 UTC
3.9.27-1 was cut before this was merged.  Not sure why it got moved by the errata tool.

Comment 12 zhaozhanqi 2018-07-26 09:06:31 UTC
This bug had been verified in https://bugzilla.redhat.com/show_bug.cgi?id=1553552#c5.

Comment 14 errata-xmlrpc 2018-08-09 22:13:49 UTC
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, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2018:2335