Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1638702

Summary: ODL healthcheck shows container healthy even when it is not
Product: Red Hat OpenStack Reporter: Janki <jchhatba>
Component: opendaylightAssignee: lpeer <lpeer>
Status: CLOSED DUPLICATE QA Contact: Noam Manos <nmanos>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 13.0 (Queens)CC: mkolesni, nyechiel, vorburger
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
N/A
Last Closed: 2018-10-12 15:47:11 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 Janki 2018-10-12 09:47:42 UTC
Description of problem:
ODL container healtcheck shows container is healthy even when it is in failure and not running.

$ sudo docker ps | grep openday
021fbf53ee7c        192.168.24.1:8787/rhosp13/openstack-opendaylight:2018-10-02.1                  "kolla_start"            2 hours ago         Up 2 hours (healthy)                          opendaylight_api


$ sudo docker inspect opendaylight_api (output snippet)
"Health": {
                "Status": "healthy",
                "FailingStreak": 0,
                "Log": [
                    {
                        "Start": "2018-10-12T09:33:02.461585171+01:00",
                        "End": "2018-10-12T09:33:02.930921932+01:00",
                        "ExitCode": 0,
                        "Output": "  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\n                                 Dload  Upload   Total   Spent    Left  Speed\n\r  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0\r100   132  100   132    0     0  96561      0 --:--:-- --:--:-- --:--:--  128k\n{\n  \"timeStamp\": \"Fri Oct 12 08:33:02 UTC 2018\",\n  \"isOperational\": false,\n  \"systemReadyState\": \"FAILURE\",\n  \"statusSummary\": []\n}\n\n200 172.17.1.21:8081 0.001 seconds\n"
                    },

Health status is determined by the exit status of curl on diagstatus.

$ curl http://172.17.1.21:8081/diagstatus
{
  "timeStamp": "Fri Oct 12 08:43:37 UTC 2018",
  "isOperational": false,
  "systemReadyState": "FAILURE",
  "statusSummary": []
}
[heat-admin@controller-0 etc]$ echo $?
0

Since diagstatus reflects the correct status (FAILURE) of ODL, its exit code is 0 so Docker's healthcheck shows container as healthy.

We need to make curl on diagstatus return '1' (and not '0') 

Version-Release number of selected component (if applicable):
opendaylight-8.3.0-3.el7ost.noarch

Actual results:
Container is shown healthy

Expected results:
Container should be shown unhealthy

Additional info:

Comment 1 Michael Vorburger 2018-10-12 10:29:29 UTC
I believe that this is a dupe of Bug 1566080 as part of which above got fixed.

This specific problem was https://jira.opendaylight.org/browse/INFRAUTILS-47, and there were a number of other related fixes around this upstream, all link on Bug 1566080, which all already are downstream.

May I suggest that you CLOSE this issue as a DUPLICATE of Bug 1566080 ?

Comment 2 Janki 2018-10-12 15:47:11 UTC

*** This bug has been marked as a duplicate of bug 1566080 ***