Skip to content

Optionally only ping ready pods #155

@paulgmiller

Description

@paulgmiller

Is your feature request related to a problem? Please describe.
We use goldpinger in our testing and during testing of operations that roll nodes.
During that time newly "running" pods are often no yet reachable and this makes our qos from looking at pings

Describe the solution you'd like
Optionally allow env var to say honor readiness. Sometimes this is not desired if you want to catch node failures.

Describe alternatives you've considered
Can just lower our threshold.

Or we could add readiness into GoldpingerPod object so clients can judge for themselves?

Additional context
A fun example of what this race looks like during a test.

-> % curl http://4.249.65.92:8080/check_all | jq           
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  2869    0  2869    0     0  24124      0 --:--:-- --:--:-- --:--:-- 24313
{
  "dnsResults": {
    "1.1.1.1": {
      "goldpinger-deploy-6dd586b75b-2dscs": {},
      "goldpinger-deploy-6dd586b75b-mfsz4": {},
      "goldpinger-deploy-6dd586b75b-sm56l": {}
    },
    "8.8.8.8": {
      "goldpinger-deploy-6dd586b75b-2dscs": {},
      "goldpinger-deploy-6dd586b75b-mfsz4": {},
      "goldpinger-deploy-6dd586b75b-sm56l": {}
    },
    "www.bing.com": {
      "goldpinger-deploy-6dd586b75b-2dscs": {
        "response-time-ms": 32
      },
      "goldpinger-deploy-6dd586b75b-mfsz4": {
        "response-time-ms": 24
      },
      "goldpinger-deploy-6dd586b75b-sm56l": {
        "response-time-ms": 33
      }
    }
  },
  "hosts": [
    {
      "hostIP": "10.224.0.6",
      "podIP": "10.244.2.47",
      "podName": "goldpinger-deploy-6dd586b75b-mfsz4"
    },
    {
      "hostIP": "10.224.0.4",
      "podIP": "10.244.0.44",
      "podName": "goldpinger-deploy-6dd586b75b-2dscs"
    },
    {
      "hostIP": "10.224.0.4",
      "podIP": "10.244.0.202",
      "podName": "goldpinger-deploy-6dd586b75b-sm56l"
    }
  ],
  "responses": {
    "goldpinger-deploy-6dd586b75b-2dscs": {
      "HostIP": "10.224.0.4",
      "OK": true,
      "PodIP": "10.244.0.44",
      "response": {
        "dnsResults": {
          "1.1.1.1": {},
          "8.8.8.8": {},
          "www.bing.com": {
            "response-time-ms": 32
          }
        },
        "podResults": {
          "goldpinger-deploy-6dd586b75b-2dscs": {
            "HostIP": "10.224.0.4",
            "OK": true,
            "PingTime": "2025-09-29T16:51:22.726Z",
            "PodIP": "10.244.0.44",
            "response": {
              "boot_time": "2025-09-29T16:47:49.428Z"
            },
            "status-code": 200
          },
          "goldpinger-deploy-6dd586b75b-sm56l": {
            "HostIP": "10.224.0.4",
            "OK": true,
            "PingTime": "2025-09-29T16:51:38.244Z",
            "PodIP": "10.244.0.202",
            "response": {
              "boot_time": "2025-09-29T16:47:49.441Z"
            },
            "status-code": 200
          },
          "goldpinger-deploy-6dd586b75b-wh2lc": {
            "HostIP": "10.224.0.7",
            "OK": true,
            "PingTime": "2025-09-29T16:51:30.070Z",
            "PodIP": "10.244.3.92",
            "response": {
              "boot_time": "2025-09-29T16:40:10.404Z"
            },
            "response-time-ms": 3,
            "status-code": 200
          }
        }
      }
    },
    "goldpinger-deploy-6dd586b75b-mfsz4": {
      "HostIP": "10.224.0.6",
      "OK": true,
      "PodIP": "10.244.2.47",
      "response": {
        "dnsResults": {
          "1.1.1.1": {},
          "8.8.8.8": {},
          "www.bing.com": {
            "response-time-ms": 24
          }
        },
        "podResults": {
          "goldpinger-deploy-6dd586b75b-mfsz4": {
            "HostIP": "10.224.0.6",
            "OK": false,
            "PingTime": "2025-09-29T16:51:44.988Z",
            "error": "Host or pod IP empty, can't make a call",
            "status-code": 500
          }
        }
      }
    },
    "goldpinger-deploy-6dd586b75b-sm56l": {
      "HostIP": "10.224.0.4",
      "OK": true,
      "PodIP": "10.244.0.202",
      "response": {
        "dnsResults": {
          "1.1.1.1": {},
          "8.8.8.8": {},
          "www.bing.com": {
            "response-time-ms": 33
          }
        },
        "podResults": {
          "goldpinger-deploy-6dd586b75b-2dscs": {
            "HostIP": "10.224.0.4",
            "OK": true,
            "PingTime": "2025-09-29T16:51:22.733Z",
            "PodIP": "10.244.0.44",
            "response": {
              "boot_time": "2025-09-29T16:47:49.428Z"
            },
            "status-code": 200
          },
          "goldpinger-deploy-6dd586b75b-sm56l": {
            "HostIP": "10.224.0.4",
            "OK": true,
            "PingTime": "2025-09-29T16:51:37.678Z",
            "PodIP": "10.244.0.202",
            "response": {
              "boot_time": "2025-09-29T16:47:49.441Z"
            },
            "status-code": 200
          },
          "goldpinger-deploy-6dd586b75b-wh2lc": {
            "HostIP": "10.224.0.7",
            "OK": false,
            "PingTime": "2025-09-29T16:51:41.898Z",
            "PodIP": "10.244.3.92",
            "error": "Get \"http://10.244.3.92:8080/ping\": dial tcp 10.244.3.92:8080: connect: connection refused",
            "response-time-ms": 1,
            "status-code": 504
          }
        }
      }
    }
  }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions