Spinnaker webhook 阶段不允许超过 5 分钟的超时

Spinnaker webhook stage does not allow timeouts longer than 5 minutes

我已经设置了一个具有运行状况检查阶段的管道。这是一个 webhook 阶段,将命中自定义服务器中的端点。此服务器将检查已部署应用程序的健康状况,return 如果准备就绪则为 200,否则为 500。

该阶段当前有 10 分钟的超时时间,并在执行选项中按此值配置: timeout configuration 也可以描述为 json with:

  "overrideTimeout": true,
  "stageTimeoutMs": 600000, // 10 minutes

但是该阶段仍然在 5 分钟内失败(加上 1 到 9 秒,我认为这是重试所需的时间)。

如果我将该 stageTimeoutMs 降低到小于 300000(小于 5 分钟)它会按预期工作,但增加它不会。是否有任何其他需要全局配置以允许 webhook 阶段超过 5 分钟?

顺便说一句,管道本身可以在这之后继续(证明它不是管道超时,而是这个阶段),手动判断阶段(和其他一些类型)可以愉快地超过 5 分钟,只是 webhooks 失败。

我目前正在使用 Spinnaker 1.19.13

看起来像 500,因为对 webhook 端点的响应会导致它卡在“创建 Webhook”任务中,该任务似乎确实将超时硬编码为 5 分钟。通过将我的端点更改为 return 一个 202 和 $.status(statusJsonPath)上一个有意义的字符串,我能够让它通过“Create Webhook”任务并启动“Monitor Webhook”任务,它可以它的超时被覆盖。

我认为这表明缺少文档并且 Spinnaker 方面的行为不是很直观,但解决方案看起来并不复杂。如果人们在那里面临类似的问题,希望这对您有所帮助。