Comment 4 for bug 1735579

Revision history for this message
Drew Freiberger (afreiberger) wrote :

This appeared on my cloud I was upgrading today.

It appears that the xenial-pike version of luminous still uses health.overall_status.

# ceph status -f json-pretty

{
    "fsid": "mysecret",
    "health": {
        "summary": [],
        "overall_status": "HEALTH_OK",
        "detail": []
    },

*snip*

# ceph version
ceph version 12.2.4 (52085d5249a80c5f5121a76d6288429f35e4e77b) luminous (stable)
# apt-cache policy ceph-common
ceph-common:
  Installed: 12.2.4-0ubuntu0.17.10.1~cloud0
  Candidate: 12.2.4-0ubuntu0.17.10.1~cloud0
  Version table:
 *** 12.2.4-0ubuntu0.17.10.1~cloud0 500
        500 http://ubuntu-cloud.archive.canonical.com/ubuntu xenial-updates/pike/main amd64 Packages
        100 /var/lib/dpkg/status
     10.2.11-0ubuntu0.16.04.1 500
        500 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages
     10.1.2-0ubuntu1 500
        500 http://archive.ubuntu.com/ubuntu xenial/main amd64 Packages

$ sudo /usr/local/lib/nagios/plugins/check_ceph_status.py -f /var/lib/nagios/cat-ceph-status.txt
WARNING:

Mimic (13.x) is even more interesting in that it has both variables, but overall_status shows HEALTH_WARN even when status = HEALTH_OK. This may be a holdover in the mon state database.
Mimic health output when ceph status shows health_ok:

    "health": {
        "checks": {},
        "status": "HEALTH_OK",
        "overall_status": "HEALTH_WARN"
    },

I think either we need to find out the minor subversion of ceph that contains the update to status, or change the charm to check for existence of status as an element of the health dictionary, and use it, otherwise fall back to overall_status.