KongIngress Upstream unhealthy.interval value not reflecting

Hello Everyone,

It is regarding Kong Ingress controller and upstream configuration for healthchecks- healthy/unhealthy stats.
During initial testing it is observed that upstream field unhealthy-interval is always 0 (i.e. healthchecks.active.unhealthy.interval ref: https://docs.konghq.com/1.3.x/admin-api/#create-upstream) when configured via declarative approach (i.e. Kong IC).
It is observed that similar fixes are made at https://github.com/hbagdi/go-kong/pull/7

As a work around we can follow below approach/steps:

  1. create upstreams via declarative approach (Kong IC)
  2. update healthchecks.active.unhealthy.interval field (integer >=1 ) via kong-admin-api

Kindly suggest whether this is a right approach till we get a fix. Also help to understand whether this change is released in Kong-1.3 or planned to be released in future?

# FYI K8s deployment version:
  Kong: 1.2
  Kong Ingress Controller: 0.50

## Ref upstream fields form KongIC; Actual upstream configurations via kong-Ingress resource 
  upstream:
    hash_fallback: none
    hash_on: none
    healthchecks:
      active:
        concurrency: 10
        healthy:
          http_statuses:
          - 200
          interval: 5
          successes: 5
        http_path: /health
        timeout: 1
        unhealthy:
          http_failures: 5
          http_statuses:
          - 500
          interval: 2
          tcp_failures: 5
          timeouts: 5
### Ref upstream fields form Kong admin API;  details of '<<admin-api>>/upstream' configs via kong-manager admin api
{
    "healthchecks": {
        "active": {
            "unhealthy": {
                "http_statuses": [
                    500
                ],
                "tcp_failures": 5,
                "timeouts": 5,
                "http_failures": 5,
                "interval": 0
            },
            "type": "http",
            "http_path": "/health",
            "timeout": 1,
            "healthy": {
                "successes": 5,
                "interval": 5,
                "http_statuses": [
                    200
                ]
            },
            "concurrency": 10
        }
    }
}

Thanks,
Nitesh

Hello Nitesh,

Welcome to Kong Nation!

Indeed. You are running into: healthchecks.active.unhealthy.interval field is missing from the usptream · Issue #6 · hbagdi/go-kong · GitHub which the above PR fixes.
Ingress Controller 0.6 will include that fix and is set to be released next month.

Hi Harry,
Thank you for warm welcome and quick updates… :slight_smile: